Можно ли построить неявное уравнение 3d с помощью sympy?

Есть ли способ построить 3-переменное неявное уравнение с помощью sympy . Идя по документам, он поддерживает только неявные 2d-графики. Или есть другие варианты построения 3D-графика с использованием python, где уравнение может быть входом от пользователя

Я передаю свой комментарий в ответ. Я предлагаю использовать mayavi и contour3d для выполнения этой задачи. Вы всегда можете переписать свою неявную функцию как f(x,y,z)=0 . Для сферы имеем x^2 + y^2 + z^2 = r^2 , которая может быть переписана как f(x,y,z) = x^2 + y^2 + z^2 - r^2 = 0 .

Ниже приведены некоторые примеры

 import numpy as np from mayavi import mlab mlab.clf() x, y, z = np.mgrid[-3:3:50j, -3:3:50j, -3:3:50j] # Plot a sphere of radius 1 values = x*x + y*y + z*z - np.sqrt(3) mlab.contour3d(x, y, z, values, contours=[0]) mlab.axes() # Plot a torus R = 2 r = 1 values = (R - np.sqrt(x**2 + y**2))**2 + z**2 - r**2 mlab.figure() mlab.contour3d(x, y, z, values, contours=[0]) mlab.axes() # Plot a Scherk's second surface x, y, z = np.mgrid[-4:4:100j, -4:4:100j, -8:8:100j] values = np.sin(z) - np.sinh(x)*np.sinh(y) mlab.figure() mlab.contour3d(x, y, z, values, contours=[0]) mlab.axes() mlab.show() 

Это дает результаты

сфера: Сфера, построенная с помощью майяви

Torus: Торус с майяви

Вторая поверхность Шерка: Вторая поверхность Шерка нанесена на майяви