admin 管理员组文章数量: 887021
2024年1月28日发(作者:html5题目)
原创性声明
本人声明,所呈交的学位论文是本人在导师指导下进行的研究工作及取得的研究成果。尽我所知,除了论文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含为获得中南大学或其他单位的学位或证书而使用过的材料。与我共同工作的同志对本研究所作的贡献均已在论文中作了明确的说明。
作者签名: 日期: 年 月 日
学位论文版权使用授权书
本人了解中南大学有关保留、使用学位论文的规定,即:学校有权保留学位论文并根据国家或湖南省有关部门规定送交学位论文,允许学位论文被查阅和借阅;学校可以公布学位论文的全部或部分内容,可以采用复印、缩印或其它手段保存学位论文。同时授权中国科学技术信息研究所将本学位论文收录到《中国学位论文全文数据库》,并通过网络向社会公众提供信息服务。
作者签名: 导师签名 日期: 年 月 日
摘 要
随着高校的发展,校园面积不断扩大,校园内跨区域活动频繁,为了给校内师生和校外人士办公、教学、生活等方面带来更大的便利,以及面对校园信息化建设的全面推广和迅猛发展,因此,设计和开发具有本校特色的校园导航系统,进一步加强数字化校园建设,有一定的必要性和现实意义。
本文根据韶关学院五十周年校庆和校园数字化建设的实际需求,选择了利用B/S项目前台技术的软件开发方法来完成校园导航系统的设计与开发。本系统通过分析现有高校校园导航系统现状的基础上,结合本校的实际,对校园导航系统的功能进行了扩展,不仅实现校园地图查询、浏览功能,而且提供了能够反映学校面貌的其他信息查询。具体划分为以下几个功能模块: 校园地图查询、校园导航、3D校园、成果展示、荣誉档案、教授博士、发展历程、校庆专栏等,并对主要功能模块进行了详细分析。本文还重点研究了迪杰斯特拉算法,阐述如何通过迪杰斯特拉算法实现地图上起点与终点之间最短路径线路及距离,使校园导航系统真正发挥作用。
系统使用了Flash平台技术和PHP语言后台技术来建设易开发、易维护、易扩展的应用系统,简化了客户端的开发,减少了操作数据库的工作量。目前该系统已经完成整体框架设计,从运行效果来看,各功能模块能够正常使用和运行,应用也是比较成功的。
关键词:建模技术,Flash技术,校园地图,导航系统,最优路径,全景图像
I
ABSTRACT
With the development of colleges, the campus area is expanding
unceasingly and the cross-regional activity is frequent either. On the one
hand, in order to bring convenience for teachers, students and people
outside the office in working, teaching, and living. On the other hand,
facing with the comprehensive promotion and rapid development of
campus informatization, therefore, it is necessary and practical to design
and develop campus navigation system with our own characteristics, so
that it can further strengthen digital campus construction.
According to the actual needs of Shaoguan University’s fifty
anniversary and the digital campus construction, the thesis make use of
the technology of B/S project to achieve the design and development of
campus navigation system. On the basics of the analysis of current
situation of college campus navigation system and the combination with
the reality, the system’s function was expanded. Doing so, it can not only
realize campus map query and browsing, but also reflect the other
information query of campus. The concrete function is divided into the
following modules: campus map query, campus navigation, 3D campus,
display of achievements, honorable files, Professor, development history,
campus column and so on, besides it have detailed analysis in the main
function modules. In addition, the thesis focuses on the Dijkstra algorithm
and describes how Dijkstra algorithm achieves the shortest path and
distance line between the starting point and the end point of the map,
making the campus navigation system really taking effect.
The system makes use of Flash platform and PHP language
background to build the application system, which easy to develop, easy
to maintain and easy to expand, so that it can simplify the development of
client and reduce the workload of database operations. At present, the
system has been completed the overall design of framework and from the
running effect, the application is successful, for each functional module
can be used and operated normally.
Keywords:
Modeling technique,Flash technology,Campus map,
Navigation system, Optimal path algorithm, Panoramic picture
II
目 录
摘 要............................................................................................................................... I
.II
目 录.............................................................................................................................III
第一章 绪论..................................................................................................................7
1.1 课题的来源、目的和意义 .................................................................................. 7
1.2 校园导航系统研究现状...................................................................................... 7
1.2.1国外研究现状 ........................................................................................... 7
1.2.2国内研究现状 ........................................................................................... 8
1.2.3系统设计理念 ........................................................................................... 9
1.3 论文主要研究的内容 ......................................................................................... 9
1.4 本文的安排与组织结构.................................................................................... 10
第二章 校园导航系统采用的相关技术 ...................................................................11
2.1 3ds Max建模技术.............................................................................................11
2.1.1 多边形建模.............................................................................................11
2.1.2 二维图形建模 ........................................................................................ 12
2.1.3 复合对象建模 ........................................................................................ 14
2.2 最短距离寻路技术 .......................................................................................... 17
2.2.1 迪杰斯特拉算法思想 ............................................................................ 18
2.2.2 迪杰斯特拉算法的原理 ........................................................................ 18
2.3 Flash技术 ..................................................................................................... 19
2.4 其他相关技术 ................................................................................................... 20
2.5 本章小结.......................................................................................................... 21
第三章 校园导般系统的需求分析 .......................................................................... 22
3.1 系统需求描述.................................................................................................. 22
3.2 系统功能分析 ................................................................................................. 22
3.3 系统概要设计 ................................................................................................. 24
3.3.1 建筑物模型设计..................................................................................... 24
3.3.2 系统数据库设计..................................................................................... 26
3.3.3 后台管理设计 ........................................................................................ 28
3.4 本章小结 ........................................................................................................ 29
第四章 全景图算法及在系统中的改进 .................................................................. 30
4.1 全景视图简述................................................................................................... 30
4.2 全景图生成的经典算法..................................................................................... 31
III
4.3 改进的全景图拼接算法..................................................................................... 32
4.4 本章小结.......................................................................................................... 35
第五章 校园导向系统具体实现 .............................................................................. 36
5.1 系统体系结构 ................................................................................................. 36
5.2 系统主要模块实现............................................................................................ 37
5.2.1 校园地图模块的设计与实现 ................................................................. 37
5.2.2 导航模块的设计与实现 ........................................................................ 42
5.2.3 最短路径模块的设计与实现 ................................................................. 46
5.2.4 后台管理模块的设计与实现 ................................................................. 50
5.3 系统具体测试 ................................................................................................. 54
5.4 本章小结 ........................................................................................................ 54
第六章 总结与展望 .................................................................................................. 55
6.1 论文总结 ........................................................................................................ 55
6.2 论文展望 ........................................................................................................ 55
参考文献..................................................................................................................... 57
致 谢.......................................................................................... 错误!未定义书签。
IV
硕士学位论文 第一章 绪论
第一章 绪论
1.1 课题的来源、目的和意义
自2001年12月教育部办公厅发出《关于加快推进教育系统政务信息化建设的通知》以来,全国各高校信息化建设迅速发展。依托高速发展的互联网技术,各高校网站建设水平飞跃提高,各种应用软件在高校各职能部门也得到广泛运用,办公自动化水平不断提高。
韶关学院校本部面积2500多亩,分成南、北、西区。科研实验室、办公楼、教学楼、体育场地、食堂、超市、学生宿舍在各个区都有分布,校园占地广,各个分区地理分布上相互交错。因此,设计一款面向广大师生和外来办公或参观人员的校园导航系统是十分必要的。
韶关学院校办信息管理科负责全校网页的设计与管理以及信息发布,信息管理科负责管理一支由二十多名学生组成的信息管理队伍,学生们创建了网园资讯工作室,将个人和团队的创意通过这个平台来实现。其中他们创建了一个3D校园地图,校园主要景点能够在地图上闪烁提示,点击后还能够进行全景浏览。在此基础上,我们初步形成了建立校园导航系统的设想,也就是本课题的来源。
我们认为,校园导航系统不仅具有校园地图功能,还应该扩充其他功能,通过各功能模块提供各方面的信息,能够为校内和校外人员办公、生活和了解学校提供帮助,特别是为校外人员来校办事提供便利,并作为学校对外的一个窗口,为外界人士和校友提供一个了解学校的平台。
1.2 校园导航系统研究现状
1.2.1国外研究现状
校园导航系统实际是虚拟现实(Virtual reality,简称VR)技术与地理信息系统技术的相结合。虚拟现实技术是在上世纪80年代初由美国人拉尼尔提出,这种技术通过计算机产生与现实一样的虚拟环境,以三维视觉画面为主,兼具听觉、触觉甚至于嗅觉的人工环境,使人沉浸于虚拟环境,有一种身临其境的真实感受,因此其具有沉浸性、多感知性和交互性的特征。地理信息系统(GIS)是结合地理学与地图学,用于输入、存储、查询、分析和显示地理数据的计算机系统,它主要的功能是能够提供多种空间和动态的地理信息。
美国是VR技术的发源地,其虚拟现实研究技术在国际上处于最高水平。而7
硕士学位论文 第一章 绪论
且应用的领域十分广泛,特别是在军事、航天、医疗、汽车生产和建筑上的应用尤为突出。美国高校也是VR技术研究的活跃地带,由于政府的大力支持,美国大学校园的计算机网络技术和VR技术发展迅速。各所大学在VR技术上各具特色,比如美国北卡罗来纳大学应用VR技术从事航天驾驶、外科手术仿真、建筑仿真方面的研究,Loma Linda大学医学中心成功地将计算机图形及VR的设备用于探讨与神经疾病相关的问题,华盛顿大学将VR研究引入到教育、设计、娱乐和制造领域。在瑞士,政府大力支持在高等教育领域进行信息化建设,并通过特别财政补贴方式建立瑞士虚拟校园,有多所的联邦高工和高等职业学院参与了瑞士虚拟校园计划的实施,虚拟校园的研究十分活跃。
英国、德国、荷兰等欧洲一些比较发达的国家对VR技术的研究也是比较深入的,而处于领先地位应属英国,特别是在分布并行处理、辅助设备设计和应用研究等方面。英国一家IT公司研究发现虚拟现实应用的交点应集中在整体综合技术上,是虚拟现实技术的一个重大突破。另外一家英国IT公司解决了虚拟现实重构问题,在虚拟建筑设计和科学可视化计算方面有创新性研究成果。
日本在使用VR技术的研究与开发方面领先于其他亚洲国家。其科研人员主要致力于建立大规模的虚拟实现知识库的研究。日本的东京技术学院研究了一个用于建立三维模型的人性化界面公司计算机和通信分部中的系统研究室开发了一种虚拟现实系统。东京大学的原岛研究室也开展了人类面部表情特征的提取、三维结构的判定和二维形状的表示、动态图像的提取这三方面的研究。除此之外,筑波大学、松下电子有限公司等科研所均在VR技术方面都有较深入的研究[1] [2]。
1.2.2国内研究现状
我国的VR技术研究开始于上世纪90年代,比起欧美发达国家仍有较大的差距。但由于VR技术在社会各领域的应用有着美好的前景,社会各界也对VR技术引起高度关注,并积极投身研究和应用,特别是近些年虚拟现实技术在我国发展极为迅速,被广泛的应用在城市规划、教育培训、文物保护、医疗、房地产、互联网、勘探测绘、生产制造、军事航天等数十个重要的行业,全世界的目光都聚焦于虚拟现实技术在中国的蓬勃发展。重庆巴比伦信息技术有限公司是一家专业从事虚拟现实技术、建筑三维动画制作、三维城市宣传片等核心业务的专业化技术企业。公司在在线虚拟现实技术、三维宣传动画制作、多媒体数字广播、信息安全等方面进行过大量的研究工作,与国际上在该领域内的前沿技术基本保持同步。
在高等教育领域,国内一些重点院校在VR技术上也取得了一定的研究成果。北京航空航天大学计算机系是国内最早进行VR研究、最有权威的单位之一,着8
硕士学位论文 第一章 绪论
重研究了虚拟环境中物体物理特性的表示与处理;实现了分布式虚拟环境网络设计,虚拟现实应用系统的开发平台等。浙江大学开发出了一套桌面型虚拟建筑环境实时漫游系统,还研制出了在虚拟环境中一种新的快速漫游算法和一种递进网格的快速生成算法;哈尔滨工业大学已经成功地虚拟出了人的高级行为中特定人脸图像的合成、表情的合成和唇动的合成等技术问题。[3] [4] [5]。
还有的高校则依托专业技术公司设计开发校园导航系统,不仅界面友好,而且功能强大,受到师生的欢迎。如华中师范大学的校园数字导航系统由武汉帷幄信息技术有限公司设计开发,其触摸式一体机为师生访客提供方便、快捷、及时的电子导航、校园最新资讯及生活贴士服,为每位走进校园的人提供最便捷、最贴心的信息服务,在全国高校尚属首创。但这种由专业公司打造出来的校园导航系统无疑需要庞大的资金投入,并不适用于所有高校。有条件的学校可依靠校内各方的资源和技术,共同开发适合自身的校园导航系统,这样更为实际。
1.2.3系统设计理念
设计校园导航系统首先必须获取准确的地理信息,对校园的各种建筑、运动场、景观等准确定位,在此基础上,进行3D建模,构建三维立体的虚拟空间。然后建立导航数据库,实现导航功能和人机交互功能。因校园地图一般不有太大改变,因此本系统不选择GIS嵌入,以减少技术难度和实现成本。导航定位通过地图坐标处理,同样可以解决位置定位、路径规划和路径引导等问题,同样能够提供地理信息浏览和查询服务。本系统设计按如下方式规划:
1、模块的规划:导航功能主要包括导航定位、路径规划、地图匹配、导航引导4个模块。人机交互功能模块主要包括地图浏览和地图查询2个模块。
2、导航系统设计实现的流程一般分为几个步骤:一是从Google地图上获取校园完整地图;二是将地图上位置经纬度坐标值转换到屏幕的像素坐标,并匹配到地图上;三是在校园平面图上建立三维立体模型;四是运用迪杰斯特拉算法求出最短路径,实现寻路功能;五是制作一定量的全景图,实现局部的漫游。
3、系统实现的主要功能:地图导航、最优路径分析、三维地图漫游、定点位置搜索、资讯服务、网络校园导航等功能[6] [7] [8]。
1.3 论文主要研究的内容
1、建立地图导游系统的模型,给出系统功能模块及流程设计。
2、建立地图信息模糊查询机制。即对地图信息进行唯一性标识的基础上,实现数据库地图信息表中的信息与地图信息的一一对应。地图模糊信息表中的信9
硕士学位论文 第一章 绪论
息与地图表的信息是多对一的关系,通过地图信息表与地图模糊信息表数据间的联动,实现地图信息模糊查询的目标。
3、建立地图信息分区查询机制。
4、建立地图放大、缩小、平移机制。
5、建立便捷的管理操作后台。方便管理员对网站数据库和文件的快速操作,使前台内容能够得到及时更新和调整。特别是针对校园景点、办公、生活、休闲区多的特点,后台管理显得尤为重要。
1.4 本文的安排与组织结构
第一章 绪论。本章介绍系统的课题来源、目的和意义,介绍了校园导航系统国内外研究现状,说明了本文的研究主要内容及组织结构。
第二章 校园导向系统采用的相关技术。主要介绍了完成本系统采用的几项主要技术,本系统虽然有几个功能模块,但从实现的角度来看,主要有建模技术、flash技术、MySQL数据库技术、服务端Apache技术、B/S项目的前台技术,其他相关技术可以在购买产品时选择即可。
第三章 校园导般系统的需求分析。对系统需求进行全面的描述,根据系统要达到的目标确定系统的功能性需求,对系统需要解决的问题进行阐述。
第四章 突出系统的创新设计——全景图设计的理念及实现方法。以及利用迪杰斯特拉算法实现最短路径线路及距离。
第五章 校园导向系统具体实现。重点对系统的主要模块进行详细设计,对系统用例中使用的类和对象进行进一步的精化,确定每一个类的属性和方法。
第六章 总结与展望。对本文工作进行了总结,阐明了系统不足之处,可以对其进行二次开发的设想,并对下一步的工作进行了展望。
10
硕士学位论文 第二章 校园导航系统采用的相关技术
第二章 校园导航系统采用的相关技术
2.1 3ds Max建模技术
该校园导航系统的三维模型采用3ds Max软件制作,所用到的建筑建模方法主要是多边形建模、二维图形建模、复合对象建模。
2.1.1 多边形建模
多边形建模的工作原理是将一个简单的几何体模型转换为可编辑多边形或添加可编辑多边形修改器,然后对多边形的各个子对象进行加工处理,以创建复杂的模型。多边形对象的编辑常用的是顶点、边、面的编辑,方法如下:
1、编辑顶点子对象
在顶点子对象的编辑状态下,修改命令面板中会相应的展开一个“编辑顶点”的卷展栏,里面包含了编辑顶点的各个命令。主要的命令有:移除、断开、焊接、目标焊接、挤出、切角、连接,如图2-1。可利用这几种命令编辑多边形的顶点的形态,图2-2为使用切角命令时的效果。
图2-1 图2-2
2、编辑边子对象
当多边形进入边子对象编辑状态时,修改命令面板中会有一个“编辑边”的卷展栏,里面包含了编辑边的各个命令,这些命令包括:插入顶点、移除、分割、挤出、切角、连接,如图2-3。通过这些命令可对多边形的边子对象进行插入顶点,移除某一条边、分割多边形的面,挤出边的高度、连接边等操作[9] [10],图2-4为使用连接边命令时的效果。
11
硕士学位论文 第二章 校园导航系统采用的相关技术
图2-3 图2-4
3、编辑多边形子对象
在编辑多边形子对象的编辑状态下,修改命令面板会出现一个“编辑多边形”卷展栏,该卷展栏包含的命令有:插入顶点、挤出、倒角、插入、设置多边形材质ID号,如图2-5。通过这些命令可对可编辑多边形的多边形子层级进行挤出面,插入面,对面设置材质ID好,以便每个面的材质可根据不同的需要设置[11]。图2-6为挤出面命令效果。
图2-5 图2-6
2.1.2 二维图形建模
在三维模型的制作中二维图形的使用颇为频繁,可以通过二维曲线迅速地生成三维模型,这种建模方法可以大大的简化由几何体创建三维模型的复杂度。
1、添加“挤出修改器”
挤出修改器属于二维修改器,其工作原理是将样条线以切面形式沿一个方向堆积出一定的厚度,这样就可以将二维图形转换为三维物体。挤出修改器对应的“参数”卷展栏有:数量、分段、封口始端、封口末端等主要参数。“数量”用来控制挤出的高度,正值为沿法线的方向挤出,负值为沿法线的负方向挤出;“分段”用来控制被挤出物体的高度或厚度的分段,图2-7为样条线挤出后的效果。
12
硕士学位论文 第二章 校园导航系统采用的相关技术
图2-7
2、添加“车削”修改器
车削修改器也是二维修改器,其工作原理就是将二维图形沿某个轴向(x轴、y轴、z轴)旋转一定的度数,将二维图形转换为三维物体。其主要的参数有:度数、焊接内核、翻转法线、分段等。度数用来控制样条线旋转的度数;焊接内核复选框被选中后,系统将旋转轴中的顶点进行焊接;翻转法线的作用是纠正由于依赖二维图形上的顶点和旋转的方向,可能产生的内部外翻错误;分段用来控制三维物体表面上的分段数量,数值越大,物体表面越平滑[12] [13],如图2-8。
图2-8
3、添加“倒角”修改器
倒角修改器也是二维修改器,其工作原理就是为样条线加一个深度,如图2-9为添加倒角修改器后的效果
13
硕士学位论文 第二章 校园导航系统采用的相关技术
图2-9
4、添加“倒角剖面”修改器,为二维图形添加“倒角剖面”修改器,在参数卷展栏下单击“拾取剖面”按钮,如图2-10,效果如图2-11。
图2-10
图2-11
2.1.3 复合对象建模
复合对象建模在建筑模型中常用的方法有:散布、一致、地形、布尔、放样。14
硕士学位论文 第二章 校园导航系统采用的相关技术
下面以“地形”和“放样”为例说明。
1、“地形”复合对象建模
通过“地形”命令能够将多个二维形对象组合成网格对象,这种建模方法通常用于创建地形。创建“地形”操作步骤如下:
(1)创建两个或两个以上的二维形对象,在建立的对象是山体是,二维图形的线为山体的等高线,如图2-12。
图2-12
(2)选择一个二维形对象,在“复合对象”面板的“对象类型”卷展栏中单击“地形”命令按钮,如图2-13。
图2-13
(3)在“拾取操作对象”卷展栏中单击“拾取操作对象”按钮,然后在视图中依次拾取二维形对象,如图2-14。
15
硕士学位论文 第二章 校园导航系统采用的相关技术
图2-14
2、“放样”复合对象建模
放样对象是通过一个路径形组合一个或多个截面型来创建二维形体,路径形相似于船的龙骨,而截面型相似于沿龙骨排列的船肋。它相对于其他复合对象具有更复杂的创建参数,从而可以创建出更为精细的模型[14]。放样的建模方法如下:
(1)创建用于操作的路径型和截面型,如图2-15。
如图2-15
(2)选择路径型,在“复合对象”创建面板的“对象类型”卷展栏中单击“放样”命令按钮,如图2-15。
如图2-15
(3)在“创建方法”方法卷展栏中单击“获取图形”按钮,然后在视图中拾取截面形,如图2-16
16
硕士学位论文 第二章 校园导航系统采用的相关技术
图2-16
2.2 最短距离寻路技术
在校园导航系统中,一个核心的问题是在校园地图中如何获得最短的路径及距离,使校园地图真正起到指示方向、显示始发点到目的地距离的作用。通过运用迪杰斯特拉(Dijkstra)算法能够较好地解决这一问题。
输入起点、终点代码
得到起点、终点代码
转化为数字
准备算法
求最短路径
显示最短路径 标示最短路径
结束
图2-1 最短路径的算法流程
17
硕士学位论文 第二章 校园导航系统采用的相关技术
2.2.1 迪杰斯特拉算法思想
令G=(V,E)为一个带权有向图,把图中顶点集合V分成两组,第一组为已求出最短路径的顶点集合S(初始时S中只有源点,以后每求得一条最短路径 , 就将它对应的顶点加入到集合S中,直到全部顶点都加入到S中);第二组是未确定最短路径的顶点集合U。在加入的过程中,总保持从源点v到S中各顶点的最短路径长度不大于从源点v到U中任何顶点的最短路径长度。其算法步骤如下:
(1)初始时,S只包含源点。
(2)从U中选取一个距离v最小的顶点k加入S中(该选定的距离就是v到k的最短路径长度)。
(3)以k为新考虑的中间点,修改U中各顶点的距离;若从源点v到顶点u(u U)的距离(经过顶点k)比原来距离(不经过顶点k)短,则修改顶点u的距离值,修改后的距离值的顶点k的距离加上边
(4)重复步骤(2)和(3)直到所有顶点都包含在S中[15]。
图2-2 A开始到各节点的最短路径示意图
2.2.2 迪杰斯特拉算法的原理
求解最短路径,实际就是图的遍历过程。从图的遍历是指图中某一顶点出发访遍图中其余顶点,使每一个顶点仅被访问一次的过程。图的遍历比树的遍历要复杂得多,因为它的任一顶点都可能和其余的所有顶点相邻接,极有可能存在沿着某条路径搜索后,又回到原顶点,而有些顶点却还没有遍历的情况。为了避免因回路陷入死循环,需要科学设计遍历方案,通常有深度优先遍历和广度优先遍历。下面以深度优先遍历为例:
如图2-3要求在左图这样的一个迷宫中,从顶点A开始要走遍所有的图顶点并作上标记。首先从顶点A开始,做上表示走过的记号后,前面有两条路,通向B和F,在没有碰到重复顶点的情况下,我们坚持始终向右手边走的原则,于18
硕士学位论文 第二章 校园导航系统采用的相关技术
是走到了B顶点。发现有三个分支,分别通向顶点C、I、G,右手通行原则,使得我们走到了C顶点。我们一直顺着右手通道走,一直走到F顶点。如果依然选择右手通道走过去后,发现走回到顶点A,因为在这里做了记号表示已经走过。我们退回到顶点F,走向从右数的第二条通道,到了G顶点,它有三条通道,发现B和D都是已经走过的,于是走到H,当我们面对通向H的两条通道D和E时,发现都已经走过了。但我们并没有遍历所有的顶点。在顶点H处,再无通道没有走过,返回到G,也无未走过的通道,返回到F,没有通道,返回到E,有一条通道通往H的通道,验证后也是走过的,再返回到顶点D,有三条道H、G、I,其中I是一个新顶点,没有标记,那么记下来。继续返回,直到返回顶点A,完成遍历任务,找到所有的9个顶点[16] [17]。
图2-3
最短路径在网图和非网图中,最短路径的含义是不一样的。由于非网图没有边上的权值,那么最短路径就是指两顶点之间经过的边数最少的路径;而对于网图来说,最短路径是指两点之间经过的边上权值之和最少的路径,路径上的第一个顶点我们称之为原点,最后一个顶点是终点。就地图来说,距离就是两顶点间权值之和。
2.3 Flash技术
Flash是美国的一家名为MACROMEDIA的公司在1996年推出的网页动画设计软件,它彻底改变了互联网上一直以来图片加文字的表现模式,将动画、声效、音乐以及充满创意的界面有机结合,制作出具有动态效果令人耳目一新的高品质的网页。经过十多年的发展,Flash从早期的动画设计软件,逐步转变为强大的应用平台,其程序功能逐渐加强,使用flash理所当然成为越来越多互联网19
硕士学位论文 第二章 校园导航系统采用的相关技术
应用的选择。当前flash版本已经发展到10,在动画、富程序、互动、视频等多方面的方面的技术水平更加成熟,特别是在视频技术方面,支持高清视频编码,支持高清音频流,支持P2P的协同传输协议,在互联网应用上占有绝对的优势技术。
Flash动画技术有如下特点:
1、Flash动画占用很小的网络资源,利用Flash制作的动画是矢量图,矢量图无论放大多少倍都不会失真。
2、Flash动画具有交互性优势,可以更好地满足用户的需要,用户仅需通过简易快捷的操作就可决定动画的运行过程和结果,比传统动画制作繁杂的操作具有很大的优势。
3、Flash动画使用的是矢量图技术,具有文件小、传输速度快、播放采用流式技术的特点,动画可以边下载边播放,所以Flash动画深受欢迎并在广为使用。
4、Flash动画有很好的视觉效果,比传统的动画更加灵巧,更具表现力。而且制作成本非常低,能够大大地减轻人力、物力资源的消耗和减少制作的时间。
5、Flash动画在制作完成后,可以把生成的文件设置成带保护的格式,更好地维护设计者的版权利益[18]。
2.4 其他相关技术
1、新型触摸屏技术
触摸屏作为一种新的人机交互设备,它是目前最简单、最方便的输入设备。触摸屏从技术原理上区分,触摸屏可以分成四个基本种类:红外技术触摸屏、表面声波触摸屏、电阻触摸屏、电容触摸屏。新型触摸屏具有几个特点:(1)高防水效果,用户不会因为手指上的水滴而出现误触控的情况,目前是触控界的最尖端技术。(2)高精确度,通过精密的硬件架构及软件算法优化底层原始点,实现用户触控的高精确度,在用户触控过程中不会出现手指游移的情况,这使得虚拟键盘以及无触控笔操作更人性化,更精准。(3)高信嗓比,信嗓比的高低是衡量触控效果的重要标准,如果信嗓比很低,触控效果是很差的,因此更高的信嗓比,这无疑是为用户的人性化触控提供了强有力的保障。(4)快速响应,响应时间也是衡量触控效果的必要标准,因为它直接影响用户在屏幕上移动手指的速度,进行“平移”“放大”等操作,以及用手指或者电容触控笔在屏幕上书写。响应慢的触控IC会检测不到触控动作。新型的触摸屏使用不同的硬件扫描、手指处理,采用高度优化的算法进行手指检测手指定位等,来达到快速响应。(5)高刷新率,如果IC刷新率低会导致动作抖动,手指移动线路会变成不连续的线段,而不是连续的曲线。(6)低功耗,对于电子产品来说功耗通常都是放在第20
硕士学位论文 第二章 校园导航系统采用的相关技术
一位的,如果触控IC功耗太大,会直接使移动电子设备终端电池续航能力大打折扣。以上也是校园导航系统在应用时选择触摸屏应该考虑的[19]。
2、MySQL数据库技术
MySQL是一个跨平台的开源关系型数据库管理系统,目前MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。MySQL具有以下系统特性:(1)使用C和C++编写,并使用了多种编译器进行测试,保证源代码的可移植性;(2)支持AIX、FreeBSD、HP-UX、Linux、Mac OS、NovellNetware、OpenBSD、OS/2 Wrap、Solaris、Windows等多种操作系统;(3)为多种编程语言提供了API。这些编程语言包括C、C++、Python、Java、Perl、PHP、Eiffel、Ruby和Tcl等;(4)支持多线程,充分利用CPU资源;(5)优化的SQL查询算法,有效地提高查询速度;(6)既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中[20]。
3、服务端Apache技术
Apache是一个开放源代码的HTTP(Hypertext Transfer Protocol,超文本传输协议)服务器,运行在无数的不同UNIX版本以及Microsoft Windows平台上。它包括一个能够使用无数编程语言扩展Apache的编程接口(API),这些语言包括C语言、Perl、PHP、Java、Python、Ruby以及Tcl。Apache还包含为了安全地运行网站所需的SSl协议(Secure Sockets Layer,安全套接字层)和TLS协议(Transport Layer Security,传输层安全)。
4、B/S项目的前台技术
B/S结构(Browser/Server,浏览器/服务器模式)适用于校园导航系统的设计,这种模式将实现系统功能的核心部分全部集中到服务器上,简化了系统的开发、维护和使用。只需通过一个浏览器与服务器上安装的数据进行数据交互,简化了客户端电脑载荷,也使系统维护、升级成本和工作量大大减轻,降低了用户的总体成本。
2.5 本章小结
本章重点介绍设计开发校园导航系统要应用的相关技术理论基础,包括建模技术、迪杰斯特拉(Dijkstra)j算法最短距离寻路技术、Flash技术以及其他相关的MySQL数据库技术、服务端Apache技术、B/S项目的前台技术以及开发本系统所用到的.NET平台。
21
硕士学位论文 第三章 校园导航系统的需求分析
第三章 校园导般系统的需求分析
3.1 系统需求描述
本系统运用3DS max建模技术构建三维校园虚拟场景,结合多种计算机技术将校园地图及最能体现校园特色的讯息汇聚,采用现行先进的触摸屏技术,实现校园多方位、多层次的导向功能,同时在校园网络上应用。实现在校园各主要场所用户通过触摸屏浏览各功能模块的信息,又能通过校园网各电脑终端使用本系统。导航系统主窗体显示六个功能模块,分别是校园地图、成果展示、荣誉档案、教授博士、发展历程、校庆专栏,并提供校园网链接入口,实时访问学校主页。
韶关学院校园导航系统
校园地图 信息速递
校庆专栏
校园主页
地图查询
校园导航
3D校园
成果展示
荣誉档案
教授博士
发展历程
活动安排
历届校庆
图3-1 校园导航系统结构图
本项目的目标主要是实现一个基于Flash Actionscript3.0的校园地图。用户可通过系统提供的查询功能,能够快速查找到想要到达的地点和路径,而且能够显示目的地所在建筑物及房号,方便用户直达目的地,提高工作效率。还可以了解该建筑物的功能,当用户在地图上浏览时,可通过鼠标的移动,查看某处的校园风光全景图。另外,为了对外推介学校,将主要的校情信息,如教授博士、教学科研成果、获得的各种荣誉等,向用户展示。最后,系统还可以返回校园网主页,为有需要的用户提供更多的校园信息。
3.2 系统功能分析
1、校园地图
22
硕士学位论文 第三章 校园导航系统的需求分析
校园地图按当前韶关学院的布局,可分为南区,北区,西区三大版块,地图上提供南区、北区、西区三个接口链接,点击相应链接可单独查看相对应的区域地图,也可以直接浏览总版块。
(1)地图查询(可查询学校的景点、办公楼、院系、部门):将校园内主要景点、主要建筑物、各院系、各部门的办公地点录入系统数据库。通过查询关键词(景点、办公楼、院系、部门),可清楚的了解到要查询的地点在何处,同时在地图上有浮动提示。用户也可以在虚拟地图上选择始发点到终点的名称,通过最短路径的搜索,该功能可方便用户快速知道到达目的地的最短最优路线。
(2)校园导航(可查看某景点、某栋建筑物的详细说明):查看建筑物、办公楼。当用户的鼠标移至某栋建筑物时,地图上有浮标提示该栋建筑物的功能,所处地点;当用户点击该提示后,则出现该栋建筑物的详细说明信息,同时以分楼层,列表的形式显示该栋楼里的部门院系办公地图,具体到什么部门什么科室在某层某室。
(3)3D校园展示:采用flash动画技术,直观的展示一个韶关学院的校园3D模型效果。类似以前做的3D韶关学院效果。实现放大、缩小、平移、环绕等功能。
(4)校园风光:用户在虚拟地图上浏览某栋建筑、或某个地点时,地图上浮动出现该建筑,该地点的校园风光图片,校园风光图片经处理后,可在地图上全景展示,用户可用鼠标移动图片,从不同角度欣赏该景点。
2、服务指南
主要介绍校内就餐服务、校内住宿服务(对外)、学校通勤车服务、校内各商业网点和休闲娱乐。
3、校情资讯
分成几个版块:(1)成果展示。展示学校教学、科研方面比较突出的成果。按照国家级、省级、市级分类,以表格形式展示;(2)荣誉档案。展示学校获得市级以上的教学、科研、管理、文体方面的荣誉证书、牌匾、奖杯等;(3)教授博士。介绍学校现有教授博士的基本情况;(4)发展历程。主要介绍学校概况,内容涉及学校目前的情况、现任领导、历史沿革等内容。
4、校庆专栏
分成两个版块:(1)校庆回眸:主要介绍历届校庆的照片或视频;(2)本届校庆:本届校庆的主要活动及时间安排。
5、返回校园网主页
为了使系统的应用更加广泛,系统将应用到校园网上。
23
硕士学位论文 第三章 校园导航系统的需求分析
3.3 系统概要设计
3.3.1 建筑物模型设计
在校园导航系统中,最主要的界面是林林总总的校园建筑,因此对校园中各类建筑物进行三维建模是导航系统十分关键且工作量巨大的一项工作。三维几何模型目前主要有线框几何模型、表面几何模型和实体几何模型三种。实体几何模型是唯一一种能够区分物体的内部和外部、提取各部几何位置和相关关系的信息的[21]。但在本系统中,对建筑物的三维建模并不追求几何模型的炫目效果,而从经济、实用又不失效果真实的角度去设计建筑物三维模型。
校园建筑物建模通常采用 3DS max 软件来制作,作为校园建筑物的建模可先从Google地图上获取校园地图的底图,再用数码相机对建筑物逐幢取景,然后利用 3DS max 软件对每一幢建筑物创建模型,在模型表面上进行纹理处理,每幢生成一个.max 文件,最后是挂接数据库,生成3D校园地图。建模流程主要有5个关键的步骤:
(1)收集资料,查阅图书馆收藏的有关校园建设的施工图和对校园建筑进行取景,采用广角数码相机对建筑进行实际野外采集,通过取景拍摄的相片获取纹理;
(2)根据收集的资料在AutoCAD软件中绘制总平面图,并结合Google地图获得更加精准完整的校园地形结构;
(3)3ds Max 建模,将在AutoCAD软件中整理好的dwg文件导入到3ds Max软件中制作实体模型,结合相应的建模方法以及收集的建筑模型结构制作校园3D模型。
(4)三维模型优化,模型生后要进行优化压缩模型,相同材质的模型物件尽可能的附加在一起,以减少场景中物件的个数,全部将背面删除,减少模型的面数。
(5)渲染模型,包括模型的灯光和材质,建筑物中的贴材质纹理用PS 处理,采用专业的图像处理软件Photoshop,对建筑取景的数据进行处理,使之符合建筑物外观贴图的要求。
3D校园的制作流程如图3-2。
24
硕士学位论文 第三章 校园导航系统的需求分析
收集资料 外墙纹理与结构拍摄
屋顶纹理与结构拍摄
绘制总平面图
Ps处理
导入3ds max建模
建模
校园里三维建筑外观模型是利用3ds Max 软件制作而成,建筑物的建模在整个工作流程中占了很大的比重,后续的如添加材质贴图等优化工作,都是以三维模型为基础的。3ds Max 软件是单文档应用程序,软件打开一次只能编辑一个场景,虽然可同时打开多个软件编辑窗口,但会占用计算机大量的内存,因此,最好是一次只编辑一个场景。用3ds Max软件制作三维模型的工作流程如图3-3所示。
导入CAD
总平面图
添加材
质贴图
模型制
作完成
制作模型
建筑三维模型的生成过程:
(1)收集数据:根据按照比例在AutoCAD软件中绘制的总平面图,并将绘制好总平面图的dwg文件导入到3ds Max软件中制作实体模型,。
(2)设置3ds Max单位:3ds Max中“自定义”→“单位设置”→“系统单位设置”单位。
(3)3ds Max实体模型建立:在3ds Max中导入校园总平面图的AutoCAD
Dwg底图,并将其冻结,根据总平面图建立三维模型。
25
建筑纹理贴图
材质贴图
三维模型
渲染三维模型效果图
PS后期处理效果图
图3-2 3D校园制作流程
优化模型
图3-3 模型制作流程
硕士学位论文 第三章 校园导航系统的需求分析
(4)楼层数量和高度必须按总平面图的矢量图的标注而定,有不规则建筑物则参照周围已知建筑物的比例来建立三维模型。
整个场景的模型都建立完毕后就要来对模型做进一步的优化,主要是从三个方面进行优化。
(1)删除多余面。一个建筑模型的大小是由模型的面数所决定的,对于在模型中的不可见面(如背面或侧面)可视情况删除,尽量减小模型的面数,以达到优化模型的目的。
(2) 模型分段的修改。在3D模型制作中,圆柱体或球体产生的数据量十分大,占用了大量的计算时间。可进行简化处理,例如,一个圆柱体有8~12个面已经达到精度要求,我们可以尽可能的将圆柱的边数设置为8,高度分段为1。
(3)附加物体。将相同材质的物体通过附加命令合成一个物体,以减少场景中的物体的个数,以便日后编辑、修改、维护[26] [27]。
3.3.2 系统数据库设计
1、空间数据模型
校园导航系统是以空间数据模型为基础的。空间数据模型是利用特定的数据结构来表达空间对象的空间位置、空间关系和属性信息,是对空间对象的数据描述,包含实体组和实体之间的相关关系。比如,校园中有多幢教学楼,每幢教学楼有若干层,每层有若干间课室,通过建立空间数据模型,既可以知道某幢教学楼有几层几间课室,也可知道某间课室在哪幢教学楼、第几层和第几间。因此,根据开发的要求,本系统采用了分层技术建立空间数据模型,把复杂的地物数据按类型分别存储,将复杂的地图数据简单化[28]。
在本系统的数据库设计中主要从四个层级考虑。如图3-4,第一层级是校园地图数据,主要存储各种建筑、道路、商铺等在地图中有类别区分的数据;第二层级是在第一层级的基础上构建有关数据,如把建筑物按教学楼、办公楼、学生公寓建立数据,道路、商铺如此类推建立有关数据;第三层级主要是对立体空间的楼宇再建一个相关数据库,将楼宇进行分层管理;第四层级是对每一楼层的房间建立一个独立的数据库。四个层级的数据建立后,再通过数据关联把它们联系起来。
26
硕士学位论文 第三章 校园导航系统的需求分析
校园图
楼
楼宇
商铺
房间
道路
层图
楼层
相关属性信息
图3-4 校园空间数据模型图示
2、校园空间数据分层设计
韶关学院校园空间数据库由空间数据库和属性数据库两部分组成,按照数据分层组织方法,将校园信息按图层的方式建立,它们之间的结构关系如图3-5所示:
空间数据库
ID
属性数据库
背
景
分
布
图
辅
助
分
布
图
道
路
分
布
图
建
筑
分
布
图
校
园
地
面
调
查
组
织
机
构
信
息
图3-5 校园空间数据库结构图
3、校园空间数据的属性设计
校园属性数据指的是空间实体的特征数据,由系统管理员把完整采集到的数据在系统管理后台存储到数据库中。在本文中,以上面空间数据模型为依据,结27
硕士学位论文 第三章 校园导航系统的需求分析
合系统的需要建立了三个属性表。[29] [30]。
字段 类型 整理 属性 Null
id int(11) latin1_swedish_ci 否
name_cn char(40) latin1_swedish_ci 否
name_en char(40) latin1_swedish_ci 否
intro_cn text latin1_swedish_ci 否
intro_en text latin1_swedish_ci 否
tel int(11) 否
site text latin1_swedish_ci 否
panor_url text latin1_swedish_ci 否
icon_url text latin1_swedish_ci 否
unit_list_id int(11) 否
position_x int(11) 否
position_y int(11) 否
表一 存放学校各种建筑的数据
默认
额外
auto_increment
字段
id
name_cn
name_en
intro_cn
intro_en
tel
site
panor_url
icon_url
类型
int(11)
char(40)
char(40)
text
text
int(11)
text
text
text
整理 属性 Null 默认
latin1_swedish_ci 否
latin1_swedish_ci 否
latin1_swedish_ci 否
latin1_swedish_ci 否
latin1_swedish_ci 否
否
latin1_swedish_ci 否
latin1_swedish_ci 否
latin1_swedish_ci 否
表二 存放各个机构单位的相关数据
额外
auto_increment
字段
id
floor
uid
room_num
类型 整理 属性 Null 默认
int(11) 否
int(2) 否
int(11) 否
int(2) 否
表三 楼层、室号与单位机构对应的关系表
额外
auto_increment
3.3.3 后台管理设计
1、建筑物管理。管理员登陆后,可对目前建筑物的信息进行管理:建筑物的地点,功能,建筑物的风光图片;并可以对在该栋建筑物中的院系部门信息进行管理操作:某院系/部门的说明,所在的楼层,办公地点(具体到几楼几室)。并可以对该建筑物中的部门进行添加,修改及删除操作。
28
硕士学位论文 第三章 校园导航系统的需求分析
2、景点的管理。登陆后,可对某景点的信息进行管理:景点信息,地点,所处方位,所处区域,并可以上传或修改该景点的校园风光图片。
3、校园风光管理。可以对某处地点、建筑物的图片进行管理操作,上传新图片、修改该校园风光的信息。
4、其它信息的管理。可以对学校概况、现任领导、历史沿革、3D校园的信息进行维护,此处可按普一般网页管理后台制作。
5、管理员信息管理。最高权限的管理员,可以对整个系统后台进行管理,进行各类信息的维护工作,并可以为信息录入员添加账号;信息录入员只能对各类信息进行添加操作,而不能进行修改,删除等操作。
6、数据库的备份功能。管理员可以对数据库进行备份,当前系统出现问题时,管理员可以利用以前的备份数据库对系统进行恢复。
7、后台的日志功能。可具体的记录管理员、录入员登陆系统的时间以及对系统所进行的操作。保证随时能让普通用户流畅访问,特别是关键操作,服务器响应时间不超过10秒(不考虑用户网络的限制)。本项目应有良好的自我检测和监控机制,以方便编码和测试维护人员进行错误的跟踪和排除。支持目前的主流浏览器,必须兼容的有:IE6至8、傲游、360浏览器等。
3.4 本章小结
本章对校园导航系统需求进行了描述,大体上展现了校园导航系统的概貌。在系统概要设计部分着重介绍了建筑物模型、系统数据库及后台管理的设计方案。
29
硕士学位论文 第四章 动态全景图的设计
第四章 全景图算法及在系统中的改进
真实场景的3D漫游是一项复杂的工程,虽然其有身临其境的功能,但在校园导航系统中并不实用。有些高校的导航系统专注于真实场景3D模型的构建,只是让人体验了虚拟环境的新奇感觉,而无他用。在本系统中,没有过分追求这种虚幻而意义不大的设计,而是使用了全景图的设计。全景图的设计也可以实现局部有限的漫游功能,在身处的位置以360度的视觉感受周围的景象,其最终实现的功能具体在第五章第二节导航模块的设计与实现中,此功能这也是本系统中的亮点。
4.1 全景视图简述
全景图也称为360度全景图、全景环视图。是一种运用数码相机对现有场景进行多角度环视拍摄之后,再利用计算机进行后期缝合,并加载播放程序来完成的一种三维虚拟展示技术。是由多角度拍摄数张照片后,使用专业三维平台建立数字模型,然后使用全景工具软件制作而成。可以使用IE浏览器或播放软件在普通电脑上观看,并用鼠标控制观察的角度,可任意调整远近,仿佛置身真实的环境之中,获得全新的感受。虽然全景视图有视点单一、只能在场景内部实现漫游等局限性,但由于该技术相对成熟,可操作性极强,其应用已相当普遍。
1、全景图像生成过程
制作全景图一般包括全景展示选择、图像采集、图像拼接、图像缝合以及全景图展示浏览等五个步骤。
(1)全景展示选择:全景图投影展示方主要分为三种模式:圆柱型、立方体型和物体型全景展示。圆柱型全景是水平360度观看四周的景色,但是上下的视野会受到限制,其垂直视角小于180度;立方体型全景的视角是水平360度,垂直180度,基本上是虚拟环境了;物体型全景的对象全景主要针对互联网上的电子商务,拍摄时瞄准对象,转动对象而不是相机,每转动一个角度拍摄一张,然后选用对象全景的播放软件,嵌入网页,对于商品和玩具展示,文物和工艺品的展示有特别的效果。
(2)图像采集:在景点的中心位置确定一个中心点,再将相机放置在中心点处,最好有相机三脚架,这样通过旋转三脚架上的云台,相机在不改变位置的情况下就可以拍摄不同方位的图片。拍摄前,最好关闭相机的自动曝光功能,尽量使用手动曝光模式,这样可以保证每张照片的曝光参数相同,拍摄出来的图片色调会比较统一,便于使用软件进行无缝拼接。拍摄焦距设定后,直到照片全部30
硕士学位论文 第四章 动态全景图的设计
拍完才能更改,焦距一般设置成50毫米比较合适。拍摄每张照片要留出一定的重叠部分,便于后面使用软件进行自动拼接。一般情况下,空出的重叠部分约占照片的20%~30%。
(3)图像拼接:可通过比较图片颜色或亮度的差异寻找最佳匹配点进行拼接,也可通过从一幅图片提取某一特征作为匹配模板在另一幅图片搜寻进行拼接,还可以先对图片进行变换再进行匹配。
(4)图像缝合:图像拼接好后,接着是对图像的重叠部分进行处理,最终实现图像的无缝拼接,确保拼接成的全景图像没有任何拼接的痕迹,就如同一幅完整的图像。目前普遍采用的图像缝合技术是线性插值法。
(5)全景图展示:全景图制作完成后,最后是按全景图展示方式播放全景图,并提供简单的浏览功能使人看到灵动的视野广阔的景观[31] [32]。
4.2 全景图生成的经典算法
1、全景图算法原理
全景图算法实际上是通过建立一个全景函数模型,再根据摄像机绕轴旋转360度所拍摄的图片序列求解每个相机的参数,然后进行全景图拼接。但这种方法需要拍摄大量的图片,有学者提出用8参数的二维(2D)投影模型求解投影矩阵M,以算法的方式求解图片拼接的最佳匹配点,制作出完美的全景图。该模型的数学表达如下所示:
um1X'~v=MX=
m4wm7m2m5m8m3xym6
(1)
m91经简化,X'的值为:
uw'xvX'=
y'=
(2)
w11在(1)式中表示两幅需要拼接图片的匹配点在各自坐标系中的齐次坐标分别为X(x,y,1)和X'(x',y',1)。假设X和X'象素点的亮度(或颜色)值分别为,那么重叠区域对应两点间亮度(或颜色)差的平方和为:
I'(x',y',1)和I(x,y))
EI'(x',y')I(x,y)e2 (3)
最小化(3)式的值,实际上就是求解一个非线性的最小二乘问题。虽然图31
2
硕士学位论文 第四章 动态全景图的设计
片的拼接可以用算法求得最佳匹配点,但在实际操作中,无论是使用Szeliski和Shum的将8参数模型改进为3参数模型,还是使用Levenberg-Marquardt(L-M)方法求解投影矩阵M,都存在计算量太大的问题,在实际运用中意义不大。
2、全景图像拼接算法归类及比较
现有的全景图像拼接生成算法主要分为基于面积的方法、基于特征的方法和基于相位的方法。
(1)基于面积的方法:这种方法是通过比较两幅图像亮度(或颜色)的差异,经过对比后,从中找到最小差异的地方进行匹配。这种方法存在计算量偏大、存在一定误差的缺点。
(2) 基于特征的方法:这种方法是从一幅图像中提取一定的特征,如:点、线、边缘等等,作为匹配模板,然后在第二幅图像中搜索。该方法可以提高计算速度,但是提取合适的图像特征还是比较困难。
(3)基于相位的方法:这种方法是傅立叶变换或小波变换的方式,也就是将图像看作二维信号,再进行图象的压缩、分类、识别与诊断、去污等处理,对图像进行变换,再利用变换后的图像的某些特征进行匹配。这种方法需要掌握相关的技术,而且如果容易发生空间上的局部变化,导致产生较大误差。
4.3 改进的全景图拼接算法
上述三种算法各有优缺点,在实际应用中应该根据全景模型的不同和图像采集方式的差异选择合适的算法。下面根据全景图生成过程和本系统的要求详细描述对算法的选择和改进。
1、全景展示选择:现在常用的三种全景模型为立方体模式、圆柱模式、球面模式,其中立方体模式在展示全景图时有明显的边界痕迹,降低了全景图像真实性;球面模式可以扩大全景图浏览的视野,但也相应增加了算法复杂度和图像采集的难度;圆柱模式相对简单,同时又不影响全景图像浏览的真实性。所以论文采用的是圆柱模式。
2、图像采集:为了使图像拼接算法的更加简易,论文提出的方法中对图像采集方式做了一些规定:用三角架固定相机,通过旋转三脚架上的云台,以0点为中心旋转相机拍摄图像,每次旋转的角度为θ(如图4-1所示)。为了减少图像拼接工作量,拍摄的时候最好固定相机的焦距。
32
硕士学位论文 第四章 动态全景图的设计
图4-1 绕光学中心旋转采集图像示意图
3、图像拼接:在确定了全景模型和图像采集方式之后,匹配图像之间的投影矩阵可以简化为:
kcosX'~MX=0ksin0txkty01xy
(4)1其中,k是缩放因子,tx,ty反映了平移变换,θ是图4-1中所示的旋转角,因为对图像采集方式做出了良好的限制,其他因素相对而言影响较小,可以忽略不计。可以看出(4)式把8参数投影矩阵简化为4参数的矩阵。如果在采集图像的同时固定了相机的焦距,那么缩放因子k=1,则可以进一步简化(4)为3参数矩阵模型:
cosX'~MX=
0sin0txxy1ty (5)
011在确立了投影矩阵(5)之后,下一步的工作就是要恢复投影矩阵。先估计θ的值,假设对于某固定视点采集了n幅图像,采集图像时,每两幅图像间的旋转角度基本相同,所以θ值的估计公式如下:
2θ= (6)
n其次要估计平移量tx,ty,在三类全景图像拼接算法中,基于特征的方法效率是最高的,所以论文也采用这种方法,但是这种方法的难点就在于抽取合适的图像特征[35] [36] [37]。为了尽可能多的保留图像的特征,论文借鉴了数字图像处理中的Robert边缘检测算法,再加上二值化处理和噪音消除抽取出图像的特征(图4-2),然后利用特征区域作为匹配模版搜索两幅图像的平移量tx,ty,最后拼接全景图。
33
硕士学位论文 第四章 动态全景图的设计
图4-2 特征抽取效果示意图
4、图像缝合:图像缝合分两个步骤。第一步是图像经过矩阵投影生成新的图像需要用到双性插值(Bilinear Interpolation)处理,如图4-3所示。
图4-3 双线性插值示意图
I(lx)(ly)I1x(ly)I2(lx)yI3xyI4 (7)用公式(7)即可计算出投影后的图像的亮度(或颜色)值。
第二步是两幅图像重叠区域之间的线性插值,如图4-4所示。
图4-4 重叠图像线性插值示意图
设第一幅图像的亮度(或颜色)值为I1,第二幅图像的亮度(或颜色)值已
经由公式(7)得到设为I2,并且重叠点和重叠边界的距离分别为u和v,则可34
硕士学位论文 第四章 动态全景图的设计
得如下公式:
I1vI2u (8)
Inewuv由以上两个步骤的图像缝合即可得到比较满意的无缝拼接效果。
5、全景图展示:在拼接好全景图像之后还要根据柱面投影公式把全景图投影到圆柱内表面以供展示。
6、实验结果:利用上述算法,将组成全景的几张边界部分重叠图像进行柱面投影和拼接,制作成360度柱面全景图像。算法利用了图像象素的RGB值。在处理效果上,由于算法对光照和对比度相对稳定,即使由于拍照的原因使图像质量下降(图像偏暗或偏亮),算法都能基本做到准确地匹配拼接,而且边界融合几近完美。以下10幅图像是校本部东湖图像(见图4-5)。根据公式(6)则有θ=20,拼接之后的效果如图4-6所示。实践证明,相邻图像间具有20%至30%的重叠可提供拼接所需的足够的图像特征,这样可较大地减少要拼接的图像数量。
o
图4-5 校本部东湖拼接前的图像
图4-6 校本部东湖拼接后的图像
4.4 本章小结
本章简述了全景图的生成过程的五个步骤,介绍了比较经典的全景图算法和全景图拼接算法的归类并进行了比较,最后提出本系统在全景图设计过程中对算法的改进。
35
硕士学位论文 第五章 校园导航系统具体实现
第五章 校园导向系统具体实现
5.1 系统体系结构
本系统所依附的体系结构如图5-1所示。
浏
览
器
图5-1 系统体系结构
(1)第一层是客户端浏览器,也即是用户使用系统的一个桥梁。在本系统中主要以触摸屏为浏览器,设置在校园的各个主要场所。客户的应用程序安装到浏览器,通过用户的操作,浏览器以交互的web输入输出页面,达到用户使用操作的效果。
(2)第二层是一个Web服务器,指驻留于因特网上某种类型计算机的程序,它将浏览器和特定应用程序逻辑单元联系起来。通过用户的输入,web服务器将其转换成计算机语言,达到人与系统交流的目的。其中Web服务是存在于Web服务器上的一个编程逻辑单元
(3)第三层是技术实现的业务逻辑层,由Web窗体和和一些通用的组件构成,是系统的核心层次,整个系统的功能逻辑运算都是由本层实现,最终完成用户事件的处理。
(4)第四层是技术实现通用数据访问方式,是一种基于XML技术的,不受平台的影响。
(5)最后一层是数据层,实现存储全部数据,为以上的功能的实现提供数据。数据层可以用数据库或者是文件系统的方式组织[39] [40]。
在此系统的体系中,每个层之间的数据传输都是用XML方式来实现的,所36
Web服务组件
数据服务
Web
地图
信息
档案
信息
服
务
器
服务
指南
硕士学位论文 第五章 校园导航系统具体实现
以,本体系具备了非常好的开放性和扩展性。
5.2 系统主要模块实现
5.2.1 校园地图模块的设计与实现
1、 系统总体设计
本系统的设计需要按照以下几个步骤对三维校园电子地图引擎的建立进行开发:
(1)数据采集。通过对校园有关的建筑数据和地理环境等信息进行测量,把其转换成数字信息,实现数据采集。
(2)平面图制作。从数据采集得到的数据中,获取有用的数据信息,建立校园的二维平面图。
(3)三维模型的建立。同样有数据采集得到的数据,建立校园的建筑、场景、天空环境和地形等三维模型。
(4)三维引擎构建。编写程序从而实现模型的导入、导航功能和三维场景的漫游[41]。
系统总体设计框架如图5-2所示。
37
硕士学位论文 第五章 校园导航系统具体实现
图5-2 系统总体设计框架
三维校园电子地图的漫游导航是本系统的最主要的组成部分,它最重要的功能是:将3ds Max所构建的模型导入到引擎,最终把全部模型组建成为一个校园的整体。
2、数据的采集
对于校园各个数据的采集,建筑模型的比例数据、布局位置和贴图数据全部都得由实地取材而得到。由于学校的面积大,建筑又复杂多样,所以数据的获取最常用的是用数码相机对校园的各个位置进行拍摄,拍摄的数码照片最大限度的呈现校园的全貌。建筑轮廓应该在建筑的最高层进行拍摄,通过对照片与实际建筑的对比和组合,得到实际建筑的外形和轮廓数据,最后通过剪切照片得到实际景物的纹理贴图数据[42]。
3、平面图制作
平面图的制作是为三维校园电子地图的开发制作所做的准备,这也是非常主要的环节,平面图的制作效果也将会直接影响到三维立体图的最终效果。三维地图都是全部建立在二维平面图的之上,如果二维平面图建立存在比例不准确或者等问题,制作出来的三维地图就不精确。所以二维平面图的制作至关重要。为了得到二维平面图的制作的精确数据,本文将从互联网上获取卫星图片来作为制作校园二维平面图的参考,然后用用AutoCAD绘制地图的轮廓,最红制作出比较精确的平面图[43]。
(1)底图的制作
首先通过在互联网上对韶关学院进行搜索,获取校园的卫星图片。由于屏幕大小的限制,全屏显示的校园地图可能不方便制作底图。为了得到更加清晰的底图,可以对校园的某些关键场景进行局部放大,分几大块对整个底图进行获取,最用使用Photoshop对获取的图片进行合成,拼凑成韶关学院的整体二维平面校园底图。
(2)建筑平面框图
通过有上一步获取的整个校园的平面底图,把它导入到AutoCAD作为外部参照的地图,使用CAD将建筑的轮廓描绘出外形,最终修整出建筑的模型。为了把建筑和其他物体分开,在制作描述建筑的轮廓的时候单独建立一个图层,就单独用于绘制建筑。
(3)运动场平面框图
运动场的平面框图的制作和建筑平面框图的制作基本相同,新建一个单独的运动场图层,由卫星照片的底图绘制出运动场的平面框图。
(4)道路平面框图
38
硕士学位论文 第五章 校园导航系统具体实现
有卫星照片显示的路径,在绘制道路平面图时创建一个道路图层,用于专门绘制道路。
所有的平面图绘制完成后,将会得到一张CAD导出的平面图,其图片的格式为文件。由这张平面图就能使用3ds Max导入*.dwg文件作为底图参照,最终绘制出等比例的校园3D模型。
4、三维模型建立
虚拟环境的模型的建立问题是三维校园电子地图程序建设中是最为繁琐的。它是需要投入大量的时间与精力、而且工作量最大。本系统全部都是采用3ds Max来建立三维模型的。在建立模型的过程中,不同的事物需要区别对待。本文中的校园电子三维地图采用的最佳建立模型的方法是多边形建模,并根据模型的情况使用UnwrapUVW方式和UVW maping方式对模型进行贴图[44] [45]。
校园三维地图建模按以下几个方面进行:
(1)建筑模型
学校的大多数建筑物一般是由规则的形状构成的,如正方体和长方体,因此多边形是最适合建立模型的。在建立建筑物模型之前,观察建筑的大体形状,用多边形建立建筑物的大概轮廓,最后使用多边形的修改命令来完善建筑模型。由于本系统不能使用模型操作来实现建筑物上的许多凸起的部分,这些凸起的部分面使用贴图效果的操作来完成,这是三维程序惯用的手法并能使平面看起来更加如有立体感[46]。以下面某建筑物为例子,介绍三维模型的建立的操作过程:
a打开3ds Max后导入已完成的CAD底图,把该底图作为建立模型的参照图和用于约束模型的比例,然后切换到顶视图窗口建立建筑物大体的轮廓。
b底图作为参照轮廓,根据建筑物数码相机对建筑物每层楼大概高度进行取材估算出的数据,利用软件的多边形操作建立出组成图书馆的多边形组合。首先建立建筑物主体的大概轮廓为长方体,然后利用3Dmax的多边形修改器的剪切(cut)命令在该长方体上切割出分割线,再选择面工具的挤压(Extrude)命令制作出凸起面,效果如图5-3所示。
图5-3 长方体挤压制作的建筑物主体
39
硕士学位论文 第五章 校园导航系统具体实现
c 在建筑物模型中,有许多的凹凸面,这时需要用到3Dmax的布尔运算修改面板建立模型的塌陷面。
比如运用布尔运算制作在一扇墙上开窗户或者门的效果,首先将所有的窗户和门连接成一个对象,然后运用布尔运算操作实现开门窗的效果;需要注意的是,在对样条曲线进行布尔运算之前,要确保所有的样条都是封闭性的也就是结合在一起了的,否则布尔运算是进行不了的。
建立建筑物背面的两处塌陷的形状之前先建立两个与凹陷位置大小相同的几何体,然后把该几何体放到需要减去的位置,使用相减命令将这片需要减去的区域去除掉。
d 建筑物主体制作完以后,需要在主体旁边建立凸起部分,一般使用的是3Dmax中的正方形建模工具,而楼梯、柱子、花池等辅助模型则需要使用多边形修改工具进行挤压操作得到,最后完成的建筑物三维模型如图5-4所示。)
e 模型建立完成之后,检查找出模型的一些多余和不可见的面,并且对这些面进行全部删除命令,这样确保了模型面数量达到最小,以减少程序在3Ds Max导入三维模型时的负荷[47] [48] [49]。
图5-4 建筑物的三维模型
(2) 地形模型
在校园地形模型的建立中,先把整个学校当做一个整体区域,在CAD软件中建立一个打的平面,然后在这个大平面上对不同的几十个小面进行切割操作出不同的区域,再通过多边形修改器操作修改这些小面,得到模型高低不同的坡面效果。
40
硕士学位论文 第五章 校园导航系统具体实现
图5-5 地形模型
(3) 环境小品模型
各种环境小品是虚拟系统中最常用的模型。例如树木、游泳池、路灯、电话亭、垃圾箱、车辆等一些有着共同特点的物体,这些物品的重复性比较高。在实时虚拟系统中,需要让它们尽可能使用最少的面,这需要在建立模型时使用合适的方式才能获得尽可能少的面。所以环境小品的模型建立主要用二维的模型结合透明贴图操作才能实现三维的模型效果,即用贴图来实现细节三维模型[50] [51]。
5、材质与贴图的处理
三维模型建立之后需要对模型赋予贴图和材质,在3ds Max软件中材质就是模型的灵魂。好的材质可以让模型更加的生动逼真。Bitmap贴图是3ds Max软件中最简便的操作。在校园电子三维模型的制作中,较为常用的一种二维贴图是位图。在三维地图制作中,大部分模型的表面贴图都需要跟现实中的实体相符合,选择数码相机拍摄手段获取的位图最适合作为校园立体图的贴图,实现的效果最后。
工程制作如下:
在Photoshot中对从实地拍摄的的选取了合适角度的数码相片进行拉伸扭曲操作后得到需要贴图的单元,保存为JPG格式。在3ds Max软件中,首先调用经过处理后的图片,然后进行贴图,最后运用修改器中的UVW贴图坐标进行处理,使得贴上实地采集后的相片的图像与实际建筑物更接近。、
对于材质贴图的二维模型,物体必须具有对应的贴图坐标。这个坐标就是确定二维贴图映射在物体上的方式和精确位置。该坐标不同于XYZ坐标,而是使用的UV 或UVW坐标系。用UnwrapUVW贴图方式一般使用在较复杂的模型贴图中,该坐标不仅能自定义UVW坐标的的位置,还能把几个图片在一张贴图41
硕士学位论文 第五章 校园导航系统具体实现
上进行集成,达到节省资源的目的[52] [53]。
6、模型优化处理
虚拟校园模型中的许多模型的结构都是比较复杂的。当模型数据库中的数据超过了系统的计算承受能力,在虚拟环境中漫游时帧处理会受到较大的影响,这必然会破坏了场景变换的流畅性和平滑性。为了提高运行系统的实时性,减少数据库的多边形对操作时间的开销,必须对模型进行简化和优化处理,从以下几个方面对模型进行简化处理:
(1)使用多细节层次对复杂结构模型进行表达。虚拟校园中的许多复杂模型必须用LOD的方式来表达,将多边形控制在预算的范围内,可以达到提高运行系统实时性的目的。
(2)结构细节的表达方式用纹理代替多边形。纹理映射在不增加多边形树木的前提下能提高场景表达的详实程度。
(3)对多边形的背面进行剔除。在不考虑运行系统的实时性的情况下,把虚拟校园环境中的建筑物模型的多个面制作全部换成单面可见,也就是对多边形的背面进行剔除只显示多边形的前面[54] [55]。
图5-6
5.2.2 导航模块的设计与实现
1、更改摄像机位置
摄像机包括观察处和目标处两个重要的部分。通过更改摄像机的观察处和目标处,结合Timer时间空间就可以制作动画过程。如下是一个简单的设置像的观察处为(200,200,0)目标处为(0,0,0):
Dim p1 As =New
()
Dim p2 As =New
42
硕士学位论文 第五章 校园导航系统具体实现
()
p1.X=0:pl.Y=0:p1.Z=0
p2.X=200:p2.Y=200:p2.Z=0
=pl
AxSceneControl1. er=p2
hViewers()
下面以移动X值为例,说明动画制作的简单过程:
首先,在全局变量中定义:
Public CameraObs As =New
()
然后添加一个Timer,并在按钮事件中添加如下代码:
Private Sub Button12_Cliek(ByVal sender As ,ByVal e As
rgs)Handles
If d=False Then
d=True
CameraObs=er
Else
d=False
End if
End Sub
运行程序,摄像机的观察处X值将随着时间变化。根据该原理,还可以设置沿着某条线移动摄像机等等。
2、输出AVI动画
输出AVI视频动画主要用到Exporter3d 接口和rter,如下所示:
Dim saveVedioFile As SaveFileDialog=New SaveFileDialog()
=”视频文件(*.avi)l*.avi”
=”输出Avl文件”
alog()
Dirn p3DExporter As Exporter3d=New
orter()’ ISceneExporter3d
FileName=me
Dim pExporter As VideoExporter
pExporter=p3DExPorter
43
硕士学位论文 第五章 校园导航系统具体实现
=Viewer
uration=2.0
ate=15
Dim pAVIExporter As porter
pAVIExporter=p3DExporter
y=100
Scene()
msgbox(“输出AVI视频完成!”)
3、创建动画关键帧
Scene开发中允许用户创建动画关键帧,并可以播放关键帧。首先要添加引用Animation库。然后添加如下代码:
Dim pScene As
pScene=
Dim trl As =New
ionTrack()
Dirn k1 As ame=New
rk3D()
eProperties(pScene,)
Keyfame(k1,0)
(1.1)
h()
eProperies(pScene,)
Keyframe(k1,1)
(1.1)
h()
eProperties(pScene,)
Keyframe(k1,2)
=”track01”
Dim trs As tionTracks
trs=
ek(trl)
当然,如果要创建自由的关键帧则要在SceneControl的OnMouseMove 事件下,而且要求ScenControl的当前工具是漫游工具。下面就创建关键帧、播放关键帧、播放关键帧等进行说明。
44
硕士学位论文 第五章 校园导航系统具体实现
首先在全局变量中定义:
Public Playtrl As tionTrack=New
ionTrack()
Public CreateKeyFrameSwitch As Boolean=False
Public Keylndex As Integer
定义函数CreateKeyFrame() 用于创建新的关键帧,代码如下:
Private Sub CreateKeyFrame(ByVal pScene As
ByVal animationtrackl As tionTraek,ByVal keyIndex
As Integer)
Dim kl As ame=New
rk3D()
eProperties(pScene,)
Keyframe(kl,keylndex)
End Sub
在AxSceneControl控件的OrMouseDown事件中添加如下代码:
If CreateKeyFramesSwitch=True Then
CreateKeyFrame(,Playtrl,KeyIndex)
KeyIndex=KeyIndex+l
End If
在创建自由关键帧按钮Ckick事件中添加如下代码,运行AxSceneControl控件的OnMouseDown事件中添加关键帧:
Private Sub Buttonl6_Click(By Val sender As ,ByVal e As
rgs) Handles
CreateKeyFrameSwitch=True
te=True
End Sub
其中300为动画播放的持续时间,Playtrl是前面创建了关键帧的动画轨迹,然后利用ck(Playtrl)将轨迹添加到轨迹集上去[56] [57] [58] [59]。
运行程序,先点击创建自由关键帧按钮,然后在sceneContro1控件中创建几个关键帧,再点击播放轨迹按钮,即开始播放动画。结合前面的输出AVI视频,还可以输出动画视频。如下图所示5-6动画的演示过程:
45
硕士学位论文 第五章 校园导航系统具体实现
图5-7
5.2.3 最短路径模块的设计与实现
1、数据结构描述与定义
(1)节点数据结构类型:
#define MAX_V 30 //最大顶点个数
typedef struct
{
char* vexs[MAX_V]; //顶点向量
int arcs[MAX_V][MAX_V];//邻接矩阵
int vexnum,arcnum;//图的当前顶点数和弧数
}MGraph;
(2)创建导航图函数:
int CreateUDN(MGraph &G)
邻接矩阵进行存储。
例:
[0] = "北门";
作用:使0号定点命名为“北门”;
[0][1] = [1][0] =550;
作用:使0号节点到1号节点的路径赋值为550,因为是无向图,所以1号
函数描述:主要将每个节点进行命名、每个顶点到其他所有定点的路径值用46
硕士学位论文 第五章 校园导航系统具体实现
节点到0号节点的路径长度也应赋值为550;
(3)最短路径导航函数:
void ShortPath(MGraph &G,int v0,int p[MAX_V][MAX_V],int d[])
函数描述:用Dijkstra算法求无向网G的V0定点到其余定点V的最短路径P[v]及其带权长度D[v]。
若P[v][w]为True,则w是从V0到V当前求得最短路径上的顶点。
Final[v]为True当且仅当V∈S,即已经求得从V0到V的最短路径。
(4)导航菜单函数声明
void menu()
函数描述:输出各个节点的编号,方便导航。
2、模块设计
47
硕士学位论文 第五章 校园导航系统具体实现
1开始d[v0-1]=0final[v0-1]=1have[0]=v0-1i=1v=0i 3、迪杰斯特拉法求最短路径 int v,w,i,j,min; int final[MAX_V]; 48 硕士学位论文 第五章 校园导航系统具体实现 int k=1; for(v=0;v<;++v) {//初始化 } d[v0-1]=0; final[v0-1]=1; have[0]=v0-1; for(i=1;i<;++i) {//其余的vexnum-1个顶点 min=INFINITY; for(w=0;w<;++w) if(!final[w]) if(d[w] { } v=w; min=d[w]; final[v]=0; d[v]=[v0-1][v]; for(w=0;w<;++w) { } p[v][v0-1]=1; p[v][v]=1; p[v][w]=0; if(d[v] final[v]=1; have[k]=v; k++; for(w=0;w<;++w)//更新当前最短路径及距离 if(!final[w]&&(min+[v][w] { d[w]=min+[v][w]; for(j=0;j<;j++) 49
版权声明:本文标题:校园导航系统的设计与实现(定稿) 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1706447754h506394.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论