0

すべてがタイトルにあります。球の表面にグリッドを作成したいと思います。それほど難しいことではありませんが、それがすでに存在するかどうかはわかりませんか?

たとえば、私はそれをしました:

import scipy as sp
from scipy import pi, cos, sin

d = 1.0

for theta in sp.linspace(0, pi, 20, endpoint = False):
    for phi in sp.linspace(0, 2. * pi, 20, endpoint = False):
        x = d * sin(theta) * cos(phi)
        y = d * sin(theta) * sin(phi)
        z = d * cos(theta)

ありがとう

4

1 に答える 1

2

これを行うために利用できるものはないと思います。ただし、Pythonループを取り除くことはできます。これにより、ポイント数が増えると、おそらくかなりスピードアップします。

theta = numpy.linspace(0, numpy.pi, 20, endpoint=False)
phi = numpy.linspace(0, 2 * numpy.pi, 20, endpoint=False)
theta, phi = numpy.meshgrid(theta, phi)
d = 1.0
x = d * numpy.sin(theta) * numpy.cos(phi)
y = d * numpy.sin(theta) * numpy.sin(phi)
z = d * numpy.cos(theta)
于 2012-06-20T15:34:52.180 に答える