3

Pythonを使用して、1つのプロットで球と楕円の束を生成するにはどうすればよいですか?理想的には、端点を使用して長方形/円を簡単に生成する方法のように、各オブジェクトの端点(または半径/軸)と色を設定するだけです。

matplotlibの3Dモジュールのようなものを使用することを想像していました。このモジュールでは、出力されたプロットを回転して再生できます。私は他のライブラリを使用することもできます!

楕円体方程式の束を操作してグラフ化することで、方程式を表面としてプロットすることもできますが、もっと簡単な解決策はありますか?

4

2 に答える 2

3

VPythonは、画面上にいくつかの球体と楕円体を取得するための最も簡単な方法かもしれません。また、VPython は matplotlib よりもはるかにインタラクティブであり (回転、ズームなどができるという意味で)、開始するのは非常に簡単です。結局、それはあなたが探しているものに依存します。画面上に球体と楕円体を表示する方法はたくさんあります。

from visual import *
myell = ellipsoid(pos=(x0,y0,z0), length=L, height=H, width=W) 

ここに画像の説明を入力

ball = sphere(pos=(1,2,1), radius=0.5)

ここに画像の説明を入力

于 2013-03-15T03:11:00.830 に答える
1

matplotlibmpl_toolkits.mplot3dモジュールに含まれていない機能をお探しですか? 3D サーフェスのデモから:

from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt
import numpy as np

fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')

u = np.linspace(0, 2 * np.pi, 100)
v = np.linspace(0, np.pi, 100)

x = 10 * np.outer(np.cos(u), np.sin(v))
y = 10 * np.outer(np.sin(u), np.sin(v))
z = 10 * np.outer(np.ones(np.size(u)), np.cos(v))
ax.plot_surface(x, y, z, rstride=4, cstride=4, color='b')

plt.show()

同じフィールドで別の形状を定義できなかった理由はわかりません。

from mpl_toolkits.mplot3d import Axes3D
from matplotlib import cm
import matplotlib.pyplot as plt
import numpy as np

fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')

u = np.linspace(0, 2 * np.pi, 100)
v = np.linspace(0, np.pi, 100)

x = 10 * np.outer(np.cos(u), np.sin(v))
y = 10 * np.outer(np.sin(u), np.sin(v))
z = 10 * np.outer(np.ones(np.size(u)), np.cos(v))
x1 = 7 + 10 * np.outer(np.cos(u), np.sin(v))
y1 = 7 + 10 * np.outer(np.sin(u), np.sin(v))
z1 = 7 + 10 * np.outer(np.ones(np.size(u)), np.cos(v))

ax.plot_surface(x, y, z, rstride=4, cstride=4, color='b')
ax.plot_surface(x1, y1, z1, rstride=4, cstride=4, cmap=cm.coolwarm)

plt.show()
于 2013-03-15T03:03:55.570 に答える