LabVIEW程序设计基础与应用
上QQ阅读APP看书,第一时间看更新

4.6 三维图形

在实际工程应用中,三维图形是一种最直观的数据显示方式,它可以很清楚的描绘出空间轨迹,给出X、Y、Z三个方向的依赖关系。LabVIEW 2015提供了许多三维图形控件,如图4-29所示。

图4-29 三维图形控件

下面对一些常用的三维图形控件的用法进行简单介绍。

4.6.1 三维曲面图形

三维曲面图形用来描绘一些简单的曲面,LabVIEW 2015提供的曲面图形控件可以分为两种类型:曲面.vi和三维曲面图形.vi,曲面和三维曲面图形控件的X、Y轴输入的是一维数组,Z轴输入的是矩阵,如图4-30所示。

图4-30 曲面和三维曲面图形控件数据输入/输出接口

a)曲面.vi数据输入接口 b)三维曲面图形.vi数据输入接口

【例4-11】 用曲面和三维曲面控件绘制正弦曲面。

它们在显示方式上没有太大的差别,都可以将鼠标放置到图像显示区后,将图像在X、Y、X方向上任意旋转。两者最大的区别在于,“曲面”控件可以方便地显示三维图形在某个平面上的投影,例如,对于如图4-31所示的图形,单击即可显示图形在XY平面上的投影,对于在其他平面上的操作与之类似,显示结果如图4-32所示。

图4-31 曲面与三维曲面图形

图4-32 三维曲面在三个坐标轴平面上的投影

a)XY平面 b)XZ平面 c)YZ平面

4.6.2 三维参数图形

三维参数图形可以用来绘制一些更复杂的空间图形,它的三个轴输入的都是二维数组,如图4-33所示。

图4-33 三维参数图形.vi输入/输出端口

【例4-12】 用三维参数图模拟水面波纹。

水面波纹的算法用z=sin(sqrt(x2+y2))/sqrt(x2+y2)实现,用户可以改变不同的参数来观察波形的变化。创建程序的步骤如下。

1)用两个For循环嵌套,生成一个二维数组,在循环次数输入端上右击,选择“创建输入控件”。

2)从“函数→编程→数值”中选择“乘”运算符放置在内层For循环中,一个输入端与For循环的i连接,在另一端上右击,选择“创建输入控件”,修改标签为“x”,再选择一个“减”运算符,“被减数”端与“乘”输出相连,在“减数”端创建一个输入控件“y”。

3)将二维数组连接到“三维参数图形.vi”的x矩阵输入端,从“函数→编程→数组”中选择“二维数组转置.vi”,将二维数组转置后连接到“三维参数图形.vi”的y矩阵输入端。

4)再创建两个嵌套For循环,选择“乘”运算符放置在内层For循环中,将其两输入端与原数组连接,用同样的方法再放置一个“乘”运算符,两输入端与转置后的数组连接,再将这两个数相加再开方,得到(x2+y2)1/2

5)从“函数→数学→初等与特殊函数→三角函数”中选择“sinc.vi”,输入端与3)产生的数据相连,输出连接到“三维参数图形.vi”的z矩阵输入端。

6)从“函数→编程→结构”中选择“While循环.vi”,将程序框图上的所有对象放置到While循环中,设置每次循环的间隔为100ms。

运行程序,显示结果和程序框图如图4-34所示。

图4-34 三维参数图形模拟水面波纹

图4-34 三维参数图形模拟水面波纹(续)

4.6.3 三维曲线图形

三维曲线图形控件用来绘制空间曲线,它的3个输入端都是一维数组,如图4-35所示。

图4-35 三维线条图形.vi输入/输出端口

【例4-13】 用三维曲线控件绘制螺旋曲线。

创建程序的步骤如下。

1)创建一个For循环,循环次数设置为输入控件,选择“正弦.vi”和“余弦.vi”,放置到循环体中,将For循环的i转换为弧度后连接到“正弦.vi”和“余弦.vi”的输入端。

2)将正弦值作为“三维曲线图形.vi”的x向量,余弦值作为y向量,弧度值作为z向量。

3)选择While循环将所有对象框到其中,设置循环间隔为100ms。

显示效果和程序框图如图4-36所示,用户可以通过改变绘图的数据点数来观察图形变化。

图4-36 三维曲线绘制螺旋线

三维图形子选板中还提供了诸如“散点图”“饼图”“等高线图”等许多控件,这些控件的使用方法与例中所讲的控件类似,此处不再赘述。