Я использую MayaVI для построения поверхности и векторного поля в 3D, с функциями mayavi.mlab.surf и mayavi.mlab.quiver3D. Эти функции не имеют много ключевых аргументов, которые позволяют мне изменять внешний вид поверхности и колчанов, по сравнению с конвейером Mayavi, где я могу редактировать вещи до мельчайших деталей (например, радиус головки стрелки колчана - см. Пример на рисунке ниже). ). Проблема заключается в том, что после внесения этих изменений в конвейер mayaVI, кажется, нет возможности сохранить эти настройки до следующего раза, когда я захочу перерисовать рисунок.
Меня особенно интересует редактирование свойств контура поверхности и свойств источника глифов векторов (радиус вала, радиус наконечника, длина наконечника).
Вопрос: Есть ли простой способ сохранить настройки конвейера Mayavi до следующего раза или отредактировать их непосредственно в моем скрипте Python (т.е. без использования пользовательского интерфейса)?
Пример:
Код:
#!/usr/bin/env python
import numpy as np
from mayavi import mlab
xmax = 2.0*np.pi
x, y, z = np.mgrid[-xmax:xmax:25j, -xmax:xmax:25j, -xmax:xmax:1j]
v_x = np.sin(x)*np.cos(y)
v_y = np.cos(x)*np.sin(y)
v_z = np.zeros_like(z)
v_abs = np.sqrt(v_x**2 + v_y**2) # scalar field
surf = mlab.surf( x[:,:,0], y[:,:,0], v_abs[:,:,0], colormap='magma' )
obj_j = mlab.quiver3d( x[:,:,0], y[:,:,0], z[:,:,-1], v_x[:,:,0], v_y[:,:,0], v_z[:,:,0], mode='arrow')
mlab.show()