




已阅读5页,还剩45页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 摘要 随着古生物学、生物学知识的积累和计算机技术的发展,给古生物学提供了 新的研究着眼点和方法。现在,计算机技术在古生物学研究中发挥着越来越重要 的作用,也出现了很多探索性的研究课题,一个主要的探索方向就是通过模拟生 物的生命活动来验证科学家的猜想。 本文在对j a v a3 d a p i 的1 3 版进行研究的基础上,对虚拟现实技术在古生物 学研究中的应用进行了探讨。不仅指出此技术将会给古生物学的研究带来新的发 展空间和机遇,还从可行性、实用性等多个角度详细分析了具体的研究方向和领 域。在了解和熟悉现代古生物学最新研究动向的基础上,借鉴前人的研究成果, 提出了采用j a v a 语言_ 刀发古生物复原工具的设计思路和算法,并结合j a v a3 d 语 言的特点,给出了虚拟实验室的具体实现方案。 最后,基于阻上理论成果,采用j a v a 语言设计并初步实现了复原古生物的交 互式应用原型,此原型采用模块化开发,具有很好的松耦合性和扩展性。通过功 能测试,验证了此原型的有效性和实用性。 关键词:虚拟现实技术摸拟j a v a3 d 古生物复原 a b s t r a c t a b s t r a c t w i t ht h es c i e m i a la c c u m u l a t i o no fp a l e o n t o l o g y ,b i o l o g ya n dr a p i dd e v e l o p m e n to f c o m p u t e rt e c h n o l o g y , t h ei n t e r c r o s so f t h e s et w os c i e n c e sp r o v i d e sp a l e o n t o l o g yn e w r e s e a r c h r e s p e c t s a n dm e t h o d s n o w , c o m p u t e rt e c h n o l o g ye x e r t sm o r ea n dm o r e i m p o r t a n te f f e c t s o np a l e o n t o l o g yr e s e a r c h ,a n dt h e r eo c c u r sm a n yg r o p i n gr e s e a r c h s u b j e c t ,v i as i m u l a t i n g t h el i f ea c t i v i t yo fl i f e f o r mt ov e r i f ys c i e n t i s t ss u p p o s i t i o n , i nt h i sp a p e r ,o nt h eb a s i so ft h er e s e a r c ho fj a v a3 da p i ,w ed i s c u s st h ea p p l i c a l i o no f v i r t u a lr e a l i t yt e c h n o l o g yi np a l e o n t o l o g y ,n o to n l yi n d i c a t et h a tt h i st e c h n o l o g yw i l l b r i n gp a l e o n t o l o g yn e we v o l u t i o n a r ya n dc h a n c e s ,b u ta l s oa n a l y z ei t f r o mm a n yp o i n t o fv i e ws u c ha sf e a s i b i l i t y ,p r a c t i c a l i t yi nd e t a i l ,a n dp r e s e n tt h ed i r e c t i o na n df i e l do f s p e c i f i c r e s e a r c h o nt h eb a s i so fc o m p r e h e n d i n gm o d e r n p a l e o n t o l o g y s n e w d e v e l o p m e n t s ,u s i n g b e f o r e a c h i e v e m e n t s ,w eb r i n g f o r w a r d d e s i g n i d e a sa n d a l g o r i t h m so f t o o l st or e s t o r ep r e h i s t o r i cl i f e f o r mi nj a v a ,t h e na c c o r d i n gt h ef e a t u r e so f j a v a3 d ,p r e s e n tt h er e a l i z a t i o no fv i r t u a ll a b o r a t o r y i nt h ee n d ,b a s e do na b o v et h e o r ya c h i e v e m e n t s ,w ed e s i g na n dr e a l i z ei n t e r a c t i v e a p p l i c a t i o np r o t o t y p ei nj a v a ,t h i sp r o t o t y p e i sd e v e l o p e dm o d u l a r l y ,i ng o o dl o o s e l y c o u p l ea n de x p a n s i b i l i t y , g e t t i n ga c r o s sf u n c t i o n a l t e s t p r o v e st h i sp r o t o t y p eh a v i n g v a l i d i t ya n dp r a c t i c a b i l i t y k e y w o r d :v i r t u a lr e a l i t y s i m u l a t ej a v a3 d p r e h i s t o r i c l i f e f o r mr e s t o r a t i o n 主! !y ! ! ! ! ! ! 独创性声明 本人声明所呈交的论文是我个人在导师指导下进行的研究工作及取得的研究 成果。尽我所知,除了文中特别加以标注和致谢中所罗列的内容以外。论文中不 包含其他人已经发表或撰写过的研究成果;也不包含为获得西安电子科技大学或 其他教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做 的任何贡献均已在论文中做了明确的说明并表示了谢意。 申请学位论文与资料若有不实之处,本人承担一切相关责任。 本人签名:曾岸状刚胡: 谳年用2 2 a 关于论文使用授权的说明 本人完全了解西安电子科技大学有关保留和使用学位论文的规定,即:研究 生在校攻读学位期间论文工作的知识产权单位属西安电子科技大学。本人保证毕 业离校后,发表论文或只用论文工作成果时署名单位仍然为西安电子科技大学。 学校有权保留送交论文的复印件,允许查阅和借阅论文:学校可以公稀论文的全 部或部分内容,可以允许采用影印、缩印或其它复制手段保存论文。 本人签名;蝴基k 导师签名:刁矽 日期:m i 年j 只2 ) 臼 日期:玉- 毳i 蔓 第一章绪论 第一章绪论 1 1 引言 随着硬件性能的飞速发展,计算机技术已经广泛的应用于各行各业,改变着 传统的工作、学习和生活方式,推动着社会的发展,它在科学计算、数据处理、 过程控制、c a d c a m c i m s 、多媒体技术、电子商务、人工智能等领域都有了长 足发展。这同样也为虚拟现实技术的发展提供了宽阔的舞台,并开创了人与计算 机交互界面的新领域。如今,虚拟现实技术获得了迅速发展和广泛的应用,在事 故重现、自然现象模拟、影视制作、游戏娱乐、科学研究等方面有巨大的应用价 值和发展潜力。 虚拟现实( v i r t u a lr e a l i t y ) 思想最早出现在6 0 年代的美国,8 0 年代到9 0 年 代期间,得到了迅速的发展,臼益成为科学界和工程界所关注的热门科学。它的 特点【1 1 在于利用计算机产生一种人为虚拟的环境,这种虚拟环境是通过计算机图形 构成的三维空间。或是把其它现实环境编制到计算机中去产生逼真的“虚拟环境”, 并且显示出和人的视觉感觉相一致的形状、大小、位置、角度、色彩、亮度等信 息,并以高速的图形切换及音响效果使观察者有一种身临其境的感觉。 虚拟现实技术是一种新的人机交互范式。与相邻技术如计算机图形学、多媒 体技术、仿真技术、科学计算可视化技术相比,虚拟现实技术有四个不同的特点f 2 j : 1 多感知性( m u l t i s e n s a t i o n )是指不仅包括视觉、听觉、触觉、运动感 知,而且还应该包括味觉、嗅觉等感知。理想的虚拟现实应该具有一切人所具有 的感知功能。 2 沉浸感( i m m e r s i o n )又称存在感。是指操作者存在于虚拟环境中的真实 程度,理想的虚拟现实应该达到使操作者感觉和真实环境一样的程度。 3 交互性( i n t e r a c t i o n )有两个方面:一是指操作者对虚拟环境中物体的可 操作程度;另一个是指操作者从虚拟环境中得到实时反馈的自然程度。 4 自主性( a u t o n o m y ) 是指虚拟环境中的物体依据现实世界物理运动定律 动作的程度。 构造虚拟世界的三维技术最早可以追溯到虚拟现实建模语言( v i r t u a lr e m i t y m o d e l i n g l a n g u a g e ,v r i v i l ) 。在1 9 9 7 年1 2 月v r m l 作为国际标准正式发布之后, 很多厂商都开发了自己的三维技术语言,例如f l u i d 3 d 、s u p e r s c a p e v e c t a 3 d 、 v i e w p o i n t 等,在本文中我们研究s u n 公司推出的j a v a3 d 来研究虚拟现实技术在 古生物学中的应用。j a v a3 d 给我们编写三维应用程序提供了一个非常完善的a p i , 2 基于j a v a 平台的古生物复原工具的研究 而j a v a 语言的简单性使j a v a3 d 的推广有了可能。 古生物学【3 】是研究地质时代中的生物及其发展的科学。它研究古生物的形态、 构成、分类和生态等特征。研究各类古生物在各个地质时代和地理上的分布特点, 从而找出它们进化发展的基本途径和演化规律,以指导地层的划分和相对地质时 代的确定,并为生物进化论提供最基本的事实依据。通过对古生物特征及保存古 生物的固岩的特征进行分析,来恢复各个地质时期的古地理和古气候,为研究地 壳的海陆变迁和寻找沉积矿产提供必要的资料。 吉生物学的研究对象是从岩层中发掘出来的化石。通过对化石的考察,配合 对含化石岩层的了解以及其他一些有关地质问题的研究,就能解释古代生物中的 各类问题。古生物学研究中最著名的就是验证大陆漂移假说。另外,由于生活着 不同的生物,不同的自然地理环境的沉积物也不同,通过对其中化右的研究,可 推断当时的古地理和古气候,而且有些矿产,如煤、石油等的形成与生物密切相 关,通过研究可了解这些矿产的成因。古生物学的研究方法以前大多是看图识字, 这种方法需要专家学者多年的积累,而其他领域的科学发展给古生物学提供了新 方法和新领域,例如石油勘探的发展,使我们可以观察来自岩心的微生物;电子 显微镜的出现促成了古生物学的另外一个分支一一超微古生物学的产生:9 0 年代 兴起的分子古生物学则涉及到吉生物学、分子进化和分子系统学、地质学、地球 化学等科学分支。 计算机科学的飞速发展也给古生物研究带来了新变化。为大量的地质信息、 古生物化石信息建立专用信息系统能协助研究工作者更好的对这些数据迸行分 析、对比和实际应用:利用计算机绘制的古生物图件更加美观、整洁:把恐龙化 石骨骼图放入计算机,通过与现有大型动物骨骼运动的比较来推测恐龙的运动方 式。近年来,计算机模拟也已经应用到了生物学研究中,在计算机虚拟实验室中, 生物学家可以开展大型的假想一预测一检验并反复循环的“生命游戏”。研究对于 常规实验技术来说要漫长或复杂困难的生命过程机制。这正是最有生命力的信息 科学与生命科学在2 l 世纪互相交融共放异彩的先兆。 1 2 研究现状和研究目的 人们总是认为生物学、古生物学必然诞生于充满各种奇形怪状机器的实验室 里,研究者基于直接的观察和试验,一点一滴的搜集着有关的数据材料,然后得 出结论。然而,随着生物学和计算机技术的发展,出现了研究生物学的新方法: 计算机模拟【l o l 。我们在现实条件下所做的和可以观察到的都只是生物的一个侧面, 例如一块骨头、一个细胞的化学成分等,现在我们可以用一个强大而且美妙的工 具去把这些支离破碎的知识组装起来,用于检验假想和猜测,并对现实中的工作 第一章绪论 做进一步的预测,这就是计算机模拟。虽然这方面的研究才刚刚起步,但是已经 取得了一些令人* 奋的成果,如日本的k e i o 大学开发的一个软件:e c e l l 能在 计算机环境中构造一个虚拟的电予细胞,而一种名叫g a u s s i a n 9 9 的软件已经能模 拟生物大分子之间的相互作用。 古生物学涵盏的范围非常广泛,从古植物到古动物,从古生态到古生物化学、 古生物地理从无脊椎动物到脊椎动物,从海洋生物到陆地生物。而涉及到的其 他学科也是种类繁多,数学、化学、地质学的方法都是研究过程中非常重要的手 段。对于古生物学家而言,研究每一种不同的古生物都必须要有不同的方法,这 也是为什么古生物学家的研究课题都非常细节化的原因,暴龙是食肉动物还是食 腐动物? 怪诞虫究竟是什么样子? 被子植物( 有花植物) 的祖先类群是什么? 这 些研究课题纷繁复杂。因而计算机模拟在古生物研究中的应用在现阶段也是非常 细节化的,针对某一种特定问题提出具体的解决方案。 化石复原是古生物研究的个重要手段,从前古生物复原采用的还是手工方 式。复原残缺不全的脊椎动物化石的时候,需要制作骨骼模型,然后手工拼接起 来。美国华盛顿的美国国家自然历史博物馆在1 9 9 8 年发现一具恐龙骨骼化石松动 之后。利用先进的电脑数字技术对骨 骼化石进行逐块立体扫描、虚拟立体 拼接。并借助数字雕刻技术将电脑拼 接的恐龙骨骼雕刻成型,据称这是世 界上第一只借助电脑技术“科学拼 接”出来的恐龙骨骼模型【5 】,如图 1 1 所示。 上述方法借用了计算机强大的立 体造型和拼接功能,能够简单的复原 古生物的形态,但是古生物复原的意 图1 1 电脑协助安装的恐龙骨骼模型 义远非如此。我们复原古生物最终目 的是要通过复原来研究古生物的生物特性,研究当时的自然状况。这涉及复杂的 古生物学专业知识。现阶段的相关研究才处于探索阶段。本文所做的研究工作就 是探讨虚拟现实技术在古生物复原中的应用,如何用j a v a 语言创建一个虚拟的实 验室,构造古生物复原的工具,通过这些工具复原出虚拟古生物的种种假设生态, 来验证研究工作者的假想和推论。 1 3 论文的主要内容和组织结构 本文各章节的基本内容如下: ! 茔三! ! :! ! 鱼丝直尘塑堡堕三墨塑婴壅 第一章,首先介绍了计算机虚拟现实技术的概念、特点以及它给古生物研究 带来的冲击,最后介绍了计算机在古生物中应用研究的现状及本文的研究目的。 第二章,对s u n 公司提供的j a v a3 d 包进行了概要论述,将j a v a3 d 与其他三 维语言做了比较,并给出虚拟现实技术中虚拟场景的构成以及j a v a3 d 的相关a p i 。 第三章,详细介绍了现阶段古生物复原研究的方法、特点,计算机在古生物 复原中应用的现状,探讨古生物复原工具所必需的特性和功能。 第四章,结合虚拟现实技术的概念、j a v a 语言的特性,给出了基于j a v a 平台 的化石复原工具的设计思想。 第五章,根据所做的研究工作,介绍了基于j a v a 平台的古生物复原系统原型 的设计与初步实现,以及复原系统原型的特征和开发经验。并探讨下一步原型开 发的思路。 第二章j a v a3 d 简述 第二章j a v a3 d 简述 2 1j a v a3 d 技术的特点 j a v a 作为一门面向对象的程序设计语言自推出以来,以其自身的优势,在短 短的几年时间里,已由一种编程语言发展成为- f lj a v a 技术。它被认为是第一个 专门用于i n t e r a c t 和w e b 环境的,面向对象的编程语言。j a v a 技术的发展极大地 促进了i n t e r n e t 上应用的开发,电子购物、电子银行、远程教学、远程医疗等系统 相继在i n t e r n e t 上出现。为了能使人们从一个真实的物质世界进入i n t e m e t 上的虚 拟世界,实现i n t e m e t 上的电子购物、电子银行、远程教学和远程医疗等系统的可 视化,就必须加快实现人的视觉与计算机之间理想实时交互技术的研究。基于上 述情况,由i n t e l 、s i l i c o n g r a p h i c s 、a p p l e 和s u n 四家公司共同研究、开发了j a v a 3 d 软件包。 j a v a3 d 的思想来源于现存的各种图形a p i 及多种新技术,其底层图形结构综 合了其他底层a p i ( d i r e c t 3 d 、o p e n g l 、q u i c k d r a w 3 d 和x g l ) 的优点,相应的 其高层结构也综合了多个图形系统的优点,它让开发者从高层上创建和操纵3 d 几 何体,并构造了用于图形的组织结构。应用程序开发者能使用这些结构建造复杂 程度各异的虚拟场景,这些虚拟场景大到宇宙天体。小到微观粒子。同时,它又 引入了一些通用的图形环境所未考虑的新概念( 如3 d 立体声) ,这样将有助于提 高用户在虚拟场景中的沉浸感。 j a v a3 d 可应用在三维动画、三维游戏、机械c a d 等多个领域。但作为三维 显示实现技术,它并不是唯一的选择而且是一个新面孔。在j a v a3 d 之前已经存在 很多三维技术,这些三维技术在实现的技术、使用的语言以及适用的情况上各有 不同,在这里,我们主要介绍一下与j a v a3 d 又密切关系的三种技术:o p e n g l 、 d i r e c t3 d 、v r m l 。 o p e n g l 是业界最为流行也是支持最广泛的一个底层3 d 技术,几乎所有的显 卡厂商都在底层实现了对o p e n g l 的支持和优化。o o e n g l 同时也定义了一系列接 口用于编程实现三维应用程序,但是这些接口使用c ( c + + ) 语言实现并且很复杂。 掌握针对o p e n g l 的编程技术需要花费大量时间精力。 d i r e c t3 d 是m i c r o s o f t 公司推出的三维图形编程a p i ,它主要应用于三维游戏 的编程。众多优秀的三维游戏都是由这个接口实现。与o p e n g l 一样,d i r e c t3 d 的实现主要也是使用c + + 语言。 v r m l 2 0 ( v r m l 9 7 ) 自1 9 9 7 年1 2 月正式成为国际标准之后在网络上得 基于j a v a 平台的古生物复原工具的研究 到了广泛的应用,这是一种比b a s i c 、j a v a s c r i p t 等还要简单的语言。脚本化的语句 可以编写三维动画片、三维游戏、计算机三维辅助教学。它最大的优势在于可以 嵌在网页中显示,但这种简单的语言功能较弱( 如目前没有形体之间的碰撞检查 功能) ,与j a v a 语言等其它高级语言的连接较难掌握。 表2 1 【4 l 给出j a v a3 d 和其他三维技术的比较,我们可以从中直观的看出它们 相互间的区别: 表2 ,1 三维技术对照表 开发技术最适合应 技术实现层次扩展性 ( 难度)用的领域 网上三维 j a v a3 d中层( j v m )j a v a ( 较易)j 2 s e 标准扩展( 好) 显示实现 三维设计 o p e n g l底层( 显卡) c c + + ( 难)各大厂商支持( 较好) 软件 底层 d i r e c t3 dc + + ( 较难)w i n d o w s 平台( 差)三维游戏 ( 操作系统) 标记语言安装插件支持网上虚拟 v r m l上层( 网页) ( 容易)( 一般)现实 目前。开发三维图形软件的底层3 d a p i ( o p e n g l 、d i r e c t 3 d ) 都是基于摄像 机模型的思想,即通过调整摄像机的参数来控制场景中的显示对象,而j a v a 3 d 则 提出了一种新的基于视平台的视模型和输入设备模型的技术实现方案即通过改 变视平台的位置、方向来浏览整个虚拟场景。它的视模型5 】是将用户真实的物质环 境与计算机生成的环境相互独立,并建立它们之间的通信桥梁,直接提供了头部 跟踪的功能,因而使用户产生了真实存在于虚拟环境中的错觉。这种模式使j a v a 编写的显示效果符合”编写一次。随处运行”的原则,使得j a v a3 d 观察模式编写的 应用程序和a p p l e t 可以广泛应用于各种各样的显示设备,这意味着在不修改场景 图的条件下,图像可以在包括标准电脑显示、多放射显示空间和安装摄像头设备 的显示设备上被渲染:这也意味着同一个应用程序既能够渲染立体景象,还能通 过摄像头的输入控制渲染过的观察图。 j a v a3 d 有如下的创新特点1 6 1 : 1 、高层( h i g h 1 e v e l ) 、面向对象、基于场景图的编程范例实现的复杂应用程 序和小应用程序能在适合于j a v a 运行的任何地方快速使用。 2 、3 d 图示数据高性能处理 a 处理能够实现最佳化例如:挑选、删除和并行场景图穿越等。 b 处理能够位于现存低层( l o w - l e v e l ) 3 da p i 的顶部。 3 、用于创建和观察有趣味的3 d 世界丰富的特点组合。包括:三角、直线、点、 第二章j a v a3 d 简述 3 d 文本、压缩的几何形状、3 d 立体声、3 d 转换、光照、雾、纹理图、音响特性、 复杂的视图模型、高级的输入传感器模型对6 自由度跟踪装置的支持等等。 4 、支持运行时输入器容纳广泛的文件格式的多样化,例如:特定销售商c a d 格式、互换格式、v r m l i 0 和v r m l2 0 1 2 2 。 j a v a3 d 支持的技术特点如- f t 6 j : 1 、即时存取方式( i m m e d i a t em o d e ) j a v a3 d 包括一个公平、完整、一般的 即时存取方式。j a v a3 d 即时存取方式的设计为使用j a v a3 da p i 编写的所有应用 程序实现平台交互能力。 2 、观察模型( v i e wm o d e l )j a v a3 d 提供了一个很复杂的基于观察模型的 虚拟环境。从典型的应用的观点来说,j a v a3 d 的观察模型是相当简单的:应用者 放置、定位和定标一个观察平台周期对象,j a v a 3 d 进行剩下部分的工作。 3 、跟踪器模型( t r a c k e r m o d e l )由于性能原因,j a v a3 d 观察模型需要暴露 一个6 自由度的头状物体和手跟踪器作为外形对象。暴露允许a p i 的实现依靠这 些跟踪器使观察模型的计算成为最佳。 4 、能力比特( c a p a b i l i t yb i t s )在j a v a3 d 节点对象中,能力比特对大部分 可修改状态进行校正检查。现在绝大多数的3 d 环境是运行时环境,不是编辑环境。 5 、矢量数学库( v e c t o rm a t h e m a t i c sl i b r a r y )在j a v a3 d 中建立了一个十分 广大的矢量数学库,所开发的这组数学类扮演j a v a3 d 进程的角色。 6 、浮点和双倍( f l o a ta n dd o u b l e )对于单精度和双倍浮点形式,矢量数学 库特别给予支持而许多j a v a3 d 接口给予一般性的支持,似乎它们的支持是相等 的。 7 、几何图压缩形式( g e o m e t r yc o m p r e s s i o nf o r m a t ) j a v a3 d 是一个运行时 a p i ,它不定义一个外部的文件形式。几何图压缩形式是一个特殊情况,它既是一 种运行时二进制形式( 用于硬件支持压缩几何图的平台) ,又是一个应用程序能够 使用在文件和网络层的形式。 8 、高分辨率坐标( h i g h - r e s o l u t i o nc o o r d i n a t e s )为支持大规模虚拟世界,许 多应用需要一些标准化更高分辨率坐标系统的形式。为满足这个需要。j a v a3 d 支 持高分辨率坐标。 9 、其它技术特点j a v a 3 d 对其它技术特点的支持包括:光照范围( s c o p i n g o f l i g h t s ) 、声音库( s o u n dl i b r a r y ) ,v r m l ( t h e v i r t u a lr e a l i t y m o d e l i n gl a n g u a g e ) 等等。 j a v a3 d 是面向对象的语言。应用程序将组成场景的单独元素构造成一个个对 象,并把他们放入一个树形结构中,然后应用程序使用预先定义的加速器、插值 器等操纵这些对象。编写j a v a3 d 应用程序与画一棵大树很类似,先用准备好的笔 画出各个交汇点,然后用各种颜色的彩笔画出所需要的树干和树枝。画交汇点就 基于j a v a 平台的古生物复原工具的研究 是定义好所需要的对象,如显示的是什么形体,有什么颜色,形体按照什么样的 运动方式运动;画树干和树支就是给出各对象之问的关系,例如谁是父节点,谁 是子节点。 2 2 虚拟场景图的组成 j a v a3 d 实际上是j a v a 语言在三维图形领域的扩展,与j a v a 一样,j a v a3 d 有 纯粹的面向对象结构。j a v a3 d 的数据结构采用d a g 图( d i r e c t e d a c y c l i cg r a p h ) 来表示s c e n eg r a p h ss t r u c t u r e ( 场景图) ,具有方向的不对称特性,类似于一棵大 树,上面有非常多的树权,而这些树杈并不是左右对称的,如图2 1 所示。 图2 1 应用的j a v a 3 d 场景图 我们在一个j a v a3 d 应用程序中能够看到的非常逼真的三维场景,从程序的角 度看来,这个场景实际上是由j a v a3 d 定义的一系列对象所组成的,这些对象不是 杂乱无序的,对象之间也不是毫无关系。如果想让三维图像正常显示,必须遵循 j a v a3 d 场景图的规定。由图2 1 可知,j a v a3 d 场景图的树结构由各种备样的对象 组成这些对象都实现了j a v a3 d 中有重要的意义的类,从逻辑上我们将它们分为 三类: 1 、根节点( r o o t ) :v i r t u a l u n i v e r s e 对象。 2 、节点( n o d e ) :l o c a l 对象、b r a n c h g r o u p 节点、b e h a v i o r 节点、s h a p e 3 d 节点 3 、叶子节点( l e a f ) :a p p e a r a n c e 、g e o m e t r y 场景图中线和线的交汇点称为节点( n o d e ) ,这些节点都是j a v a3 d 类的实例 第二章j a v a3 d 简述 ( i n s t a n c eo f c l a s s ) ,节点之间的线表示各个实例之间的关系。 l 、v i n u a l u n i v e r s e 是根节点,每一个场景图的v i r t u a l u n i v e r s e 是唯一的。 2 、在v i r t u a l u n i v e r s e 下面是l o c a l e 节点,每个程序可以有一个或多个l o c a l e , 但同时只能有一个l o c a l e 处于显示状态,就好像个三维世界非常大,有很多个 景点,但我们同时只能在一个景点进行观察。j a v a3 d 允许从一个l o c a l e 跳到另 个l o c a l e ,不过绝大多数程序只有一个l o c a l e 。 3 、每个l o c a l e 可以拥有多个b r a n c h g r o u p 节点。所有三维形体的其位置信 息( t r a n s f o 唧g r o u pn o d e s ) 都建立在b r a n c h g r o u p 节点之上。 4 、t r a n s f o r m g r o u p 节点用来设定s h a p e 3 d 在虚拟场景中的位置。 5 、s h a p e 3 d 节点是三维图形节点,这个节点的实体放映在最后的显示画面中, 就是三维世界中的每个形体。包括正方体、球体以及任何形状和外观的三维形体。 6 、位于场景图最下层的是两个叶子节点:三维体的外观( a p p e a r a n c e ) 和几 何信息( g e o m e t r y ) ,这两个节点定义了一个三维体的显示效果。 7 、v i e w p l a t f o r m 位于图2 1 的另一个分枝上,与前面所有描述三维体的性质 的概念不同,v i e w p l a t f o r m 和v i e w 都是用来定义观察者的信息。 上面所列的概念很多,但是对于建立一个简单的j a v a3 d 程序,我们至少需要 了鳃三个概念:虚拟宇宙( v i r t u a lu n i v e r s e ) 、场景( l o c a l e ) 、坐标系统。 2 2 1 虚拟宇宙( v i r t u a lu n i v e r s e ) 在j a v a3 d 中,虚拟宇宙1 4 】被定义为结合一系列对象的三维空间。虚拟宇宙被 用作最大的聚集体的表现单位,同时也可被看作个数据库。不管是在物理空间 还是逻辑内容,虚拟宇宙都可以很大。j a v a3 d 允许创建多个u n i v e r s e 。但是在大 多数情况下,一个虚拟宇宙就可以满足一个应用程序所有的需求。 虚拟宇宙是各自独立的个体,原因是在任何时候一个结点对象都不能在超过 一个的虚拟宇宙中存在。同样的,在一个虚拟宇宙中的结点对象也不能在其他的 虚拟宇宙中可见或者与其他的对象结合。 对于一个j a v a3 d 应用程序。必须定义一个虚拟宇宙才可以在这个“宇宙”中显 示三维图像。 2 2 2j a v a3 d 的坐标系统 默认情况下,j a v a3 d 的坐标系统是右旋的用方位语义学来解释就是:正y 方向是本地重力的上,正x 方向是水平的右,正z 是正对着观察者的方向。默认 的单位是米。 双精度浮点、单精度浮点甚至是定点来表示的三维坐标都足够来表示和显示 丰富的3 d 场景。不幸的是,场景不是真实世界,更不必说整个宇宙了。如果使用 l o 基于j a v a 平台的古生物复原工具的研究 单精度坐标,有可能出现下列情景: 离原点仅有一百公里的距离,被描绘得相当量子化,所能达到的最好效果就 是三分之一英寸,在实际应用中这样的精度比要求的粗糙得多。如果要缩小到一 个很小的尺寸( 例如表现集成电路的大小) ,甚至在离原点很近的地方就会出现同 坐标问题。 为了支持一个大型的邻接虚拟宇宙,j a v a3 d 选择了有2 5 6 位的高分辨率坐标。 这种高分辨率坐标由三个2 5 6 位的定点数组成,分别表示x 、y 、z 。定点被固定在 第1 2 8 位,并且值1 0 被定义为真实的1 米。这个坐标系统足够用来描述一个超过 几百万光年距离的宇宙,也可以定义小于一质子大小( 小于一普朗克长度) 的对 象。 j a v a3 d 用有符号的、两位补码的2 5 6 位定点数字来表示高分辨率坐标。尽管 j a v a3 d 保持内部高分辨率坐标表示的不透明。但用户可以使用有八个整型变量的 数组来表示2 5 6 位的坐标。j a v a3 d 把数组中由0 到7 的变量分别看作高分辨率坐 标的从高位到低位上的数。第1 2 8 位上是二进制的小数点,也可以说在索引号为3 和4 的整数之间。高分辨率坐标的1 0 就是1 米。 如果是“小”的虚拟宇宙( 类似于相对比例的几百米) ,在虚拟宇宙对象下的 ( 0 0 ,0 0 ,0 o ) 点建立一个带有高分辨率坐标的l o c a l e 作为根节点就足够使用了;装 入程序在装入过程中能自动构建结点。而在高分辨率坐标下的点不需要任何外部 文件的直接描述。 大一些的虚拟宇宙期待被构建成有如同计算机文件那样的层次,这意味着一 个根宇宙要包含由外部文件引用的嵌入虚拟宇宙。就这样,文件引用的对象( 用 户指定的j a v a3 d 组或高分辨率结点) 定义了被读入现存虚拟宇宙的数据的位置。 2 2 3 场景( l o c a l e ) 为了支持大型虚拟宇宙,j a v a3 d 提出了“l o c a l e ”的概念。l o c a l e 把高分辨 率坐标作为起源。把高分辨率坐标看作精确的定位,它在高分辨率坐标的影响范 围之内使用精度较低的浮点坐标指定对象的位置。 一个l o c a l e 和与它结合的高分辨率坐标一起组成了在虚拟宇宙之下的一个表 现层。所有虚拟宇宙包含一个或多个高分辨率l o c a l e 。而所有其他的对象都是附 加在一个l o c a l e 上的。在整个体系中,高分辨率坐标扮演的是上层的仅供翻译的 转换结点。例如,附加到一个特定l o c a l e 的所有对象的坐标都会与这个l o c a l e 位 置的高分辨率坐标有关。如图2 2 所示。 第二章j a v a 3 d 简述 i!:!i 一 图2 2 高分辨率坐标指定场景 如果一个虚拟宇宙与传统的计算机图像的概念相近,给定的虚拟宇宙可能会 变得太大。所以在通常情况下最好把一个场景图看作是一个高分辨率坐标场景的 子结点。 构造一个三维场景,程序员必须运行一个j a v a3 d 程序。这个j a v a3 d 应用程 序必须首先创建一个虚拟宇宙对象并且至少把一个l o c a l e 对象附加之上。然后, 构建出需要的场景图像,它由一个分支组结点开始并且包括至少一个观察平台对 象,而场景图就是附加于这个观察平台。当一个包含场景图的观察对象被附加于 一个虚拟宇宙。j a v a3 d 的渲染循环就开始工作。这样场景就会和它的观察对象 一起被绘制在画布上。 2 2 4 编程实现一个三维世界 本小节将描述怎样调用v i r t u a l u n i v e r s e 、l o c a l e 和h i r e s c o o r d 对象的编程接 口实现建立一个完整的“三维世界”。这个三维世界有原点、坐标,是实现三维显 示程序的第一步。 l 、v i r t u a l u n i v e r s e 对象有下列构造函数: p u b l i cv i r t u a l u n i v e r s e 0 这个函数构造了一个新的v i r t u a l u n i v e r s e 对象,这个对象可以用来创建l o c a l e 对象。 2 、l o c a l e 对象有下列构建器: p u b l i cl o c a l e ( v i r t u a l u n i v e r s eu n i v e r s e ) p u b l i cl o c a l e ( v i r t u a l u n i v e r s eu n i v e r s e ,i n tx 【】,i n ty 【j ,i n tz o ) p u b l i cl o c a l e ( v i r t u a l u n i v e r s eu n i v e r s e ,h i r e s c o o r dh i r e s ) 这三个构建器在指定的v i r t u a l u n i v e r s e 中创建了一个新的高分辨率l o c a l e 对 基于j a v a 平台的古生物复原工具的研究 象。其中第一个形成了一个在( o 0 ,0 0 ,0 0 ) 的l o c a l e 对象。其他的两个构建器在指 定的坐标上建立了l o c a l e 对象。在第二种形式里。参数x ,y ,z 是含八个3 2 位整 数的数组,这些数组指定了各自的高分辨率坐标。 h i r e s c o o r d 对象定义了一个使用三个高分辨率坐标的点,而每一个坐标又由 三个定点数组成。每个高分辨率坐标数共有2 5 6 位,第1 2 8 位是二进制小数点。j a v a 3 d 使用长度为八的整数数组来定义或提取一个2 5 6 位的坐标值。j a v a3 d 用数组 内的第个整数来表示高3 2 位,最后一个整数来表示低3 2 位。 3 、h i r e s c o o r d 对象有以下的构建函数: p u b l i ch i r e s c o o r d ( i n tx 口,i n ty 【】,i n tz 【】) p u b l i ch i r e s c o o r d ( h i r e s c o o r dh c ) p u b l i ch i r e s c o o r d ( ) 第个构造函数从输入的三个长度为八的整数数组生成高分辨率坐标。整数 数组定义了与其同名坐标对象的值。第二个构造函数通过复制另外一个坐标创建 一个新的坐标。第三个构造函数创建了一个值为( o 0 ,0 0 ,0 o ) 的坐标。 所有j a v a3 d 程序都会首先建立v i r t u a l u n i v e r s e 和l o c a l e 对象。j a v a3 d 为最 原始的v i r t u a l u n i v e r s e 创建了几个子类:s i m p l e u n i v e r s e 、c o n f i g u r e d u n i v e r s e , 这些子类保证了可以将三维图像轻易的通过c a n v a s 3 d 的对象在a p p l e t 或f r a m e 中显示。其中最常用到的是s i m p l e u n i v e s e 对象,这个类位于包 c o m s u n j 3 d u t i l s u n i v e r s e 中。下面我们给出初始化v i r t u a l u n i v e r s e 和l o c a l e 的代码: u = n e w s i m p l e u n i v e r s e ( v ,v i e w e r ) ; u g e t v i e w i n g p l a t f o r m o ; v i e w i n g p l a t f o r mv i e w i c l g p l a t f o r m = u g e t v i e w i n g p l a t f o r m o ; 2 3 交互式j a v a3 d 程序 像大多数技术一样虚拟现实技术也不是突然出现的,它与其他技术的成熟 密切相关,如实时计算机系统、计算机图形、显示器、光纤及三维跟踪技术等。 从诞生至今,伴随计算机技术的飞跃。作为一种更强大、更富刨造性地人机交互 系统。虚拟现实系统的发展及完善在不断地继续,应用领域也在不断地扩大。 虚拟现实技术的研究目标是消除人所处的环境和计算机系统之间的界限,即 在计算机系统提供的虚拟空间中,人可以尽量采用最自然的手段和虚拟空问进行 实时交互,随时控制虚拟空间的状态。 j a v a3 d 的交互式三维应用程序可以分成三类 7 1 :第一类是利用j a v a 程序中的 事件处理模型,第二类是利用j a v a3 d 所提供的b e h a v i o r 方面的u t i l i t y 对象,第三 类是定义自己的b e h a v i o r 对象。 第二章j a v a3 d 简述 1 、事件处理模型 j a v a3 d 借助j a v a 语言强大的事件处理功能,可用来编写复杂的应用程序。j a v a 3 d 的事件处理方法使用的是j a v a l 1 版本的事件处理模型,在这一事件处理模型 中,事件源生成各种事件,一个或多个监听器在事先向事件源登记的情况下,可 以得到事件发生的信号,进而可以对各种事件进行有效的处理。这种方法主要是 用于特点显示界面的设计及一些状态的变化处理方面。 j a v a l 1 版本的事件处理程序中,可以采用i m p l e m e n t s 说明该类实现的个或 多个监听器。下面列出这些主要的监听器。由于j a v a3 d 常用的监听器均没有具体 实现的接口( i n t e r f a c e ) 在使用的时候,应在程序中给出相应方法的具体内容。 ( 1 ) a c t i o n l i s t e n e r ( 相应的处理方法为:a c t i o n p e r f o r m e d ) a c t i o n l i s t e n e r 监听器可以用来监听各种a w t 事件,如屏幕上按钮是否按下, 如果指定的按钮按下,监听器发出按钮按下的事件,程序则通过处理事件的 a c t i o n p e r f o r m e d 方法进行事件的处理,使程序产生相应的变化。下面给出 a
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 离婚协议中财产自愿归零及净身出户具体协议
- 公务员申论培训咨询服务合同
- 职业院校国有资产管理绩效评价
- 考研准备中的技巧和方法
- 心理干预措施报告
- 共轴双旋翼模型的建立
- 农业文化传播与品牌建设成效
- 2025浙江宁波慈溪市周巷职业高级中学招聘派遣制教师3人笔试备考试题及答案解析
- 天然气价格测算制度
- 如何用香熏养生保健身体
- 2025年供热通风与空调工程师考试试卷及答案
- 建筑材料与构造教学课件
- 直播停播协议书范本
- 征信修复合同协议
- 消化道出血护理新进展
- 肠内营养管堵塞的预防及处理
- 搅拌站原材料管理
- HIV初筛实验室工作制度
- T-CNAS 10-2020 成人有创机械通气气道内吸引技术操作
- 《危险货物港口作业重大事故隐患判定标准》知识培训
- 海外优青-申请书模板(3篇)
评论
0/150
提交评论