Использование Mayavi points3d и использование куба для построения изображения. Есть ли способ повернуть куб в определенную ориентацию во время сюжета?
mlab.figure(2)
mlab.points3d(GrainsFile[:,6],GrainsFile[:,7],GrainsFile[:,8],GrainsFile[:,11])
Использование Mayavi points3d и использование куба для построения изображения. Есть ли способ повернуть куб в определенную ориентацию во время сюжета?
mlab.figure(2)
mlab.points3d(GrainsFile[:,6],GrainsFile[:,7],GrainsFile[:,8],GrainsFile[:,11])
Мне пришлось искать код Mayavi для этого. Как только я обнаружил, что эти кубы являются GlyphSource
, я обнаружил некоторую операцию преобразования в одном из его методов:
import numpy
from mayavi import mlab
def test_points3d():
t = numpy.linspace(0, 4 * numpy.pi, 20)
x = numpy.sin(2 * t)
y = numpy.cos(t)
z = numpy.cos(2 * t)
s = 2 + numpy.sin(t)
points = mlab.points3d(x, y, z, s, colormap="viridis", scale_factor=.25,
mode='cube')
# rotate 45° on Z
points.glyph.glyph_source._trfm.transform.rotate_z(45)
test_points3d()
points3d()
, так как код написан на предпосылке, что вы используете один объект GlyphSource (определение). Я бы порекомендовал поэкспериментировать с quiver3d()
, пока не получите удовлетворительные результаты (хотя я не думаю, что вы сможете получить точно то, что запрашиваете)
- person Felipe Lema; 25.03.2019