问题描述
我需要用python中的体素制作一个椭圆体,但我仍然不完全了解如何定义该图的边界。我已经看到了一些使用布尔操作定义体素的示例,但我无法使其按照我想要的方式工作。任何帮助将不胜感激。
这是我一直在尝试的:
import matplotlib.pyplot as plt
import numpy as np
from mpl_toolkits.mplot3d import Axes3D
from mpl_toolkits.mplot3d.art3d import Poly3DCollection
fig = plt.figure()
ax = fig.add_subplot(111,projection='3d')
# the angles and radius
u = np.linspace(0,2 * np.pi,100)
v = np.linspace(0,np.pi,100)
radius = 4
# equations for the shell of the ellipsoid
X = 3*radius*np.sin(v)*np.cos(u)
Y = 2*radius*np.sin(v)*np.sin(u)
Z = radius*np.cos(v)
x,y,z = np.indices((10,10,10))
voxels = (x <= X) | (y <= Y) | (z <= Z)
ax.voxels(voxels)
plt.show()
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-12-f0d9033151c5> in <module>
14
15 x,10))
---> 16 voxels = (x <= X) | (y <= Y) | (z <= Z)
17 ax.voxels(voxels)
18
ValueError: operands could not be broadcast together with shapes (10,10) (100,)
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)