欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

VTK Learning Thirty-three - pyvista Geometry

程序员文章站 2022-07-14 16:30:52
...

Geometric Objects 绘制预定义简单几何体对象

import pyvista as pv
cyl = pv.Cylinder()
arrow = pv.Arrow()
sphere = pv.Sphere()
plane = pv.Plane()
line = pv.Line()
box = pv.Box()
cone = pv.Cone()
poly = pv.Polygon()
disc = pv.Disc()
p = pv.Plotter(shape=(3, 3))
# Top row
p.subplot(0, 0)
p.add_mesh(cyl, color="tan", show_edges=True)
p.subplot(0, 1)
p.add_mesh(arrow, color="tan", show_edges=True)
p.subplot(0, 2)
p.add_mesh(sphere, color="tan", show_edges=True)
# Middle row
p.subplot(1, 0)
p.add_mesh(plane, color="tan", show_edges=True)
p.subplot(1, 1)
p.add_mesh(line, color="tan", line_width=3)
p.subplot(1, 2)
p.add_mesh(box, color="tan", show_edges=True)
# Bottom row
p.subplot(2, 0)
p.add_mesh(cone, color="tan", show_edges=True)
p.subplot(2, 1)
p.add_mesh(poly, color="tan", show_edges=True)
p.subplot(2, 2)
p.add_mesh(disc, color="tan", show_edges=True)
# Render all of them
p.show()

VTK Learning Thirty-three - pyvista Geometry

随机生成点云(100个点)

import numpy as np
import pyvista as pv

nodes = np.random.rand(100, 3)
print(nodes[0:5, :])
mesh = pv.PolyData(nodes)
mesh.plot(point_size=10, screenshot='random_nodes.png')
[[0.92260997 0.40661435 0.57888308]
 [0.5247008  0.19672089 0.16145517]
 [0.8563844  0.01669512 0.36461162]
 [0.7026067  0.91075625 0.34128197]
 [0.19480557 0.61431345 0.81374728]]

VTK Learning Thirty-three - pyvista Geometry