具有交互能力的三维电子地图的设计与实现

 2021-11-25 04:11

论文总字数:20219字

摘 要

本文提出了具有交互能力的三维电子地图的设计方案,并对其中的动态交互技术、细节层次划分显示技术等关键性技术予以实现。三维电子地图系统基于opengl和Qt在windows平台上进行开发。采用组件化技术将地图的地形、图元等通用建模元素进行了封装,提高了应用系统构建过程中的模块化并降低了模块间的偶合性。实现了基于opengl拾取操作的动态交互界面,通过对用户操作的识别弹出不同的交互界面达到动态交互效果,提高了人机交互的生动性。设计并实现了一种细节层次划分显示算法,提高了三维地图的绘图效率。针对分布式仿真系统中对三维地图子系统的应用模式,设计了通信模块用于收发地图绘制数据,对分布式环境下的三维地图协同绘制提供支撑功能。

关键词:三维地图、opengl、动态交互、细节层次模型、通信中间件

Design and implementation of three dimensional electronic map

with interactive ability

Abstract

In this paper, a design scheme of 3D electronic map with the interactive ability is presented. The key technologies such as the dynamic interactive technology and a display technology of “levels of detail” (LOD) are realized. The 3D electronic map system based on OpenGL and Qt is developed on the Windows platform. The map terrain, graphics primitives and other common modeling elements are encapsulated by using the component technology, which improves the modularization in the process of constructing an application system and reduces the coupling between modules. The dynamic interactive interface based on OpenGL is realized. The dynamic interactive effect is achieved by recognizing user operations and responding with different user interfaces. Thus the vividness of human-computer interaction is improved. An algorithm about levels of detail display is designed and implemented to improve the drawing efficiency of 3D maps. For the 3D map Subsystem Application Mode in a distributed simulation system, a communication module is designed for sending and receiving map drawing data, providing support for cooperative drawing of 3D map in the distributed environment.

Keywords: 3D map, OpenGL, dynamic interaction, Levels of detail (LOD) model, communication middleware

目录

摘要………………………………………..………………………………………..…………………………………………………….I

Abstract………………………………………………………………………………………………………………………………….II

第一章 绪论 1

1.1引言 1

1.2交互式三维电子地图的研究现状 1

1.3三维电子地图的开发平台及开发技术 1

1.3.1开发平台 1

1.3.2开发技术 2

1.4研究目的和主要研究内容 2

第二章 相关技术 3

2.1 opengl三维图形支持库 3

2.1.1 opengl特点 3

2.1.2 opengl功能 3

2.1.3 opengl渲染 3

2.2三维图形学 4

2.2.1场景 4

2.2.2视口 5

2.2.3图元 5

2.2.4投影 5

第三章 三维电子地图的设计与实现 7

3.1三维电子地图系统结构框架 7

3.2三维电子地图系统模型分析 8

3.2.1对象模型 8

3.2.2运动模型 9

3.3三维电子地图系统对象设计 9

3.3.1场景对象 9

3.3.2图元对象 10

3.3.3交互对象 10

3.3.4通信对象 11

3.4三维电子地图系统通信设计 11

3.4.1通信模块结构 11

3.4.2通信模块工作流程 12

第四章 三维电子地图实现的关键技术 14

4.1三维空间的物体拾取与人机交互 14

4.2分片的LOD优化算法 14

4.3 3ds模型的读取与加载 16

第五章 三维电子地图系统运行 18

第六章 总结与展望 21

致谢 ……………………………………………………………………………………………………………………………….22

参考文献 ……………………………………………………………………………………………………………………………….23

图目录

图 1 opengl图形渲染管线示意图 4

图 2三维电子地图系统结构图 7

图 3 三维电子地图系统显控部分结构图 8

图 4 基于通信的运动模型 9

图 5基于用户操作的运动模型 9

图 6通信模块结构关系图 12

图 7 通信模块工作流程图 13

图 8 LOD算法示意图 15

图 9线框地形图 18

图 10材质地形图 19

图 11 交互示意图 19

图 12未使用LOD算法时的地形线框图 20

图 13使用LOD算法时的地形线框图 20

表目录

表 1 3ds块数据结构表............................................................................................................14

表 2地图数据格式表...............................................................................................................15

  1. 绪论

1.1引言

随着复杂应用环境下各种形式监控系统的不断涌现,二维监控视图已经越来越难以满足对环境态势的综合性、多视角的感知与查看需求。目前的电子地图系统普遍存在信息整合程度较低,无法反映地形特征等弊端。从交互性的角度来说,越来越多的监控系统不满足于监视和控制的分开处理。

