基于WebGL的三维室内地图呈现与优化毕业论文
2020-02-14 19:04:21
摘 要
目前人们所使用的手机GPS导航系统可以帮助解决从当前城市到一个陌生城市的某个地方的导航问题,但如果细化到某个具体商务大楼的内部楼层,目前的室外导航系统就有很大的局限性。因此,人们迫切的需求一种新的室内导航方式,三维室内导航也就应运而生。本文将从三维室内地图建模,三维路径规划,室内定位等方面一一阐述和实现。
针对三维室内地图建模问题,我们基于CAD的二维室内平面地图出发,在此基础上,利用WebGL和Three.js进行3D开发,将物体模型,相机,光源都加入到场景中,通过渲染器渲染,显示在Web上。在地图建模完成后,选用A*算法来进行三维室内路径规划,考虑到简便计算和性能的损耗程度,以节点规模来作为A*算法估值函数的判断标准,节点规模过大时,估值函数选用曼哈顿距离;节点规模过小时,估值函数选用欧式距离。室内定位我们选择蓝牙单点定位技术,通过接收信号强度来指示测距,在室内安装适当数量的蓝牙信标节点,再把基础网络的链接模式配置成基于多用户模式,在主设备是蓝牙局域网接入点的基础上,就可以计算出当前定位节点的位置。另外,考虑到真实环境导航的必要性,我们加入了文字导航提示和视角变化,更符合用户导航的需求。
三维室内导航能提高人们对空间的认知效果,对于未来的室内外三维一体化,构建三维城市也有重要的指导意义。
关键词:三维室内导航;WebGL;A*算法;节点规模
Abstract
The mobile GPS navigation system currently used can help solve navigation problems from the current city to a strange city, but if you refine to the inner floor of a specific business building, the current outdoor navigation system will be very large. Limitations. Therefore, people urgently need a new indoor navigation method, and three-dimensional indoor navigation has emerged. This article will elaborate and implement three-dimensional indoor map modeling, three-dimensional path planning, indoor positioning and other aspects.
For 3D indoor map modeling, we are based on CAD 2D indoor flat map. Based on this, we use WebGL and Three.js for 3D development, adding object model, camera and light source to the scene and rendering by renderer. , displayed on the web. After the map modeling is completed, the A* algorithm is used to carry out the 3D indoor path planning. Considering the ease of calculation and the loss of performance, the node scale is used as the criterion for the evaluation function of the A* algorithm. When the node size is too large, it is estimated. The value function selects the Manhattan distance; when the node size is too small, the valuation function uses the Euclidean distance. Indoor positioning We choose Bluetooth single point positioning technology to indicate the ranging by receiving signal strength, install an appropriate number of Bluetooth beacon nodes indoors, and then configure the link mode of the basic network to be based on multi-user mode. The main device is Bluetooth LAN. Based on the access point, the location of the current positioning node can be calculated. In addition, considering the necessity of real-world navigation, we have added text navigation tips and perspective changes to better meet the needs of user navigation.
Three-dimensional indoor navigation can improve people#39;s cognitive effects on space, and it also has important guiding significance for the future indoor and outdoor three-dimensional integration and construction of three-dimensional cities.
Key Words:3D indoor navigation; WebGL;A* algorithm; node size
目录
摘 要 I
Abstract II
第1章 绪论 1
1.1 研究背景和研究意义 1
1.1.1 研究背景 1
1.1.2 研究意义 1
1.2 国内外研究现状 1
1.2.1 三维网络构建研究现状 2
1.2.2 三维路径规划研究现状 2
1.2.3 室内定位研究现状 2
1.3 研究内容和组织结构 3
1.3.1 研究内容 3
1.3.2 组织结构 3
第2章 室内导航关键技术研究 4
2.1 三维建模技术 4
2.1.1 HTML5技术 4
2.1.2 JavaScript技术 5
2.1.3 WebGL和OpenGL基本知识 6
2.2 最短路径算法 7
2.3 室内定位方案 8
第3章 三维室内导航系统场景分析和可行性分析 10
3.1 系统应用场景分析 10
3.2 系统需求分析和可行性分析 10
3.2.1 系统需求分析 10
3.2.2 系统可行性分析 11
3.3 整体设计规划 11
3.4 本章总结 12
第4章 三维室内导航系统实现 13
4.1 开发工具的应用 13
4.2 开发环境介绍 14
4.3 三维室内建模 14
4.3.1 WebGL和Three.js 14
4.3.2 三维室内建模实现 15
4.4 三维路径规划 19
4.4.1 A*算法 19
4.4.2 三维路径规划实现 19
4.5 室内定位 21
4.5.1 蓝牙单点定位 21
4.5.2 室内定位实现 22
4.6 本章总结 23
第5章 测试与分析 24
5.1 功能实现情况测试 24
5.1.1 三维建模实现测试 24
5.1.2 三维路径规划实现测试 25
5.1.3 室内定位测试 27
5.2 系统稳定性测试 27
5.3 本章总结 27
第6章 总结与展望 28
6.1 本文总结 28
6.2 前景展望 28
参考文献 30
致谢 32
绪论
研究背景和研究意义
研究背景
在当今社会,随着电子商务时代的快速发展,城市中的大型建筑物也随之越来越多,例如室内步行街,商场,展览馆,会议中心等等,这些地方已经成为人们日常休闲光顾的场所,但是这些建筑物面积庞大,空间结构复杂,容易使人迷失方向。随着人们出行的次数日益增加,人们对导航系统的需求也越来越高。
目前的导航系统主要分为室外导航系统和室内导航系统。室外导航系统的运用和发展已经非常成熟,用户经常使用的车载导航系统和手机导航系统如高德地图和百度地图等,基本上已经满足用户室外导航寻径的需求。但是,若用户想去某一个陌生的城市的某一个具体地点的内部建筑,这时候仅靠室外导航系统就有很大的局限性,在复杂陌生的建筑物内部,就需要室内导航。
随着智能手机等相关个人设备的普及和扩展,室内建筑复杂程度的进一步加深,室内导航的必要性越来越受到人们的重视。尤其在一些及其复杂的室内环境下,这些复杂的空间结构让用户感到迷茫,他们需要确认自己所在的室内位置,并迫切的想知道如何到达另外一个自己想去的位置。拓扑结构复杂的室内环境,使建模的难度增大,室内导航的不确定性以及多变,都是室内导航系统的难点所在。
研究意义
室内空间与室外空间相比,有很大的差异性,室内空间结构的复杂性和室内空间的封闭性,导致室内导航不能照搬与室外导航。室外导航系统主要集中于GPS车载导航系统,用户一般情况下只允许行驶在路网上;而在室内导航系统中,一般是以单人用户为核心,这种情况下,用户是允许有自由移动的区域的,因此用户行动路径的抽象不能和其室外一样,只是简单路径点和实用线的连接。并且传统的二维室内导航仅从最基础的导航需求出发,未考虑到复杂多变的空间结构会给用户导航带来的困扰,导致实际应用效果有很大的不足。因此,人们迫切的需要一种新的导航方式的产生,三维室内导航也就应运而生。
国内外研究现状
目前,三维室内导航系统主要集中于三维网络模型构建,三维路径规划和室内定位三个课题的研究,但由于室内空间结构的复杂性,这三者还没有形成一个统一的规范。因此,论文将从三维室内模型的构建出发,逐步展开对三维室内导航系统的研究。下面就三维网络构建,三维路径规划,室内定位这三个方面的研究现状一一论述。
三维网络构建研究现状
目前,国内外在研究自动构建网络领域的学者较多,Mark Stevens和Jinmu Choi[1]在二维CAD数据的基础上构建三维网络拓扑结构,虽然不能规划出良好的路径,但是在网络分析方面具有独特的优势。Christoph Hlscher[2]从室内空间认知的角度出发,介绍了其在建筑内部寻径的优势。Jiyeong Lee[3]主要研究了组合数据模型与几何网络模型转化的方法,并将复杂室内三维模型简单化,简单实现了室内外路径规划。
在国内徐静[4]将室内空间进行剖分,障碍物用线和结点表示,这样将室内空间简单化,直接通过特征点的提取来构建路径。杜建庚[5]主要研究了三维路径生成和其呈现方式,提取室内建筑物楼道的特征点来进行三维路径规划。
目前国内外虽然有很多方式来构建室内三维网络,但都普遍存在各种问题,仍然需要不断完善和改进。
三维路径规划研究现状
在路径规划中,重点是如何计算出最短路径。根据图论的观点,即如何在拓扑结构中规划出权值总和最小的路径。算法领域中,图搜索算法最适用于路径规划,例如Dijkstra算法,Floyd算法,A*算法等等。Dijkstra算法是最短路径算法中应用最广的算法,但是它适用于小网络,网络拓扑结构复杂时,其搜索效率低下。刘翠丽[6]等人通过划分子图,对每个子图分别进行计算,然后连接各个子图顶点,有效提高了Dijkstra算法效率。姜康[7]通过引入附加值因子,以此来选择合适的节点,有效改进了传统A*算法的估价函数。郑红波[8]等人在传统A*算法的基础上,利用“粗试探和精搜索”的思想进行三维复杂网络的路径规划,提高了算法的时间效率和规划效果。
室内定位研究现状
室外导航系统基于GPS卫星定位系统[9],通过接收GPS卫星发出的GPS信号来准确定位,但是由于GPS信号在室内很难被接收,所以室内定位需要重新换种方式。二十世纪九十年代,美国Arc Second公司研发出首个室内GPS系统,通过在室内安装多个红外发射器,用户通过接收红外发射器发出的红外波段的定位信号,就能够实现准确定位。1998年,微软公司开发出RADAR室内定位系统,它是利用不同物体的信号接收强度和信号传播距离的关系,构建出信号衰减模型,能实现2-3米范围内的室内定位。2007年,法国航空公司利用新型的超宽带信号技术,也就是UWB[10]术,开发出IPS室内定位系统。该技术采用无线电信号,广泛用于消防活动中,能用于确定消防人员相对于其他人员的相对位置。 目前的室内定位系统基本很难实现精确的定位,只能确认在某个范围内,有很大的局限性。
研究内容和组织结构
研究内容
目前常见的室内内部结构图都是基于CAD的二维室内平面图,那么如何在二维平面图的基础上,进行三维室内建模,然后在完善的三维室内模型内进行三维路径规划和准确的室内定位,是进行三维室内导航的关键。本文将从上述三个问题出发,逐一进行研究:
(1)三维室内模型的构建。室内模型的构建是室内导航系统的基础,并且一个好的室内模型在室内信息的传递,室内导航的准确性方面具有难以比拟的重要性。此部分的研究内容是利用现有的CAD二维室内平面图,利用合适的技术,分析室内空间结构的特点,从空间认知的角度出发,构建出完整的三维室内模型。
(2)三维路径规划。根据图论的观点,三维路径的规划与二维路径的规划并没有什么实质性的区别。按照图的表示方式来说,三维网络也是由节点,弧,权值组成的有向图。此部分的研究内容就是在构建好的三维室内网络模型中,选择合适的路径搜索算法进行路径规划,并对算法加以优化。
(3)室内定位。目前由于GPS卫星定位信号不能穿透建筑物,在建筑物内部GPS信号极其弱,所以不能依靠GPS信号在室内进行定位。此部分的研究内容就是如何不依靠GPS卫星定位信号,寻求一种新的室内定位方式,来准确的显示用户在室内的位置。
组织结构
本文首先介绍了三维室内导航系统的研究背景和研究意义,考虑到室内导航系统的必要性,以及实验室项目对室内导航系统的需求,从实际出发,以计算机学院教学楼为模型构建三维模型,实现并优化了三维路径规划算法,结合室内定位算法,实现三维室内导航系统,从而展示出本设计的使用价值和指导意义。
论文共分六章,第一章是绪论介绍。简单介绍了项目的研究背景和研究意义,以及国内外关于室内导航系统的研究现状,简述了本文的研究内容。
第二章是三维室内导航系统场景分析和可行性分析。详细分析了三维室内导航的应用场景,从多个角度简述了导航系统的需求,并从系统技术和实际运用两个层面来分析其可行性,最后概述了整个系统的设计和规划。
第三章主要是讲述了三位室内导航系统的实现过程。包括开发工具的应用,开发环境的介绍,三维室内建模,三维路径规划和室内定位的实现原理。
第四章对系统进行测试,包括对其功能的实现情况和系统稳定性的测试。
第五章对全文进行总结,以及对项目的未来展望。
2室内导航关键技术研究
三维建模技术
HTML5技术
无论是计算机技术人员,还是一般的网民,大家一定都很熟悉一个词——超文本标记语言(Hyper Text Martup Language ,简称 HTML)。HTML在网页制作中很被推崇,而且其应用也非常的广泛。HTML经过了很长时间的发展,随着万维网的飞速发展,HTML也在不断地进行着自我更新。如今 HTML的应用渗透到与网页相关的每一个领域。而且他也已经不仅仅是一种语言,更是一种规范,一种标准。HTML5 的出现,无疑也是HTML 规范不断更新的结晶,既是 HTML 的继承,也是 HTML的发展创新。
HTML5 作为网页超文本标记语言的新标准为程序开发者带来了强大的用于人机交互、多媒体和本地化等多方面的标签以及应用程序的编程接口。绝大部分的网页设计是依赖于 Flash等插件来支持音频和视频等的播放以及高度图形化和交互式的应用程序的运行。虽然 Flash插件的使用在一定程度上给网页设计带来了便利,但是这些插件的使用同时也制约了网页设计的自由发展。而 HTML5 则突破了较多的局限,还增加了许多新的特性,比如交互式文档,客户端存储数据,嵌入音频、视频和图片的函数等等。
HTML5 通过制定处理 HTML元素的规则和错误恢复规则来进一步增强互动性能,有效地减少了开发的成本。相对 HTML之前的版本,HTML5具备更多的优点:首先HTML5 不但摒弃了许多冗余代码设计,而且还在格式、技术等方面有了较大的革新使代码更加地简洁、明确、易读。
其次它降低各种插件的重要性,支持网页端各多媒体功能。绝大部分的网页都具备声音和动画等生动性,这些生动的网页大部分是由各个公司开发的插件生成,但是插件的接口的开放性一般都比较强,所以其安全性着实让人担忧。其中最主要的插件要属 Flash插件了,用插件实现的好多产品会出现许多的冗余代码,但是采用 HTML5 后就可以更优雅、简单地避免插件所必需的冗长的对象嵌入标记。本设计就是在不使用 Flash插件的前提下实现三维室内导航系统。注意,并不是所有的插件都可以由 HTML5 取代,有些复杂的产 品也还是得依赖插件技术,尤其是比较专业的 3D 产品。但是,尽管如此,HTML5 所解决的代码冗余问题也是让人震惊的。
最后HTML5 对动态图像的支持-画布(Canvas)标签 在HTML5盛行之前的大部分网页中所显示的图像基本都是源自于JPG图像 或 GIF 图像。HTML5 出现以后,网页中图像的来源并不只是源于图像文件,大部分的图像是由 HTML5 中的画布(Canvas)标签临时生成的。HTML5 不但 提供了画布(Canvas)标签,而且通过与 JavaScript 结合使用,其可以在网页上 绘制各种需要的图像。Canvas 是一个矩形的区域,可以使用 JavaScript 来控制它的每一个像素。通俗地讲,Canvas 是 HTML的一个标签,但是它不仅仅是标签, 更是网页绘图的一个非常优秀的工具,它主要是在 JavaScript 的网页上进行绘图。大家注意,Canvas 是绘图,不是显示,虽然最终的结果一样,但是在计算机中的过程并不一样。Canvas 标签的利用是计算机在经过特定的算法情况下,最终显示在网页中,而不是造出这样的图片来显现的,它具有及时性和可修改性。这也正是 Canvas 被人们所喜爱的原因。人们可根据自己的需要画出自己想要的图形。
以上是毕业论文大纲或资料介绍,该课题完整毕业论文、开题报告、任务书、程序设计、图纸设计等资料请添加微信获取,微信号:bysjorg。
相关图片展示: