Xoay điểm trăn đám mây

Chuyển động quay của lưới quanh các trục của nó. Trong mô hình này, trục x từ trái sang phải; . Vị trí máy ảnh giống nhau trong cả bốn hình ảnh

import pyvista as pv
from pyvista import examples

Xác định máy ảnh và trục

Xác định máy ảnh và trục. Đặt điểm gốc của trục thành (3.0, 3.0, 3.0)

mesh = examples.download_cow()
mesh.points /= 1.5  # scale the mesh

camera = pv.Camera()
camera.position = (30.0, 30.0, 30.0)
camera.focal_point = (5.0, 5.0, 5.0)

axes = pv.Axes(show_actor=True, actor_scale=2.0, line_width=5)
axes.origin = (3.0, 3.0, 3.0)

Lưới gốc

Vẽ lưới ban đầu. Thêm diễn viên trục vào Plotter

p = pv.Plotter()

p.add_text("Mesh", font_size=24)
p.add_actor(axes.actor)
p.camera = camera
p.add_mesh(mesh)

p.show()

Xoay điểm trăn đám mây

Xoay quanh trục x

Vẽ lưới xoay quanh trục x mỗi 60 độ. Thêm diễn viên trục vào Plotter và đặt gốc trục thành điểm xoay

p = pv.Plotter()

p.add_text("X-Axis Rotation", font_size=24)
p.add_actor(axes.actor)
p.camera = camera

for i in range(6):
    rot = mesh.rotate_x(60 * i, point=axes.origin, inplace=False)
    p.add_mesh(rot)

p.show()

Xoay điểm trăn đám mây

Xoay quanh trục y

Vẽ lưới xoay quanh trục y mỗi 60 độ. Thêm diễn viên trục vào Plotter và đặt gốc trục thành điểm xoay

p = pv.Plotter()

p.add_text("Y-Axis Rotation", font_size=24)
p.camera = camera
p.add_actor(axes.actor)

for i in range(6):
    rot = mesh.rotate_y(60 * i, point=axes.origin, inplace=False)
    p.add_mesh(rot)

p.show()

Xoay điểm trăn đám mây

Xoay quanh trục z

Vẽ lưới xoay quanh trục z cứ sau 60 độ. Thêm diễn viên trục vào Plotter và đặt gốc trục thành điểm xoay

p = pv.Plotter()

p.add_text("Z-Axis Rotation", font_size=24)
p.camera = camera
p.add_actor(axes.actor)

for i in range(6):
    rot = mesh.rotate_z(60 * i, point=axes.origin, inplace=False)
    p.add_mesh(rot)

p.show()

Xoay điểm trăn đám mây

Xoay quanh một vectơ tùy chỉnh

Vẽ lưới xoay quanh một vectơ tùy chỉnh cứ sau 60 độ. Thêm diễn viên trục vào Plotter và đặt trục gốc thành điểm xoay