本课题针对雷达等范围侦测设备的监控系统进行三维电子地图的设计。该类设备的监控系统往往需要依托一个具有较强交互能力的界面展开监控任务。使用三维电子地图技术,不仅能够更加快速的映射到往常二维的监控视图上,满足以往的各种需求,而且可以提供漫游视角,能够更加清晰明确的发现二维视角中不易发现的问题,提高监控质量。

本课题中的三维电子地图不同于现有各种商用电子地图技术,针对地形地貌信息进行了更加细致的描绘。通过对该研究达到以下两个目的:

1)综合现有电子地图的构造方法,工作原理,工作方式,以及这些方法的适用场景。

2)设计一套三维电子地图的基本实现框架。建立雷达监控系统领域内各种显示要素的基本实现方式。

1.2交互式三维电子地图的研究现状

⑴雷达系统中的三维成像

随着计算机及可视化技术的发展,雷达探测范围[1]的三维表达方式也变得多种多样。有的利用雷达方程研究雷达探测范围受大气折射的影响,在GIS上表现了单部雷达和雷达组网时探测范围在不同高度的二维视图,不过其三维表现是采用叠加不同高度的二维雷达探测范围图实现的。有的以自由空间中雷达作用范围为基础,研究单峰对雷达作用范围的影响,给出了地形影响下雷达的三维作用范围表现算法。也有通过获取雷达波损失三维数据场,然后利用硬件加速的等值面提取算法抽取一定阈值的等值面,再将其表现到战场环境中[2]

这些研究根据地形和电磁波的处理,使用合理的方式进行建模,从而得到合理的三维电子图像,成像效果也较为出色。

⑵基于opengl的三维交互

三维交互立足于空间体系结构。目的是支持灵活的视图操作和显示控制方式,能够对三维空间内的实体快速定位和属性显示[3]

网格简化技术[4]:对于输入网络模型,产生与其对应的、基本保持该模型形状的,比较粗糙的简化逼近模型。任意多边形都可以转化为三角形,所以三角网格的简化方法具有普遍意义,为了对网格模型进行简化,现存在这不同的算法,比如Schroeder提出的基于顶点删除的网格简化算法,利用网格各点的局部几何信息和拓扑信息对网格顶点进行分类,然后再根据不同的顶点的删除标准决定该顶点是否予以删除。如果删除该顶点,则采用递归环分割方法对于删除顶点后所留下的孔洞重新进行三角剖分。

网格简化技术主要是由于虚拟现实等应用领域对于多分辨率网格的要求而产生发展的。而随着图形技术的发展,网格简化的研究也会有进一步的深化。

1.3三维电子地图的开发平台及开发技术

1.3.1开发平台

这里采用c 和opengl结合进行开发。开发平台采用搭载QT库的VS2008。

QT是一款跨平台的C 图形用户界面应用程序开发框架,较之VS自带的MFC框架有着结构清晰,上手简单,功能强大等特点。内部各个控件的封装也都较为合理,用于用户界面开发有着极大的优势。

QT对于opengl也有着自己的封装,简化了opengl中回调函数的调用逻辑,封装成了简单的绘制步骤函数,使用时只需要在对应的函数里添加定制的代码即可。

1.3.2开发技术

这里需要实现的技术点如下:

⑴绘图效率的保证:绘图中应保证一定的绘图效率,减少数据量过大或者数据收发频繁所带来的绘图性能下降的影响。尽量减少冗余绘制部分,制定较为合理的绘制触发条件和绘制区域,同时对于数据进行精细度处理。

⑵三维空间的人机交互:需要实现三维空间内的物体拾取,和控制界面的及时生成。在保证绘图效果和绘图性能的情况下,合理完成绘图与控制2项任务。

⑶便于2次开发的通用的接口设计:

解决方法:通过相关设计模式方面的图书,先简单学习模块化程序开发所需要注意的细节和方式,结合自己的实际经验进行接口设计。

⑷扩展设计

可添加的部分有:底层数据通信模块,用于汇总来自个各个子系统的监控信息。可支持的图元模块,用于提供可交互的地图图元。

1.4研究目的和主要研究内容

剩余内容已隐藏,请支付后下载全文,论文总字数:20219字

相关图片展示:

您需要先支付 80元 才能查看全部内容!立即支付

该课题毕业论文、开题报告、外文翻译、程序设计、图纸设计等资料可联系客服协助查找;