回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我有6个点,它们都位于球面上,是八面体的顶点。我怎样才能在三维坐标轴上画出这个球体内的八面体的表面?在</p>
<p>我有以下代码,但它没有实现我希望的效果:</p>
<pre><code>from mpl_toolkits.mplot3d import Axes3D
from mpl_toolkits.mplot3d.art3d import Poly3DCollection
import matplotlib.pyplot as plt
Points=[[ 0.17770898, 0.72315927, 0.66742804],
[-0.65327074, -0.4196453 , 0.63018661],
[ 0.65382635, 0.42081934, -0.62882604],
[-0.17907021, -0.72084723, -0.66956189],
[-0.73452809, 0.5495376 , -0.39809158],
[ 0.73451554, -0.55094017, 0.39617148]]
fig=plt.figure()
ax =fig.add_subplot(1, 1, 1, projection='3d', aspect=1)
ax.add_collection3d(Poly3DCollection([Points]))
u = np.linspace(0, np.pi, 30)
v = np.linspace(0, 2 * np.pi, 30)
x = np.outer(np.sin(u), np.sin(v))
y = np.outer(np.sin(u), np.cos(v))
z = np.outer(np.cos(u), np.ones_like(v))
ax.plot_wireframe(x, y, z, alpha=0.3)
plt.show()
</code></pre>
<p>谢谢你的帮助。在</p>