4

vertices3D の球面多角形の N 個の頂点を含む形状 (N,3) の数の多い配列があります。つまり、これらの点はすべて球面上にあります。球の中心と半径は既知です (単位球を例にとります)。これらの頂点に囲まれた球面多角形をプロットしたいと思います。(数学的に言えば、これらの頂点によって生成される球面凸包をプロットしたい)。

を使用してそれを行うにはどうすればよい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