import numpy as np
from mayavi import mlab
x, y, z = np.ogrid[-10:10:20j, -10:10:20j, -10:10:20j]
s = np.sin(x*y*z)/(x*y*z)
mlab.contour3d(s)
mlab.show()
import numpy as np
from mayavi import mlab
x, y, z = np.ogrid[-10:10:20j, -10:10:20j, -10:10:20j]
s = np.sin(x*y*z)/(x*y*z)
mlab.pipeline.image_plane_widget(mlab.pipeline.scalar_field(s), # 数据的标量数据场
plane_orientation='x_axes', # 切平面的方向
slice_index=10
)
mlab.pipeline.image_plane_widget(mlab.pipeline.scalar_field(s),
plane_orientation='y_axes',
slice_index=10
)
mlab.outline()
mlab.show()
import numpy as np
from mayavi import mlab
x, y, z = np.ogrid[-10:10:20j, -10:10:20j, -10:10:20j]
s = np.sin(x * y * z) / (x * y * z)
src = mlab.pipeline.scalar_field(s)
mlab.pipeline.iso_surface(src, contours=[s.min() + 0.1 * s.ptp(), ], opacity=0.1)
mlab.pipeline.iso_surface(src, contours=[s.max() - 0.1 * s.ptp(), ])
mlab.pipeline.image_plane_widget(src,
plane_orientation='z_axes',
slice_index=10,
)
mlab.show()
import numpy as np
from mayavi import mlab
x, y, z = np.mgrid[0:1:20j, 0:1:20j, 0:1:20j]
u = np.sin(np.pi * x) * np.cos(np.pi * z)
v = -2 * np.sin(np.pi * y) * np.cos(2 * np.pi * z)
w = np.cos(np.pi * x) * np.sin(np.pi * z) + np.cos(np.pi * y) * np.sin(2 * np.pi * z)
mlab.quiver3d(u, v, w)
mlab.outline()
mlab.show()
import numpy as np
from mayavi import mlab
x, y, z = np.mgrid[0:1:20j, 0:1:20j, 0:1:20j]
u = np.sin(np.pi * x) * np.cos(np.pi * z)
v = -2 * np.sin(np.pi * y) * np.cos(2 * np.pi * z)
w = np.cos(np.pi * x) * np.sin(np.pi * z) + np.cos(np.pi * y) * np.sin(2 * np.pi * z)
src = mlab.pipeline.vector_field(u, v, w)
mlab.pipeline.vectors(src,
mask_points=10, # 每10个点取一个点
scale_factor=2.0 # 放缩比例
)
mlab.show()
import numpy as np
from mayavi import mlab
x, y, z = np.mgrid[0:1:20j, 0:1:20j, 0:1:20j]
u = np.sin(np.pi * x) * np.cos(np.pi * z)
v = -2 * np.sin(np.pi * y) * np.cos(2 * np.pi * z)
w = np.cos(np.pi * x) * np.sin(np.pi * z) + np.cos(np.pi * y) * np.sin(2 * np.pi * z)
src = mlab.pipeline.vector_field(u, v, w)
mlab.pipeline.vector_cut_plane(src,
mask_points=10, # 每10个点取一个点
scale_factor=2.0 # 放缩比例
)
mlab.show()
Mac上闪退……
Process finished with exit code 139 (interrupted by signal 11: SIGSEGV)
import numpy as np
from mayavi import mlab
x, y, z = np.mgrid[0:1:20j, 0:1:20j, 0:1:20j]
u = np.sin(np.pi * x) * np.cos(np.pi * z)
v = -2 * np.sin(np.pi * y) * np.cos(2 * np.pi * z)
w = np.cos(np.pi * x) * np.sin(np.pi * z) + np.cos(np.pi * y) * np.sin(2 * np.pi * z)
src = mlab.pipeline.vector_field(u, v, w)
magnitude = mlab.pipeline.extract_vector_norm(src)
mlab.pipeline.iso_surface(magnitude, contours=[2.0, 0.5])
mlab.outline()
mlab.show()
import numpy as np
from mayavi import mlab
x, y, z = np.mgrid[0:1:20j, 0:1:20j, 0:1:20j]
u = np.sin(np.pi * x) * np.cos(np.pi * z)
v = -2 * np.sin(np.pi * y) * np.cos(2 * np.pi * z)
w = np.cos(np.pi * x) * np.sin(np.pi * z) + np.cos(np.pi * y) * np.sin(2 * np.pi * z)
flow = mlab.flow(u, v, w, seed_scale=1,
seed_resolution=5,
integration_direction='both' # 'forword' 'backword' 'both'
)
mlab.outline()
mlab.show()
import numpy as np
from mayavi import mlab
x, y, z = np.mgrid[0:1:20j, 0:1:20j, 0:1:20j]
u = np.sin(np.pi * x) * np.cos(np.pi * z)
v = -2 * np.sin(np.pi * y) * np.cos(2 * np.pi * z)
w = np.cos(np.pi * x) * np.sin(np.pi * z) + np.cos(np.pi * y) * np.sin(2 * np.pi * z)
src = mlab.pipeline.vector_field(u, v, w)
magnitude = mlab.pipeline.extract_vector_norm(src)
iso = mlab.pipeline.iso_surface(magnitude, contours=[2.0, ], opacity=0.3)
vec = mlab.pipeline.vectors(magnitude, mask_points=40,
line_width=1,
color=(0.8, 0.8, 0.8),
scale_factor=4.)
flow = mlab.pipeline.streamline(magnitude, seedtype='plane',
seed_visible=False,
seed_scale=0.5,
seed_resolution=1,
linetype='ribbon')
vcp = mlab.pipeline.vector_cut_plane(magnitude, mask_points=2,
scale_factor=4,
colormap='jet',
plane_orientation='x_axes')
mlab.outline()
mlab.show()
在Mac上仍然由于vector_cut_plane
导致闪退。