У меня есть проект, в котором я хотел бы отобразить результаты некоторых манипуляций SymPy с mayavi. В частности, я хотел бы использовать какую-нибудь функцию в contour3d
. Вот что я придумал, но это не работает
#!/usr/bin/env python2
from sympy import *
from mayavi.mlab import *
from functools import partial
import numpy as np
def XYZ(f, xp, yp, zp):
return f.evalf(subs={x:xp,y:yp,z:zp})
x, y, z = symbols('x y z')
r=x**2+y**2+z**2
F=partial(XYZ, r)
X, Y, Z = np.mgrid[-3:3:50j, -3:3:50j, -3:3:50j]
obj=contour3d(X, Y, Z, F)
Однако появляются две ошибки (обе от sympify)
1.) Как написано, ошибка
ValueError: sequence too large; must be smaller than 32
2.) Уменьшение количества точек (до 10 в каждую сторону)
ValueError: negative dimensions are not allowed
Есть мысли о том, как заставить что-то подобное работать? Я думаю, эти два пакета будут хорошо работать вместе.