如何用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()
但我没有得到椭圆体的一部分。如果我使用参数化和网格,那么它没关系,但不知道如何隐式地绘制它。
答案 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()