这是一个用mayavi生成随机大小球体的代码
我想让球体通过表面或键合线相互连接:
from mayavi import mlab
import numpy as np
[phi,theta] = np.mgrid[0:2*np.pi:12j,0:np.pi:12j]
x = np.cos(phi)*np.sin(theta)
y = np.sin(phi)*np.sin(theta)
z = np.cos(theta)
def plot_sphere(p):
r,a,b,c = p
r=1
return mlab.mesh(r*x+a, r*y+b, r*z )
for k in range(8):
c = np.random.rand(4)
c[0] /= 10.
plot_sphere(c)
mlab.show()
从球体方程:
因此,当将参数传递给
mlab.mesh
时,我们希望为每个球体设置[x_0, y_0, z_0]
,因为它们位于轴的不同位置问题是
np.random.rand(4)
生成的数字是随机的,但不是不同的让我们进行修改,使参数
[x_0, y_0, z_0]
是随机且不同的:sample
在多维数据集中获得不同的索引号index_to_3d
将索引转换为(x, y, z)
坐标半径
r
可以调整为球体之间有更多或更少的间距三维空间中的球体
代码:
输出:
球体簇
让我们利用^{} 为簇点创建坐标
代码:
输出:
相关问题 更多 >
编程相关推荐