写一份粒子光树的python代码
时间: 2023-12-01 11:35:04 浏览: 135
当然,我可以帮你写一份粒子光树的 Python 代码。下面是一个简单的示例:
```python
import numpy as np
import matplotlib.pyplot as plt
def particle_tree(n, max_depth, branch_prob, angle_range):
if max_depth == 0:
return
# 生成粒子的位置和角度
x = np.random.uniform(-1, 1)
y = np.random.uniform(-1, 1)
angle = np.random.uniform(*angle_range)
# 计算粒子的下一个位置
dx = np.cos(angle)
dy = np.sin(angle)
# 绘制粒子
plt.plot([x, x+dx], [y, y+dy], color='black')
# 生成分支
if np.random.random() < branch_prob:
num_branches = np.random.randint(2, 5)
for _ in range(num_branches):
new_angle_range = (angle - np.pi/4, angle + np.pi/4)
particle_tree(n-1, max_depth-1, branch_prob, new_angle_range)
# 参数设置
n = 100 # 粒子数量
max_depth = 5 # 最大深度
branch_prob = 0.8 # 分支概率
angle_range = (0, 2*np.pi) # 角度范围
# 绘制粒子光树
fig, ax = plt.subplots(figsize=(6,6))
ax.set_xlim([-1.2, 1.2])
ax.set_ylim([-1.2, 1.2])
ax.axis('off')
for _ in range(n):
particle_tree(n, max_depth, branch_prob, angle_range)
plt.show()
```
上述代码使用了 numpy 和 matplotlib 库来生成并绘制粒子光树。你可以根据需要调整参数来获得不同的效果。希望对你有所帮助!
阅读全文