再发深入了解python的3D高级库pyvista
1 说明:
=====
1.1 我曾介绍过:《PyVista是一款python的可视化工具包(VTK)的高级API》,是很受喜欢的。
1.2 PyVista是VTK的python高级API,国内基本没有介绍和教程。
1.3 PyVista比VTK、pyqt5和pyside2都简单,所以,有必要再次深入介绍。
2 生成gif并播放:
============
2.1 效果图:
2.2 代码:#第1步:导入模块 import pyvista as pv import numpy as np #第2步:3维坐标点取值范围 x = np.arange(-10, 10, 0.25) y = np.arange(-10, 10, 0.25) #meshgrid的作用适用于生成网格型数据 #可以接受两个一维数组生成两个二维矩阵,对应两个数组中所有的(x,y)对 x, y = np.meshgrid(x, y) #np.sqrt(x) : 计算数组各元素的平方根 r = np.sqrt(x ** 2 + y ** 2) #获取z值 z = np.sin(r) # Create and structured surface grid = pv.StructuredGrid(x, y, z) #第3步:产生plt图:静态图和gif动态图 # Create a plotter object and set the scalars to the Z height plt = pv.Plotter() #加入上面产生的grid plt.add_mesh(grid, scalars=z.ravel()) #先按q退出静态图,进入动态图gif展示 print("Orient the view, then press "q" to close window and produce movie") # setup camera and close plt.show(auto_close=False) #参数不能少 #第4步:动态播放gif设置 # Open a gif,这个文件在根目录下 plt.open_gif("wave.gif") #获取点的参数 pts = grid.points.copy() # Update Z and write a frame for each updated position nframe = 30 #数值越大,动态展示时间越久 #[:nframe]是列表取值从0取到nframe个 for i in np.linspace(0, 2 * np.pi, nframe + 1)[:nframe]: #z值改变 z = np.sin(r + i) pts[:, -1] = z.ravel() #根系 plt.update_coordinates(pts) plt.update_scalars(z.ravel()) plt.write_frame() # Close movie and delete object plt.close()
3 球、线和图例:
============
3.1 效果图:
3.2 代码: import pyvista as pv # Create source to ray trace sphere = pv.Sphere(radius=0.85) # Define line segment start = [0, 0, 0] stop = [0.25, 1, 0.5] # Perform ray trace points, ind = sphere.ray_trace(start, stop) # Create geometry to represent ray trace ray = pv.Line(start, stop) intersection = pv.PolyData(points) # Render the result,调用图 p = pv.Plotter() #添加元素mesh,颜色设定、大小和文字标签(图例展示) #添加球==sphere p.add_mesh(sphere, show_edges=True, opacity=0.5, color="w", lighting=False, label="Test Mesh") #添加线==ray p.add_mesh(ray, color="blue", line_width=5, label="Ray Segment") p.add_mesh(intersection, color="maroon", point_size=25, label="Intersection Points") #图例展示 p.add_legend() #图片展示 p.show()
4 布局subplot:
===========
4.1 效果图:
4.2 重点:#第3步:定义一个图,展示图,布局shape=3*3 #就是3行3列 p = pv.Plotter(shape=(3, 3))
4.3 完整代码:#第1步:导入模块 import pyvista as pv #第2步:实例化模型,调用模型 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() #第3步:定义一个图,展示图,布局shape=3*3 #就是3行3列 p = pv.Plotter(shape=(3, 3)) # Top row==第1行 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==第2行 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==第3行 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()
古诗里的核心词四季时光学龄前儿童古诗和英语启蒙绘本两岁的宝宝通常具备很强的表达欲。他们对新鲜事物特别感兴趣。这个年龄段的孩子,语言表达逐渐丰富。在日常的生活里,两岁的宝宝肢体协调能力运动能力有了很大发展增强。快速成长的2岁,有必要
郑爽张恒疑代孕生双胞胎事件,给父母们这些启示郑爽张恒疑海外代孕俩孩子归谁作为看客,看过太多新闻的反转,但再多新闻再多的反转,也不及为人父母把孩子当子弹,放到屏幕面前来撕逼所带给我们的震撼力大。坦白说,凭几行字和有可能被合成的
孩子5个月,老公出差俩月回家一次,工资是之前1。4倍。支持?给大家讲一个故事吧由于工作原因,张晓的老公常年在外。这个常年在外,不是一个月回家一次而是一年一次。张晓是个通情达理的女人,她理解丈夫的工作,也信任老公的为人,更相信自己可以独当一面
与其人肉杭州樊胜美,不如去做这几件事在原生家庭如何弥补自己的性格缺陷一书中,介绍了一个概念叫有毒父母。原生家庭38购买什么是有毒父母?与能给子女心里种下的是爱尊重和独立的种子的父母相比,有毒的父母,他们给子女种下的是
读绘本好吗?你会一直坚持给孩子读吗?读绘本的好处不仅仅在于读绘本长见识学知识,最重要的是帮助孩子养成良好的阅读习惯。所以,给孩子读绘本一定是好处多多的。值得家长们应该坚持3。可是,读绘本虽然好处多多,但是怎么选择绘本
妈妈辅导孩子作业崩溃大哭早知这3点,育儿不焦虑妈妈辅导孩子作业崩溃大哭最近,山东东营的一位爸爸,用视记录下孩子母亲辅导孩子写作业时,惊心动魄的场面,并传到了网上只见屋子里一片狼藉,书本撒了一地。妈妈趴在床上崩溃大哭,儿子则跪在
如何评价岳云鹏孙越春晚相声年三十的歌岳云鹏孙越春晚相声年三十的歌严格意义上来说,这段相声并不搞笑,但却能够成为经典。看过作品的人,一定记得小岳岳的一句这么大内能。很明显这句话并不是可以设计的包袱,而是赤裸裸的嘴瓢。虽
父母财力有限,龙凤胎女儿抱怨我重男轻女,怎么办?作为龙凤胎的妈妈,我来回答一下这个问题。首先我们来梳理一下题主提供的一些内容。第一,小有财富,但没有钱到想怎么花就怎么花的地步第二,家有龙凤胎。女儿相对来说乖巧,学霸级的存在儿子则
安徽13岁女生考满分被质疑后溺亡事件,给我们带来了哪些启示?考满分被质疑后溺亡女生家属发声大多数人因为学习成绩不好而被批评,但有的人却因为考了第一名,丢了性命。最近在安徽潜山王河镇就出现了这样一件人间悲剧。开心和可乐(均为化名),是一对双胞
古诗词里的核心词109首中英双语诗歌书,大师作一天,女儿回家后立马画了一幅画。我问她你画的啥啊?她说,妈妈这是小娃撑小艇啊!我定睛一瞧,果然是一个一个带着斗笠的小娃,撑着小船在水面上的样子。我看着这小娃娃一脸可爱的样子刚想夸奖
月子期间只有自己和丈夫能行吗?最近,有一位准宝提出疑问我快要生了,婆婆和家母因为身体的原因无法伺候月子。请月嫂的话费用又承担不起。所以,只能由丈夫来照顾我。可我俩都没经验,不知道能不能做好月子,照顾好宝宝?面对