Python 3D可视化(一)
本篇目录:
一、写在前面的话
定 风 波
作者:北宋苏轼
莫听穿林打叶声,何妨吟啸且徐行。
竹杖芒鞋轻胜马,谁怕?
一蓑烟雨任平生。
料峭春风吹酒醒,微冷,山头斜照却相迎。
回首向来萧瑟处,归去,也无风雨也无晴。
此词为苏轼醉归遇雨抒怀之作,借雨中潇洒徐行之举动,表现了虽身处逆境,屡遭挫折而不畏惧、不颓丧的倔强性格和旷达胸怀。
释迦牟尼佛说过:“无论你遇见谁,他都是你生命该出现的人,绝非偶然,他一定会教会你一些什么”。有的人缘分很深很深,遇到就再也没有离去,或成为一生患难与共的知己;有的缘分很浅很浅,只够一个擦肩而过,你最多记住了那抹衣色。
“水不试,不知深浅;人不交,不知好坏。”世界上再长的距离也能依靠工具测量出来,但是人心却难测,坏人不可怕,但是伪装成好人的坏人才可怕。
“时间识人,落难识心”,事不出,不知谁近谁远。利不尽,不知谁聚谁散。世事难料,当我们遇到了困境,一切都会显露出原本的事实真相,好也罢,坏也罢,这些都是现实教会你的东西。
遇到困境中能给予你温暖和勇气的有缘人(友缘、亲缘)就好好珍惜,不要成为遗憾;其他的无缘之人之事也不必太过纠结,世间常态,无惊喜而已,最后好好看一眼,总结一下这其中学到东西,松开手,让一切随风而去,不要回头,也没必要指责别人,人生选择的道路不同而已。
逆境清醒
2023.4.8
二、简介
Python 3D可视化的方法很多 ,其中PyVista是其中一种不错的模块。
PyVista通过NumPy和直接数组访问与VTK进行接口。这个包提供了一个python化的良好的接口,展示了强大的可视化后端,以方便对空间引用的数据集进行快速原型化、分析和可视化集成。该模块可用于演示文稿和研究论文的科学绘图,以及其他依赖网格的Python模块的支持模块。
三、环境安装
安装配置好python开发环境后,
同时按window+R键,输入cmd,打开命令提示符窗口,输入:
- pip install pyvista
四、python 3D实例集锦
(1)、圆柱体
代码运行效果图:
完整源代码:
import pyvista as pv
cyl = pv.Cylinder()
p = pv.Plotter()
p.add_mesh(cyl, color="tan", show_edges=True)
p.show()
(2)、箭头
代码运行效果图:
动态图:
完整源代码:
import pyvista as pv
arrow = pv.Arrow()
p = pv.Plotter()
p.add_mesh(arrow, color="tan", show_edges=True)
p.show()
(3)、球形
代码运行效果图:
动态图:
完整源代码:
import pyvista as pv
sphere = pv.Sphere()
p = pv.Plotter()
p.add_mesh(sphere, color="tan", show_edges=True)
p.show()
(4)、平面
代码运行效果图:
动态图:
完整源代码:
import pyvista as pv
plane = pv.Plane()
p = pv.Plotter()
p.add_mesh(plane, color="tan", show_edges=True)
p.show()
(5)、线型
代码运行效果图:
动态图:
完整源代码:
import pyvista as pv
line = pv.Line()
p = pv.Plotter()
p.add_mesh(line, color="tan", line_width=3)
p.show()
(6)、立方体
代码运行效果图:
动态图:
完整源代码:
import pyvista as pv
box = pv.Box()
p = pv.Plotter()
p.add_mesh(box, color="tan", show_edges=True)
p.show()
(7)、圆锥体
代码运行效果图:
动态图:
完整源代码:
import pyvista as pv
cone = pv.Cone()
p = pv.Plotter()
p.add_mesh(cone, color="tan", show_edges=True)
p.show()
(8)、六边形
代码运行效果图:
动态图:
完整源代码:
import pyvista as pv
poly = pv.Polygon()
p = pv.Plotter()
p.add_mesh(poly, color="tan", show_edges=True)
p.show()
(9)、空心六边形
代码运行效果图:
动态图:
完整源代码:
import pyvista as pv
disc = pv.Disc()
p = pv.Plotter()
p.add_mesh(disc, color="tan", show_edges=True)
p.show()
(10)、茶壶
代码运行效果图:
动态图:
完整源代码:
import pyvista as pv
from pyvista import examples
mesh = examples.download_teapot()
mesh.plot(cpos=[-1, 2, -5], show_edges=True)
mesh.plot(cpos=cpos, show_edges=True, color=True)
(11)、兔子
代码运行效果图:
动态图:
完整源代码:
import pyvista as pv
from pyvista import examples
mesh = examples.download_bunny_coarse()
cpos = [(0.2, 0.3, 0.9), (0, 0, 0), (0, 1, 0)]
mesh.plot(cpos=cpos, show_edges=True, color=True)
(12)、飞机
代码运行效果图:
动态图:
完整源代码:
import pyvista as pv
from pyvista import examples
filename = examples.planefile
filename
mesh = pv.read(filename)
cpos = mesh.plot()
其他一些效果图,更多python 3D代码下期更新。
五、总结
本文介绍了12种python 3D 基础实例(附完整源代码)。
推荐阅读:
计算机视觉__基本图像操作(显示、读取、保存) | 直方图(颜色直方图、灰度直方图) | 直方图均衡化(调节图像亮度、对比度) |