隐式方程和Mayavi

时间:2012-11-26 11:20:40

标签: python mayavi

如何用Mayavi绘制隐式方程F(x,y,z)= 0?我试过

import scipy as np
x, y, z = np.mgrid[-3:3:100j, -3:3:100j, -3:3:100j]
F = x**2/3**2 + y**2/2**2 + z**2/4**2 - 1

from enthought.mayavi import mlab
mlab.contour3d(F)
mlab.show()

但我没有得到椭圆体的一部分。如果我使用参数化和网格,那么它没关系,但不知道如何隐式地绘制它。

1 个答案:

答案 0 :(得分:4)

使用contours = [0]获取表面F(x,y,z) = 0

import numpy as np
from enthought.mayavi import mlab

x, y, z = np.ogrid[-3:3:100j, -3:3:100j, -3:3:100j]
F = x**2/3**2 + y**2/2**2 + z**2/4**2 - 1
mlab.contour3d(F, contours = [0])
mlab.show()

enter image description here