(计算机应用技术专业论文)基于glscene的矿井三维可视化系统的设计与实现.pdf_第1页
(计算机应用技术专业论文)基于glscene的矿井三维可视化系统的设计与实现.pdf_第2页
(计算机应用技术专业论文)基于glscene的矿井三维可视化系统的设计与实现.pdf_第3页
(计算机应用技术专业论文)基于glscene的矿井三维可视化系统的设计与实现.pdf_第4页
(计算机应用技术专业论文)基于glscene的矿井三维可视化系统的设计与实现.pdf_第5页
已阅读5页,还剩58页未读 继续免费阅读

(计算机应用技术专业论文)基于glscene的矿井三维可视化系统的设计与实现.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

大连理工大学硕士学位论文 摘要 近年来,各种矿难频发,尤其是重大伤亡事故屡见报端。矿井的安全管理形势日趋 严峻。井下安全事故频发,井上人员却往往难以掌握井下人员的动态分布情况,一旦发 生矿难或事故,对井下人员的救援缺乏可靠的信息,抢险救灾的效率低,成功率小。本 论文提出的基于g l s c e n e 三维引擎的矿井三维可视化系统,按矿井真实比例绘制真三维 的可视化矿井,通过三维矿井实体与巷道信息的一体化处理,使可视化矿井中的各巷道 均可携带所需信息,并结合人员定位算法,对井下人员进行实时跟踪显示。为矿井防灾, 救灾打下了信息基础。 本论文基于g l s c e n e 三维图形引擎,为矿井三维可视化系统设计出一套应用m v c 架构模式的c s 方案,并进行了模型、视图和控制器三部分的设计,避免了传统软件开 发中因程序构架不合理而带来的问题,实现了松耦合思想。同时进行了基于连接池及 j s o n 数据通信的数据访问层设计,优化了系统性能。 本论文重点对基于树的空间索引技术及三维场景可见性计算进行了分析实现。高效 的可见性计算可以大量节省关于场景中不可见部分的计算,提高场景绘制效率。文章详 细讨论了基于四分树和r - 树的空间索引技术q r 树。实验结果表明:虽然在存储开销上 q r 树比r - 树要略高,但插入、删除、特别是查找性能都得到了显著地提高,而且索引 目标数量越大,q r - 树的空间开销与r - 树接近,而q r 树的查找、删除等性能越优于 r 树。也就是说,对于大型空间数据索引来说,q r 树与r 树相比整体性能上具有较明 显的优势。采用q r - 树的索引技术改善了查找性能、提高了系统响应速度。 关键词:g l s c e n e ;m v c ;连接池;空间索引;q r - 树 大连理工大学硕士学位论文 d e s i g na n dd e v e l o p m e n to f 3 d v i s u a l i z a t i o nm i n e s y s t e mb a s e do ng l s c e n e a b s tr a c t i nr e c e n ty e a r s ,av a r i e t yo fm i n i n ga c c i d e n t sh a v e o c c u r r e d ,p a r t i c u l a r l ys e r i o u s a c c i d e n t sh a v ef r e q u e n t l ya p p e a r e di nn e w s p a p e r s n em i l l es a f e t ym a n a g e m e n ts i t u a t i o ni s b e c o m i n gi n c r e a s i n g l ys e v e r e i nt h ee v e n to fam i i l i n ga c c i d e n t ,i t so f t e nd i f f i c u l tt og r a s p t h ed y n a m i c so ft h eu n d e r g r o u n dd i s t r i b u t i o no ft h es t a f f , a n dr e s c u et h ep e r s o nu n d e rm m e o nt h el a c ko fr e l i a b l ei n f o r m a t i o n e m e r g e n c yr e s c u eg o e si nal o we 街c i e n c y a n dt h e s u c c e s sr a t ei ss m a l l t h e3 d - v i s u a l i z a t i o nm i n es y s t e mb a s e do ng l s c e n ei n t r o d u c e di n t h i st h e s i s ,d r a w st h er e a l3 d v i s u a l i z a t i o nm i n es c e n ea c c o r d i n gt ot h et r u es c a l eo ft h em i l l e t h r o u g ht h ei n t e g r a t i o no fi n f o r m a t i o no fm i n ee n t i t ya n dm i n et u n n e l t h el a n e w a yi nt h e 3 d - v i s u a l i z a t i o ns c e n ec a nc a r r yt h er e q u i r e di n f o r m a t i o n t h es y s t e mg i v e sar e a l - t i m e t r a c k i n gs h o wc o m b i n e dw i t hs t a f fp o s i t i o n i n ga l g o r i t h m a l lo ft h i sl a y saf o u n d a t i o nf o r i n f o r m a t i o ni nt h em i n ed i s a s t e rp r e v e n t i o n j t 1 1 i st h e s i sa p p l i e sm v ct od e s i g nt h e3 d v i s u a l i z a t i o nm i n es y s t e mb a s e do ng l s c e n e a n dd e s i g n st h em o d e l ,v i e wa n dc o n t r o l l e rt oa v o i dt h ep r o b l e m sw h i c hb e c a u s eo ft h e p r o c e d u r es t r u c t u r e si m r e a s o ne x i s t e di nt r a d i t i o n a ls o f t w a r ed e v e l o p m e n t , a n da c h i e v e sa l o o s ec o u p l i n gi d e a a tt h es a m et i m e ,i no r d e rt oo p t i m i z et h es y s t e m sp e r f o r m a n c e ,a c c e s s l a y e rb a s e do nc o n n e c t i o np o o l i n ga n dj s o nd a t ac o m m u n i c a t i o n sh a sb e e nd e s i g n e d t 址st h e s i sf o c u so nt h e a n a l y s i sa n dd e v e l o p m e n to ft h e 3 d s c e n e sv i s i b i l i t y c a l c u l a t i o na n di t s s p a t i a li n d e x e f f i c i e n tv i s i b i l i t y d e t e r m i n a t i o nc a l l g r e a t l ys a v e c o m p u t a t i o no nt h ei n v i s i b l ep a r t s ,i m p r o v et h ep e r f o r m a n c eo fr e n d e r i n gs c e n e s r n l et h e s i s i n t r o d u c e sas p a t i a li n d e xs t r u c t u r en a m e dq r - t r e eb a s e do nq u a d t r e ea n dr - t r e e t h e r e s e a r c hi n d i c a t e st h a tq r - t r e ea l w a y sd e m a n d sm o r es t o r a g et h a nr - t r e e ,b u ti tg a i n sb e t t e r p e r f o r m a n c ei ni n s e r t i o n ,d e l e t i o n , a n de s p e c i a l l ys e a r c h i n ga n dm o r et h ea m o u n to fs p a t i a l d a t ai s ,t h ec l o s e rt h es t o r a g ec o s to fq r - t r e ea n dr - t r e ea r e ,t h eb e t t e rp e r f o r m a n c eq r t r e e h a s t h a ti st os a y ,f o rv e r yl a r g es p a t i a ld a t a b a s e s ,q r - t r e ep r o c e s s e sm o r es u p e r i o r i t yt h a n r - t r e e n l eq r - t r e ei n d e xi m p r o v e ss e a r c hp e r f o r m a n c ea n d s p e e du pt h er e s p o n s e k e yw o r d s :g l s c e n e ;m v c ;c o n n e c t i o np o o l ;s p a t i a li n d e x ;q r - t r e e i i i 大连理工大学学位论文独创性声明 作者郑重声明:所呈交的学位论文,是本人在导师的指导下进行研究 工作所取得的成果。尽我所知,除文中已经注明引用内容和致谢的地方外, 本论文不包含其他个人或集体已经发表的研究成果,也不包含其他己申请 学位或其他用途使用过的成果。与我一同工作的同志对本研究所做的贡献 均已在论文中做了明确的说明并表示了谢意。 若有不实之处,本人愿意承担相关法律责任。 学位论文题目:差圣盟坠曼堕堑苎兰塑皇曼塑丝垒! 塑至竺塑丑童塾垫 储始卑越l 。期:4 u 月旦日 大连理工大学硕士研究生学位论文 大连理工大学学位论文版权使用授权书 本人完全了解学校有关学位论文知识产权的规定;在校攻读学位期间 论文工作的知识产权属于大连理工大学,允许论文被查阅和借阅。学校有 权保留论文并向国家有关部门或机构送交论文的复印件和电子版,可以将 本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、 缩印、或扫描等复制手段保存和汇编本学位论文。 学位论文题 作者签名: 导师签名: 大连理工大学硕士学位论文 1绪论 1 1课题背景 我国煤炭资源丰富,煤炭是我国能源结构中的支柱。煤炭安全生产在我国国民经济 安全生产中占有重要的地位。然而,我国煤矿与世界各主要产煤国家比较,矿井下地质 构造比较复杂,开采安全问题较多,而且自然灾害也频频发生。近年来,我国煤矿事故 仍然较多,个别地区重、特大事故频有发生。轻则造成经济损失,重则造成人员伤亡, 安全问题己经成为煤矿生产中的关键问题。随着国家对煤矿安全生产工作的日益重视, 煤矿现代化管理的需求,矿井人员定位及煤矿安全监测系统越来越体现出其重要性。不 断加强灾害预防、事故救助等措施已成为当务之急。因此,实现井下人员定位和各种安 全生产要素以及井下环境( 如瓦斯、温度、风速等环境指标) 韵自动采集尤为重要。它 们在煤矿安全生产方面具有举足轻重的作用。由于国内煤矿安全生产所面临的严峻局 势,如何建立适合国内煤矿安全生产的人员定位及安全生产监测系统得到了各级部门的 高度重视。 目前,国内矿山的经营都或多或少存在某些问题,我国矿井开采技术装备水平相对 落后,近年来事故频出,对矿井实行透明化仿真管理,可以预先发现事故隐患。即使有 事故发生,对事故处理时,如果应用三维可视化系统也会在时间与空间上协调安排,把 损失降到最低。 尤其是近年来,我国各种矿难频发,特别是重大伤亡事故屡见报端,矿井的安全管 理形势日趋严峻。煤矿安全生产工作得到国家高度重视,国内井下安全事故频发,井上 人员往往难以掌握井下人员的动态分布情况,一旦发生矿难或事故,对井下人员的救援 缺乏可靠的信息,抢险救灾的效率低,成功率小。国家对井下生产条件进行了明确的规 定和要求,井下生产环境的安全监测和准确获知井下人员的数量和位置是其中十分重要 的要求。矿井环境监测为预防事故发生、提高矿井生产的安全性提供了有效保障。同时, 矿井人员的考勤定位为及时掌握井下人员的数量和位置信息提供了行之有效的手段。它 们为井下安全生产和遇险后展开营救提供了可靠的信息。因此,本文提出的基于 g l s c e n e 三维引擎的矿井三维可视化系统,按矿井真实比例绘制真三维的可视化矿井, 在三维场景中绘制井下巷道、传感器和其它设备的分布状况,并通过三维矿井实体与巷 道信息的一体化处理,使可视化矿井中的各巷道均可携带所需信息。通过井下传感器监 测矿井环境状况,同时,系统结合人员定位算法,对井下人员进行实时跟踪显示,通过 系统软件可以方便的查看人员当前的活动情况。为矿井防灾,救灾打下了信息基础。 基于g l s c e n e 的矿井三维可视化系统的设计与实现 1 2 我国煤矿信息管理系统现状 我国的煤矿开采以井工为主,矿井生产系统由开采、掘进、运输、通风、供电、排 水、通信等几大系统组成,矿井生产管理的任务是准确、实时地采集井下的各种生产信 息,如采掘进度、采面、掘进头的瓦斯浓度、机电设备的安装运行情况、人员的分布等 等,以便科学的指挥安全生产。这些调度信息都是空间信息,它是指空间图形信息( 图 形) 以及基于图形信息的属性信息。 目前我国大型国有煤矿逐步发展起来了电机车调度系统、安全考勤系统、工业电视 系统、矿井提升监测系统、核子秤测重系统、供电监测系统、安全监测系统等,但这些 系统都是各自为政,给信息的共享与交换带来许多不便,在很大程度上造成了浪费,而 且不能将空间数据和属性数据结合起来,难以快速地将其数据和空间地理位置对应起 来,现有系统的不足有以下几个方面【l j : 、 ( 1 ) 煤矿现有的图形处理。大多借助于a u t o c a d 的开发和编辑环境。由于它只是 计算机辅助设计系统,它强调数据显示而不是数据的分析,无法大量存储各种矿井属性 信息,这就给调度信息查询和生产管理决策带来了很大困难。 ( 2 ) 现有的g i s 软件基本上都是通用的g i s 软件,至今还没有见到煤矿专用的g i s 软件。这些软件系统庞杂、用户难以掌握,系统的功能不能满足煤矿的需要,而且价格 昂贵。 ( 3 ) 由于煤矿灾害具有突发性、灾害性、破坏性、继发性等特点,加上井下的环境 十分复杂,由于灾变的发生、发展,井下人员分布具有不确定性和动态性,如果没有空 间信息很难做到正确决策。 由此可见,基于传统的矿井管理方法不能很好的反映和处理这些大量的空间信息, 特别是在空间信息的可视化及决策支持上的严重不足。 1 3 矿井可视化 可视化本意即是变成被视觉所感知。可视化这个词的使用可追溯到至少4 0 年以前, 它是一个心智处理过程,指在人脑中形成对某物( 某人) 的图像,促进对事物的观察力 及建立概念等,直到1 9 8 7 年美国国家科学基金会报告界定了科学计算可视化 ( v i s u a l i z a t i o ni ns c i e m i f i cc o m p u t i n g ,简称v i s c ) 新的含义:“可视化是一种将抽象 符号转化为几何图形的计算方法,以便研究者能够观察其模拟与计算的过程和结果,包 括图像的理解和综合,也就是说可视化是一个工具,用来解释输入计算机中的图像数据 和根据复杂的多维数据生成图像。它主要研究人和计算机怎样协调一致地接受、使用和 交流视觉信息。 可见,科学计算可视化是通过研制计算机工具、技术和系统,把实验 大连理工大学硕士学位论文 或数值计算获得的大量抽象数据转换为人的视觉可以直接感受和交互处理的计算机图 形图像,从而来进行数据探索和数据挖掘1 2 巧】。近年来“可视化 的概念频繁的出现在 计算机科学和地理信息科学之中,如可视化编程、可视化评价等,这与视觉在信息世界 中的特殊地位有关。人接受“可视化 数据的速度要比纯数字快得多,所谓“千言万语 抵不上图纸一角 正是表达了串行的一维语言对二维空间信息传输的能力远远比不上图 纸的这一事实。 随着计算机技术的发展,科学计算也出现了可视化【6 7 】,它是利用计算机图形学与 图象处理技术相结合,使科学计算过程中产生的数据及计算结果转化为图形和图像显示 出来,并进行交互处理的理论、方法和技术,其主要功能是从复杂的多维数据中产生图 形,也可以分析和理解存入计算机中的图像数据,实现科学计算的可视化可极大的提高 科学计算的质量和速度,实现科学计算工具和环境的进一步现代化,从而使许多抽象的、 难以理解的原理、规律和过程变得更容易理解;枯燥而冗繁得数据和过程变得生动而有 趣,更人性化;通过交互手段,改变计算的环境和所依据的条件,观察其影响,实现对 计算过程的引导和控制。 当今的可视化概念己大大扩展,它包括科学技术计算可视化、体可视化和信息可视 化。正由于可视化技术具有交互的环境,多维的属性和强大的可视性特点,它以广泛的 应用于自然科学、工程技术、金融、通信和商业领域。在空间信息领域,如地质找矿、 气象预报等g i s 也起着越来越重要的作用。在砂土液化评价中引入g i s 这- - 2 1 2 具也就是 要应用g i s 的可视化的功能。目前,可视化技术的研究热点有:体可视化技术、可视化 交互手段与工具、数据造型技术及数据场信息显示技术等瑙。1 0 j 。 可视化技术是地理信息系统所具有的重要功能之一。利用地理信息系统,人们可以 在数字地图、影像和其它图形的显示中,来分析它们所表达的各种类型的空间关系。在 可视化显示中,有关空间关系模式的研究常常需要对某些数据值做进一步的探查和分 析。通过地理信息系统,用户可以直接查询到那些需要作进一步分析的数据,而无需像 地学传统方法那样,去校对图纸上的数据【l l 1 2 1 。 矿井可视化过程,包括矿井图形图像的生成和矿井空间数据的查询分析。矿井图形 图像包括用于数据显示的二维图或三维图,以及用于随数据进行分析评价的可视化表达 的散点图、直方图和条形图表等。在视窗环境中同时建立某种地理对象的多种类型的图 形图像,利用图形图像之间基于地理分析方法模式建立的动态关联,可以更清楚的表达 对象的展布模式及其不确定性【l 引。 基于g l s c e n e 的矿井三维可视化系统的设计与实现 1 4 论文框架 ,论文共分五章。第一章为绪论;第二章对g l s c e n e 三维图形引擎和m v c 架构进行 了介绍;第三章介绍系统总体设计,阐述了基于g l s e e n e 引擎的系统架构设计,即将 m v c 架构运用到系统开发中,将系统划分为m v c 的三个层次,以达到松耦合的思想。 同时还阐述了系统各功能模块的设计和数据库的设计;第四章对空间索引技术进行了分 析评估,重点分析了基于四分树和r 树的q r - 树索引技术,并对它们之间的性能进行了 测试评估;第五章介绍系统实现,包括动态连接池和j s o n 数据通信的实现、系统运用 q r 树场景组织结构实现可见性计算的方法、三维场景交互功能的实现、m v c 架构的实 现和系统各功能模块实现的效果;在最后的结论部分,对本文完成的工作进行了总结, 并提出了存在的问题和对下一步研究工作的展望。 大连理工大学硕士学位论文 2 相关技术背景 2 一 g l s c e n e 三维图形引擎系统分析 g l s c e n e 是一套基于o p e n g l 图形工业标准的、应用于d e l p h i 环境进行3 d 程序和 游戏开发的图形资源【1 4 】。它提供了可视化的设计组件,使开发者能灵活、方便、快捷地 在d e l p k 中构造三维场景,并且其3 d 渲染能力极强。g l s c e n e 简化了o p e n g l 程序的 复杂性,而且现在成为了d e l p l l i 中设计3 d 图形程序及进行游戏开发的强有力的工具。 2 1 1g l s c e n e 的数学基础 ( 1 ) 坐标系统 不同的图形工具都有对图形输出的坐标系统约定:g l s e e n e 用x ,y ,z 表示三维 空间坐标的三个轴,约定屏幕的左右走向为x 轴,向右为正方向;上下走向为y 轴, 向上为正方向;屏幕的纵深为z 轴,向外为正方向【1 5 】。 g l s c e n e 中坐标方向并不是和屏幕保持绝对的不变关系的,在g l s c e n e 输出的图形 是经过摄像机看到的。这样一来,如果摄像机的位置发生了变化之后,那场景中物体的 坐标也会有所变化了。就像我们站在不同方位上看事物,事物的方位会随着我们位置的 改变而变化。只要把握好摄像机的方位,我们在g l s c e n e 的三维空间中就不会找不着物 体的方向和设置物体的位置。 在g l s e e n e 中存在着两种类型的坐标系统,一是全局坐标,通过摄像机可以反映出 来;一是局部坐标,也叫相对坐标,是场景中三维模型的子对象相对于父对象使用的坐 标系统。这种相对坐标系统在g l s c e n e 中构造三维模型对象时,只要父对象的位置在全 局坐标系统中发生了变换,都会直接影响到子对象。 ( 2 ) 浮点数 浮点运算在图形技术中是普遍常见的。为了完成各种复杂的图形生成、处理和输出, 数学方法中使用大量的浮点运算。o p e n g l 使用的是单精度的浮点数。单精度类型的数 据是一个8 位长的十进制数。在o p e n g l 中一个这样的单精度数据o p e n g l 会为其分配 一个块内存空间来存储,数据的位数是受限的。如3 1 4 1 5 9 2 6 7 这样一个浮点数,实际在 o p e n g l 中只有3 1 4 1 5 9 2 6 是有效的;当3 1 4 1 5 9 2 6 和2 0 相加之后,结果应该为 2 3 1 4 1 5 9 2 6 ,但有效位只能是2 3 1 4 1 5 9 2 0 。g l s c e n e 是使用o p e n g l 图形命令构造的图 形引擎,在数的运算上是一致的。g l s c e n e 应用于d e l p h i 开发环境中,d e l p h i 有单精度、 双精度和扩展浮点数三种类型的数据。在d e l p h i 中使用浮点数,到了o p e n g l 中都会被 转为单精度类型的数据。为了加强g l s c e n e 对图形的处理及渲染速度,d e l p h i 中开发 基于g l s c e n e 的矿井三维可视化系统的设计与实现 g l s c e n e 三维图形程序最好不要使用和g l s c e n e 不相符的浮点数及d e l p h i 的本地数学 函数,否则会降低o l s c e n e 的实时渲染的运算速度【1 6 】。 ( 3 ) 向量数据及矩阵运算 g l s c e n e 中大量的运算都是通过向量来完成的。向量在图形技术中是一个普遍常见 的类型,三维空间中实体的位置、旋转、速度及颜色都是用向量来表示的。向量分为三 维向量( v e e t o r 3 f ) 、四维向量( v e e t o r 4 f ) 和映射向量( a f f i a ev e c t o r ) 三种。三维向 量是一个包含三个元素的一维数组,表示为i x ,r ,z 】,在表示位置、速度、方向等数据时 正好和三维坐标对应。而四维向量多出的一个数主要是用来表示旋转的角度或是颜色值 中的a l p h a 分量。 向量的使用主要是应用于矩阵运算。三维空间的实体在做各种变换,像平移、旋转、 缩放等都是通过矩阵运算来实现的。在g l s c e n e 中表示的向量并不是应用于硬件输出图 形,而是做数学运算以实现三维空间中的各种变换。当然我们不需要关心这些矩阵运算 的数学过程,因为这些处理都已经被g l s c e n e 封装起来了。这样使用g l s c e n e 开发三 维图形程序,就不需要掌握太多的数学运算了。 2 1 2g l s c e n e 的三维造型设计图元 ( 1 ) 基础几何图元 复杂场景的实现都是由简单的图形按一定的规则组合而成,三维空间中的复杂图形 实体也都是由基本的图元,像点、线、面等来形成。在图形学里,点构成线,线形成了 面,面实现了三维图形实体。g l s c e n e 中提供了比较丰富的几何基础图元,有1 3 种之 多,分别是: p o i n t s :点型图形。点有圆点的、方点和反走样三种; l i n e s :最基本的图元,g l s c e n e 使用线条( 包括直线和曲线) 可通过坐标进行描述; p l a n e :由线构成的平面,是一个简单四方平面实体,平面有方向性,从正面看是可 见的,从背面看是不可见的; p o l y g o n :是平面的一般实体,可实现不规则的2 d 平面图形; c u b e :是由六个平面组成的几何实体; f r u s t r u m :该实体由立方体将上下两平面的大小变为上小下大而形成; s p h e r e :球体; c y l i n d e r :圆柱体; c o n e :圆锥体; d i s k :也可以表现扇形面: d o d e c a h e d r o n :十二面立体; 大连理工大学硕士学位论文 i e o s a h e d r o n :二十面立体; s p r i t e :是一种映射在平面上的2 d 图象对象,场景中使用,其面总是面向摄像机。 透明纹理贴图通常被用在其中。 ( 2 ) 高级几何图元 除了基本的几何图元外,g l s c e n e 中还提供了一些复杂的几何图元,用于拓展基础 图元的功能。这些几何图元实体也都是在基础图元的基础上利用各种数学方法描述出来 的。在构建复杂的实体时,这些对象就能给开发者提供便利了。g l s c e n e 中提供了8 个 高级几何图元,分别为: a n i m a t e ds p r i t e 对象:它是在基于s p r i t e 对象,用于在三维空间中生成图象序列 动画的对象; a r r o w l i n e 对象:由c o n e 对象和c y l i n d e r 组合而成,构成一个三维的箭头对象; e x t r u s i o n s o l i d 对象:该对象通过挤压方法来实现三维实体模型; m u l t i p o l y g o n 对象:构造立体多面环状实物; p i p e 对象:管道对象,用于实现各种各样的管道物体; r e v o l u t i o n s o l i d 对象:采用旋转方法实现三维实体; a n n u l u s 对象:构造空心管状物体; t o m s 对象:圆环三维实体。 以上这些对象都是基础几何图元的延伸,以弥补在三维建模中的不足。现实中的物 体形态各异,在g l s c e n e 中虚拟现实场景时难免会碰到一些复杂的物体。 ( 3 ) 基于m e s h 格式的模型对象 在游戏开发中图形引擎主要是提供以渲染和输出图形画面,它毕竟不是三维建模软 件,为了开发的快捷,引擎里头都提供了快速读取其它现成三维模型数据的工具, g l s c e n e 中也提供了读取模型数据的对象,这对于g l s c e n e 来说,利用其它建模软件的 优势,进行各种复杂场景的构造,将使开发过程大大节省了时间。m e s h 是一个多边形 库池,用矢量、纹理、坐标、图形连接信息进行定义。g l s c e n e 中提供了6 个m e s h o b j e c t 对象,分别为: a c t o r 对象; f r e e f o r m 对象; m e s h 对象; t i l e p l a n e 对象; p o r t a l 对象; t e r r a i n r e n d e r e r 对象。 基于g l s c e n e 的矿井三维可视化系统的设计与实现 2 1 3g l s c e n e 的摄像机视景变换 在g l s c e n e 场景中,有时候通过改变观察的视角,或是切换摄像机的视点,使拍摄 场景画面有所变化,这也是g l s e e n e 中的一种动画效果。就好象拍摄电影一样,有些画 面通过摄像机的镜头变化如特写、远景、镜头推拉等操作来改变影象画面的变化以表达 某些特意。g i s c e n e 中画面图象输出是通过摄像机拍摄后呈现的,那么可以利用摄像机 的视景变换改变画面效果,从而实现动画。摄像机对象中提供的接口属性参数,就是我 们通过摄像机做画面效果文章时最好利用的东西了。 ( 1 ) 摄象机c a m e r a 对象的主要属性如下: c a m e r a s t y l e 属性:择摄象机的类型,五个选项: 透视摄像机:像图为透视图; 无限透视摄像机:受景深设置限制; 直角摄像机:像图为直角图像; 平面摄像机:像图为2 d 效果,仅存在x y 轴的概念; 自定义摄像机:可以自由设置参数。 ( 2 ) d e p t h o f v i e w 属性:置摄像机的景深,响当前摄像机的最大观察距离,超过这 个距离的场景将被剪切。该属性仅在z 轴上产生影响,一般景深的默认值为1 0 0 。注意 在2 d 模式中该属性将不起作用; ( 3 ) f o c a l l e n g t h 属性:定义摄像机的焦距; ( 4 ) n e a r p l a n e b i a s 属性:决定摄像机的视角范围; ( 5 ) s c e n e s c a l e 属性:缩放摄像机中的场景; ( 6 ) t a r g e t o b j e c t 属性:设置摄像机的拍摄目标; ( 7 ) p o s i t i o n 属性:设置摄像机位置。 以上摄像机的七个属性,在进行摄像机镜头变换中,可以充分利用起来创造一种绝 妙的动画。就像摄像中的几种动作,推、拉、摇、移、跟、升、降等。将摄像技术和剪 辑手法应用到g l s c e n e 三维图形动画制作中,利用程序控制c a m e r a 对象的这些属性, 使得通过摄像机看到三维空间中景物的变化。 在g l s c e n e 中可以通过键盘事件或鼠标事件来控制摄像机的视景变换,比如最常用 的是在g l s c e n e v i e w e r 对象中增加键盘响应事件来监听处理摄像机的变换, g l s c e n e v i e w e r 对象是g l s c e n e 中的输出管道,相当于投影的屏幕。而对于t f o r m 对 象,也可以通过它的e v e n t 事件来监听各种事件,并对相应的事件进行处理,比如有窗 口变化、滚轮转动、鼠标移动等事件的处理方法。 大连理工大学硕士学位论文 2 1 4g l s c e n e 的类层次 场景是g l s c e n e 中的基本对象。场景是所有其它物体的父容器,我们所构建的所有 可视物体或特效都在场景中显示。场景由g l s c e n e ( 场景产生器) 产生,一个工程中可 以有多个场景产生器,也就是说一个工程中可以同时拥有多个场景,大大方便了用户的 使用。 g l s c e n e 完全按面向对象的编程机制构造了很多对象和类,t o b j e e t 类是g l s e e n e 中所有类的基类。g l s c e n e 中的类层次如图2 1 所示【1 7 】。t o b j e e t 类是g l s c e n e 中所有 类的基类,其它所有对象都是由它继承而来。g l s c e n e 中包含t g l c a l t l e r a s 和 t g l b a s e s e e n e o b j e c t s 两个子类,通过这种方式就将观测者和被观测实体区分开来。 c a m e r a s 是定义“镜头 的实例,每个“镜头 的实例都有如位置、方向、焦距和镜头 深度等属性;s e e n e o b j e c t s 派生了t g l l i g h t s o u r c e 和t g l d u m m yc u h e ( 实体) 。在矿 井三维可视化系统中,主要应用到t g l c a m e r a 、t g l l i g h t s o u r c e 、t g l b a s e s e e n e o b j e c t 、 t g l d u m m yc u b e 等对象。 t o b j e e t l t p e r s i s t e n t l t c o m p o n e n t l liil t g l c a d 明c e a b l e c 。m p o n e n ti i t a v i r e c o r d e r l t g l c a d e n e e r it h e i g h t d a t a s o u r c ei i t s 。u n dl i b r a r y i l llll i t g l m a t e r i a ll i b r a r y l t g l u p d a t e a b l e c 。m p 。n e n tlt g l b i t m a p l t g l t e r r a i n b a s e h d i t g l c u s t 。m h d s i l ii t g l s c e n et g l b a s e s c e n eo b j e c t l t g l c a m e r a s li t g l l i g h t s 。u r c ei it g l c u s t 。m s c e n e o b j e c t i 图2 1g l s c e n e 中的类层次 f i g 2 】 c l a s sl e v e l so fg l s c e n e 完全实现一个g l s c e n e 程序基本框架必需具备以下四个对象:t g l s c e n e 对象、 t g l c a m e r a 对象、t g l s c e n e v i e w e r 对象和t g l l i g h t s o u r c e 对象。这四者分别是g l s c e n e 场景中的场景生成器、摄像机、屏幕和灯光。它们的具体说明如下: 基于g l s c e n e 的矿井三维可视化系统的设计与实现 ( 1 ) t g l s c e n e 对象:该对象用于生成场景中所需要的任何一个实体,它是g l s c e n e 的场景生成器,决定着一个场景的实现。利用g l s c e n e 进行三维图形开发,每一个场景 就需要一个t g l s c e n e 对象,有多个场景就需要多个t g l s c e n e 对象。 ( 2 ) t g l c a m e r a 对象:该对象是g l s c e n e 输出图形的一个管道,近似于一个摄像机, 如果没有t g l c a m e r a 对象,那么t g l s c e n e 中设计的景象将无法输出。 ( 3 ) t g l s c e n e v i e w e r 对象:三维场景的图形输出对象,显示来自t g l c a m e r a 对象 所拍摄的景物,它就好比是一个用来投影的屏幕。g l s c e n e 中设置或生成的各种三维实 体和特效效果通过t g l c a m e r a 对象输送到t g l s c e n e v i e w e r 对象上显示出来。 ( 4 ) t l g l i g h t s o u r c e 对象:如果一个场景中没有任何光源的话,那将是一个漆黑的 场面。g l s c e n e 中的场景光线来源都由t g l l i g h t s o u r c e 对象产生。g l s c e n e 中可以设 置多束光源以及多种光源类型。 2 2m v c 架构 2 2 。1m v c 架构简介 设计模式的思想最初来源于建筑领域,建筑师c h r i s t o p h e ra l e x a n d e r 首先提出了设 计模式的概念。他认为:每一种模式描述一个经常出现的问题和这个问题的影响的解决 方案,这个解决方案可以反复使用,而无需每一次都重新设计,它的这一思想虽指的是 城市建筑规则中的设计模式,但同样适用于软件工程领域。特别是在面向对象技术出现 之后,越来越多的学者、专家和工程师研究新的模式并且在实践中使用它1 1 引。 m v c 模式是“m o d e l v i e w c o n t r o l l e r ”的缩写,中文翻译为“模式一视图控制器 。 m v c 应用程序总是由这三个部分组成。e v e n t ( 事件) 导致c o n t r o l l e r 改变m o d e l 或v i e w , 或者同时改变两者。只要c o n t r o l l e r 改变了m o d e l s 的数据或者属性,所有依赖的v i e w 都会自动更新。类似的,只要c o n t r o l l e r 改变了v i e w ,v i e w 会从潜在的m o d e l 中获取 数据来刷新自己。m v c 模式最早是s m a l l t a l k 语言研究团队提出的,应用于用户交互应 用程序中。s m a u t a l k 语言和j a v a 语言有很多相似性,都是面向对象语言,很自然的s u n 在p e t s t o r e ( 宠物店) 事例应用程序中就推荐m v c 模式作为开发w e b 应用的架构模式。 m v c 模式是一种架构模式,其实需要其他模式协作完成。在j 2 e e 模式目录中,通常采 用s e r v i c et ow o r k e r 模式实现,丽s e r v i c et ow o r k e r 模式可由集中控制器模式,派遣器模 式和p a g eh e l p e r 模式组成。而s t r u t s 只实现了m v c 的v i e w 和c o n t r o l l e r 两个部分, m o d e l 部分需要开发者自己来实现,s t r u t s 提供了抽象类a c t i o n 使开发者能将m o d e l 应 用于s t r u t s 框架中。 大连理工大学硕士学位论文 m v c 模式是一个复杂的架构模式,其实现也显得非常复杂。但是,我们已经总结 出了很多可靠的设计模式,多种设计模式结合在一起,使m v c 模式的实现变得相对简 单易行。v i e w s 可以看作一棵树,显然可以用c o m p o s i t ep a t t e r n 来实现。v i e w s 和m o d e l s 之间的关系可以用o b s e r v e rp a t t e r n 体现。c o n t r o l l e r 控制v i e w s 的显示,可以用s t r a t e g y p a t t e r n 实现。m o d e l 通常是一个调停者,可采用m e d i a t o rp a t t e r n 来实现。 2 2 2m v c 设计思想 m v c 是把一个应用的输入、处理、输出流程按照m o d e l 、v i e w 、c o n t r o l l e r 的方式 进行分离,这样一个应用被分成三个层模型层、视图层、控制层,三者之间的关系 和功能如图2 2 所示【l 州。 一事件 图2 2 l v c 各部分的关系和功能 f i g 2 2r e l a t i o n s h i pb e t w e e nv a r i o u sp a r t so fm v c 视图( v i e w ) 代表用户交互界面,对于w e b 应用来说,可以概括为h t m l 界面, 但有可能为x h t m l ,x m l 和a p p l e t 。随着应用的复杂性和规模性,界面的处理也变得 具有挑战性。一个应用可能有很多不同的视图,m v c 设计模式对于视图的处理仅限于 视图上数据的采集和处理,以及用户的请求,而不包括在视图上的业务流程的处理。业 务流程的处理交予模型( m o d e l ) 处理。比如一个订单的视图只接受来自模型的数据并 显示给用户,以及将用户界面的输入数据和请求传递给控制和模型。 基于g l s c 七n e 的矿井三维可视化系统的设计与实现 模型( m o d e l ) 就是业务流程状态的处理以及业务规则的制定。业务流程的处理过 程对其它层来说是黑箱操作,模型接受视图请求的数据,并返回最终的处理结果。业务 模型的设计可以说是m v c 最主要的核心。目前流行的e j b 模型就是一个典型的应用例 子,它从应用技术实现的角度对模型做了进一步的划分,以便充分利用现有的组件,但 它不能作为应用设计模型的框架。它仅仅告诉你按这种模型设计就可以利用某些技术组 件,从而减少了技术上的困难。对一个开发者来说,就可以专注于业务模型的设计。 m v c 设计模式告诉我们,把应用的模型按一定的规则抽取出来,抽取的层次很重要, 这也是判断开发人员是否优秀的设计依据。抽象与具体不能隔得太远,也不能太近。 m v c 并没有提供模型的设计方法,而只告诉你应该组织管理这些模型,以便于模型的 重构和提高重用性。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论