《基于OpenGL的虚拟仪器三维控件设计》由会员分享,可在线阅读,更多相关《基于OpenGL的虚拟仪器三维控件设计(61页珍藏版)》请在金锄头文库上搜索。
1、华中科技大学硕士学位论文基于OpenGL的虚拟仪器三维控件设计姓名:万浩申请学位级别:硕士专业:机械电子工程指导教师:何岭松20080528华 中 科 技 大 学 硕 士 学 位 论 文 I摘 要 摘 要 虚拟仪器的显示包括虚拟仪器中的面板和控件库中的控件显示, 都是模拟物理仪器中的实物,用编程语言编制,而 OpenGL 是功能强大的开放式图形库,由于它方便而强大的三维图形的绘制功能,并具有可靠性高、可扩展性、可伸缩性、容易使用、灵活性和可移植性等优点,使用它来对虚拟仪器图形库进行开发具有很宽广的前景。 本文首先对虚拟仪器三维控件按照显示效果进行了分类,并对部分主要控件的功能、特性和显示模型进
2、行比较详细的介绍。 针对虚拟仪器三维控件的显示效果, 提出了基于 OpenGL 技术实现三维控件界面的设计模型方案,介绍了 OpenGL 相关的基础知识,及在虚拟仪器三维控件中的渲染。 然后介绍了虚拟仪器图形库函数的开发流程和三维控件的具体开发过程, 并充分利用 OpenGL 各种渲染效果开发外观逼真、界面美观的虚拟仪器三维控件。 针对应用软件的开放性和扩展性, 提出了在 Visual C+下的 OpenGL 虚拟仪器三维控件开发模型,将虚拟仪器控件图形库函数封装为动态链接库插件,便于应用软件的调用和扩展。将单个的虚拟仪器控件联系起来组成简单的仪器界面,并通过测试实现控件在界面中的各种功能,从
3、而论证了论文研究思路的正确性。 关键字关键字:OpenGL;虚拟仪器;三维控件;渲染 华 中 科 技 大 学 硕 士 学 位 论 文 IIAbstract The display of virtual instrument includes the panel and the controls of the control library.All of them are simulations of the physical instrument material objects which are worked out by computer programs.As an open grap
4、h library with powerful functions,OpenGL has many advantages,such as high reliability,expansibility,flexibility,easy-use,agility and portability etc. Due to its convenient and strong three-dimensional graph-drawing function.So ,it is promising to develop the virtual instrument graph library by OpenG
5、L. This thesis sorts the three-dimensional controls of the virtual instrument according the display effect and introduce the functions,characteristics and display models of some important controls explicitly. Against the display effect of the virtual instrument three-dimensional controls , in this t
6、hesis,a design model plan of three-dimensional controls interface is proposed based on OpenGL technique .Then ,some basic information as well as rendering of OpenGL technique is introduced. After that,the development circuit of the virtual instrument graph library function and the concrete developme
7、nt of three-dimensional controls are introduced. The rendering function is used sufficiently to make out the three-dimensional controls with lifelike ,slinky interfaces. According to the open and expansibility of the application software, the virtual instrument three-dimensional controls development
8、 model is built up based on OpenGL in the environment of Visual C+.By encapsulating the virtual instrument three-dimensional controls graph library function into a dynamic link library plug-in,it is convenient to call and extend the application software.The single controls are jointed to compose a s
9、imple interface,and all the functions on the interface are achieved by fusion test to confirm the correct of research in this thesis. Keywords: OpenGL;virtual instrument;three-dimensional controls;render 独创性声明 本人声明所呈交的学位论文是我个人在导师指导下进行的研究工作及取得的研究成果。尽我所知,除文中已经标明引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写过的研究成果。对本文的
10、研究做出贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律结果由本人承担。 学位论文作者签名: 日期: 年 月 日 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,即:学校有权保留并向国家有关部门或机构送交论文的复印件和电子版, 允许论文被查阅和借阅。本人授权华中科技大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。 本论文属于 (请在以上方框内打“” ) 学位论文作者签名: 指导教师签名: 日期: 年 月 日 日期: 年 月 日 保密,在 年解密后适用本授权书。 不保密。 华
11、 中 科 技 大 学 硕 士 学 位 论 文 11 绪 论 1 绪 论 1.1 1.1 课题概述课题概述 1.1.1 课题来源 1.1.1 课题来源 深圳市德普施科技公司项目“机电一体化专业综合实践平台开发” 。 1.1.2 课题的目的和意义 1.1.2 课题的目的和意义 我们生活在一个充满三维物体的三维世界中,为了使计算机能精确地再现这些物体,我们必须能在三维空间描绘这些物体。对于基于计算机的虚拟仪器来说,计算机中的虚拟仪器控件的显示要尽可能的接近真实仪器控件,而OpenGL图形接口技术有着卓越的三维显示性能,它是被选择来完成软件开发的主要技术。本课题的目的和意义: (1)归纳虚拟仪器控件一
12、般设计方法,提出新的控件设计模型; (2)研究三维控件的建模,建立通用的虚拟仪器三维控件模型; (3)研究 OpenGL 主要的三维图形渲染技术,并将此应用于虚拟仪器三维控件的显示设计中; (4)以 VC+ 6.0 为开发平台,综合运用 GDI+、OpenGL 等三维软件技术开发用户界面美观、三维立体效果丰富的虚拟仪器显示界面和三维控件; (5)将虚拟仪器图形控件封装为动态库插件,添加到应用平台,供用户调用。 1.2 背景及相关技术的国内外现状 1.2 背景及相关技术的国内外现状 早在计算机问世以来的半个世纪, 人们一直试图让计算机能够描述和处理显示世界中尽可能多的对象,这其中就包括精确地描述
13、三维实体和三维世界。 三维世界中包括的信息量大大超过二维世界的信息量,因此,对三维世界的描述难度也非常大。最近几年,计算机图形学发展迅猛,三维表现技术愈发完善,同时随着计算机处理能力的飞速提高, 微型计算机已经能够胜任对三维表现技术所描述的三维物体进行平滑处理的工作了。 华 中 科 技 大 学 硕 士 学 位 论 文 2虚拟仪器是近些年发展起来的以软件为核心、 由计算机和必要的硬件组建起来的测试系统或仪器系统。虚拟仪器中的“虚拟”二字包括两方面的含义: 第一,虚拟仪器的面板是虚拟的; 第二,虚拟仪器测量功能由软件编程实现1。 虚拟仪器中的图形显示一方面将计算结果用图形或图象形象直观地显示出来,
14、 从而使许多抽象的、难于理解的原理和规律变得容易理解,许多冗繁而枯燥的数据变得生动有趣;另一方面提供了一种人机交互的窗口,通过它进行测量或控制,它在虚拟仪器中发挥着重要作用,是不可或却的组成部分2。 虚拟仪器中的面板和控件库中的控件,都是模拟物理仪器中的实物,用编程语言编制的,故控件的美观、真实感以及立体效果显得尤其重要。 对于虚拟仪器控件的显示,国内外都有较为深入的研究,比较典型的是美国 NI 公司的 LabVIEW 和国内重庆大学的秦氏模型智能控件化虚拟仪器系统。 LabVIEW是实验室虚拟仪器集成环境(Laboratory Virtual Instrument Engineering W
15、orkbench)的简称,是美国国家仪器公司(NATIONAL INSTRUMENTSTM,简称NI)的创新软件产品, 也是目前应用最广、 发展最快、 功能最强的图形化软件开发集成环境。 它具有内置的程序编译器,速度大体相当于编译C的速度,它具有灵活的程序调试手段,功能强大的函数库,支持多种系统平台,LabVIEW 提供了丰富逼真的仪表界面控件,如显示表盘、温度计、示波器等3。图1.1是LabVIEW的前面板示例: 图1.1 LabVIEW虚拟仪器前面板 华 中 科 技 大 学 硕 士 学 位 论 文 3可以看出上图前面板显示效果几乎和真实的仪器面板没有差别。 虚拟仪器面板都是由具备各种功能的
16、控件搭拼而成的,控件是最小的功能单元4。图 1.2 列出了 LabVIEW 中几种控件的显示图形: 图1.2 LabVIEW虚拟仪器控件举例 前面板中的控件与用户直接接触,故需要模拟真实世界的仪器控件外形,便于用户识别和调用,而流程图中的控件不与用户直接交流,它是显示前面板中控件与系统以及控件与控件之间的关系和数据流方向,所以流程图中的控件显示很简洁5,图1.3列出了虚拟仪器流程图中的控件显示图形: 图1.3 流程图中控件列举 虚拟仪器的控件表现为一种图形的描述,它需要依靠坐标系予以定形和定位。在虚拟控件的界面建模中需要用到多种坐标系,包括二维坐标系和三维坐标系,通常采用二维直角坐标系和三维直角坐标系,界面建模中会用到世界坐标系、局部坐标系、观察坐标系、投影