Python可视化的工具有:Matplotlib、Pandas、Seaborn、ggplot、Bokeh、pygal和Plotly。
Python实现三维可视化要依靠VPython和TVTK库。VPython是一种三维图形库,它可以快速地创建三维场景和动画,与TVTK库相比,它更适合创建交互式的三维场景。Vpython是编程语言、可视化模块和开发人员组合的名称,“Visual”是Python实现三维可视化的模块,所以引入3D图形的模块要采用语句——“from visual import *”(这是每个程序都必须具备的)。Visual包含显示窗口、输出窗口、代码窗口。“VIDLE”是所使用的交互式开发环境,在代码窗口输入或粘贴需要完成三维可视化的物体的代码,点击“run module”或直接按“F5”键,就能在展示窗口中出现该物体的三维模型,输出窗口是一个滚动的文本框,可以在此打印你想要的数据、摘要等信息。
VPython关于三维可视化的命令有:
(1)box(pos=(), length, height, width):可用于长方体和正方体的三维可视化实现。
(2)arrow(pos=(),axis=(), shaftwidth):可用于箭头的三维可视化实现。
(3)cone(pos=(), axis=(),radius):可用于圆锥体的三维可视化实现。
(4)curve(pos=(), radius):可用于曲线和弧线的三维可视化实现。
(5)cylinder(pos=(),axis=(), radius):可用于圆柱体的三维可视化实现。
(6)ellipsoid(pos=(), length, height, width):可用于椭圆体的三维可视化实现。
(7)extrusion(pos=(), shape):可用于不规则形状物体的三维可视化实现。比如三棱柱中心挖出一个球后的形状。
(8)helix(pos=(), axis=(), radius):可用于螺旋结构的三维可视化实现。
(9)ring(pos=(), axis=(), radius, thickness):可用于圆环的三维可视化实现。
(10)sphere(pos=(), radius):可用于球体的三维可视化实现。
(11)text(text,align, depth, color):可用于文字的三维可视化实现。
除此之外,还可以设置标签、灯光,等等。
3.4 无砟轨道三维可视化流程
熟悉无砟轨道的组成以及各部分的尺寸,是本文的重中之重;然后,建立局部坐标系,通过编程分别实现各部分的三维可视化;最后,建立整体坐标系,把各部分整合起来,形成完整的轨道。
下列是编程时主要用到的代码:
(1)# -*- coding: utf-8 -*- #编码声明
“#”代表注释,utf-8是万国码,意思是想让Python支持中文。如果编程时没有把这个写在首行,运行时就会跳出图3.4.1所示的错误提醒,这是就需要加上“ # -*- coding: cp936 -*-”才能运行出来,但是一般写“# -*- coding: utf-8 -*- ”,因为它所包含的语言更广泛、更具通用性。
(2)from __future__ import pision #导入python未来支持的语言特征pision(精确除法)
当我们没有在程序中导入该特征时,"/"操作符执行的是截断除法(Truncating Division),当我们导入精确除法之后,"/"执行的是精确除法
(3)scene=display(title,background,center,width,height,x,y) ——设置画布
如果不写上边这串代码,系统默认画布背景为黑色,影响美观。因此要先设置画布,设置画布的名称、背景以及尺寸。“center”是确定画布的坐标位置。例如:
“scene=display(title='CRTS1',background=color.white,center=[0,0,0],width=500,height=500,x=100,y=100)”表示的是设置一个名为“CRTS1”、白色背景、长宽都为500的画布。
(4)f=frame() ——定义框架
(5)box()命令 ——画矩形的命令
Python无砟轨道结构三维可视化关键技术及应用研究(6):http://www.chuibin.com/guanli/lunwen_205480.html