Неявное уравнение и Mayavi

Как построить неявное уравнение F (x, y, z) = 0 с Mayavi? я пробовал с

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()

но я не получаю часть эллипсоида. Если я использую параметризацию и сетку, то все в порядке, но я не знаю, как это сделать неявно.


person Johnny    schedule 26.11.2012    source источник


Ответы (1)


Используйте 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()

введите здесь описание изображения

person unutbu    schedule 26.11.2012