基于VTK 的斜拉桥可视化研究

2020-11-27 03:24李加顺
科学技术创新 2020年33期
关键词:标号用户界面新建

李加顺

(重庆交通大学,重庆400074)

1 VTK 的介绍

VTK 的全称是Visualization Toolkit(可视化工具包),VTK 是一个开源、跨平台、自由获取、支持并处理的图形应用函数库。

VTK 最早出现在《The Visualization Toolkit:An Object-Oriented Approach to 3D Graphics》 一书的附件中,这本书是由Prentice Hall 在1993 年出版的。美国GE 公司的三位研究人员 Ken Martin、Will Schroeder 和Bill Lorensen 开发了VTK 软件。

1998 年,VTK 社区成长迅速,在学术研究及商业应用领域得到了重用(主要都是医学方面的应用)[1]。

2 VTK 的使用方法

先新建一个cpp 文件,再新建一个MakeLists 文件并写上相应的代码,然后使用CMake 产生工程文件(.sln),最后进行编译。

MakeLists 文件的编写示例如下:

3 VTK 的程序界面

3.1 VTK 与Qt 结合

VTK 拥有强大的图形处理能力,但是缺少窗口框架的用户界面,与Qt 结合可建立一个用户界面。

图1

Visual Studio 新建一个项目中,找到Qt 然后创建一个Qt Widgets Application 项目,在设计界面中拖出QVTKWidget 窗口,最后完成界面的实现,如图1 所示。

3.2 界面与功能设计

桥梁结构界面建立可视化模型需要实现以下功能:输入节点、输入截面类型以及参数、输入单元类型、分析步、计算结果、图像的可视化。在Qt 的设计界面中,利用PushButton、ToolButton、Verictical Scroll Bar、Horizontal Scroll Bar 等控件来实现一个界面。

4 功能实现

由Qt 框架的窗口接收模型可视化显示的数据参数并交给VTK 可视化流程最终在窗口上显示。VTK 的可视化管道数据按照如下顺序执行:Source->Filte->PolyData->PolyDataMapper->Actor->Renderer->RenderWindow->RenderWindowInteractor

在VTK 的编译安装过程中可能会遇到一些问题,通过CMake 显示的问题的提示来完成VTK 的编译,并完成Qt 与VTK 的结合,使用Qt 建立一个项目。

4.1 窗口中显示点

创建点的坐标,先New一个points 对象,在用points 去创建几个点。

4.2 窗口中显示线

创建一条线,先New几个line 对象,在用line 去创建几条线。

4.3 将点、线,加入到数据集中

创 建 一 个polyData、mapper、actor、renderer、renderWindow、interactor 对象,再用polyData 来设置点、线,将polyData 传递给mapper 再传递给actor,最终做一个交互;用Visual Studio 执行就可以显示所创建的图形。

4.4 节点及节点标号的显示

先在h 文件中定义一个节点Create_Node,再利用cpp 文件写上相应的显示节点的代码;然后定义一个节点标号Create_Label,利用cpp 文件写上节点标号的代码,最后把节点及节点标号传给actor。部分代码如下:

4.5 线及线标号的显示

vtkSmartPointer Actor_Line_Label;

Actor_Line_Label = Create_Label(L_Label, Label, 0, 1, 0);

5 最终的显示效果

猜你喜欢
标号用户界面新建
拟Mobius梯子的L(1,1,1)-标号
微软新专利展示可折叠手机设计
物联网用户界面如何工作
几种叉积图的平衡指标集
万紫蝶、梁新建作品
曹曙东、温新建作品
计算机软件用户界面设计分析
2016年10月70个大中城市新建住宅价格指数
2016年6月70个大中城市新建住宅价格指数
用Android Fragment技术实现多级选项列表