Python:如果我将x,y和z作为某些参数的函数,我如何绘制通用3D对象?

时间:2014-06-18 11:42:04

标签: python plot 3d visualization mayavi

例如,对于单位范围,有一个

x = cos(phi)sin(theta)
y = sin(phi)sin(theta)
z = cos(theta)

我想简单地绘制phi和theta分别位于[0, 2*pi][0, pi]区间的点集。

在一般情况下是否有办法执行此操作,即指定

  • x,y,z作为某些参数的函数,
  • 这些参数的范围

然后得到那个3D图?

1 个答案:

答案 0 :(得分:1)

我认为就Mayavi而言,你将永远坚持自己创建一些网格,并绘制结果数据点... 但是,使用numpy时,这确实不会太麻烦:

from numpy import pi, sin, cos, mgrid
[phi,theta] = mgrid[0:2*pi:100j,0:pi:100j]  # 100 is the amount of steps in the respective dimension
x = cos(phi)*sin(theta)
y = sin(phi)*sin(theta)
z = cos(theta)

from mayavi import mlab
s = mlab.mesh(x, y, z)
mlab.show()