4

我有一个vertices形状为 (N,3) 的 numpy 数组,其中包含 3D 球形多边形的 N 个顶点,即所有这些点都位于球体的表面上。球的中心和半径是已知的(以单位球为例)。我想绘制由这些顶点界定的球形多边形。(从数学上讲,我想绘制这些顶点生成的球形凸包)。

我怎样才能做到这一点matplotlib?我试过Poly3DCollection了,但这只会绘制欧几里得多边形。我设法使用plot_surface这样的方法绘制整个单位球体:

u = np.linspace(0, 2 * np.pi, 100)
v = np.linspace(0, np.pi, 100)
x = np.outer(np.cos(u), np.sin(v))
y = np.outer(np.sin(u), np.sin(v))
z = np.outer(np.ones(np.size(u)), np.cos(v))
ax.plot_surface(x, y, z, rstride=5, cstride=5, color='y', alpha=0.1)

我想人们可以手动计算要从中删除哪些点x, y, z,然后仍然使用plot_surface它来绘制多边形。这是正确的使用方式matplotlib还是它有另一个模块,我可以直接使用?

如果没有方便的方法可以做到这一点matplotlib,你能推荐任何其他图书馆吗?

4

0 回答 0