(计算机应用技术专业论文)基于vrml的机械基础远程实验教学系统的构建.pdf_第1页
(计算机应用技术专业论文)基于vrml的机械基础远程实验教学系统的构建.pdf_第2页
(计算机应用技术专业论文)基于vrml的机械基础远程实验教学系统的构建.pdf_第3页
(计算机应用技术专业论文)基于vrml的机械基础远程实验教学系统的构建.pdf_第4页
(计算机应用技术专业论文)基于vrml的机械基础远程实验教学系统的构建.pdf_第5页
已阅读5页,还剩59页未读 继续免费阅读

(计算机应用技术专业论文)基于vrml的机械基础远程实验教学系统的构建.pdf.pdf 免费下载

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

文档简介

浙江工业大学硕士学位论文 摘盟 基于v r m l 的机械基础远程实验教学系统的构建 摘要 随着计算机技术特别是网络通信技术与信息处理技术的飞速发 展,现代远程教育作为一种新的教育模式得到了迅速发展。由于虚拟 现实技术的发展和提高,虚拟现实技术在网络上的应用也随之越来越 广泛。运用虚拟现实技术实现远程实验教学正成为网络教学和实验资 源建设的重要组成部分。 论文阐述了国内外虚拟实验室的发展,及虚拟实验在远程教学中 的应用和发展情况。分析了实现机械基础远程实验教学的意义。文章 讨论了网络虚拟现实建模语言v r m l 技术的特点和优势。对基于 v i m l 技术在机械基础实验的实验仪器设各的静态建模方法及实验的 动态仿真等的关键技术问题进行了探索。具体探讨了运用三维建模软 件如p r o t e 或c a x a 实体设计建立静态的机械基础实验设备模型方 法;利用v r m l 、j s a i 、e a i 、j a v a 技术实现实验的动态模拟和交互 实验过程。 文章分析了机械基础远程实验教学系统的功能需求,讨论了远程 实验教学平台的网络实现技术。运用b r o w s e r s e r v e r 体系结构,w e b 相关技术构建远程实验教学系统平台,建立系统框架,实现实验教学 的各功能。 最后对文章作了总结和展望,论文只是实现了系统的框架及部分实验,系统的更多实 验有待于进一步深化和实现。 关键词v r m l ,远程教学,虚拟实验,j a v a 浙江工:业大学硕士学位论文a b s t r a c t t h ec o n s t r u c t i o no fd i s7 i _ a n c ee d u c a t i o n s y s t e mi ne x p e r i m e n to fm a c h i n e r y b a s e sb a s e do nv r m l a b s t r a c t w i t ht h e r a p i dd e v e l o p m e n to ft h ec o m p u t e r st e c h n o l o g y , e s p e c i a l l yn e t w o r k c o m m u n i c a t i o nt e c h n o l o g ya n di n f o r m a t i o np r o c e s s i n gt e c h n o l o g y , m o d e md i s t a n c e e d u c a t i o ni s r a p i d l yd e v e l o p i n g a so n en e wt y p eo fe d u c a t i o n b e c a u s eo ft h e d e v e l o p m e n t a n da d v a n c eo fv m u a l r e a l i t yt e c h n o l o g y , t h ea p p l i c a t i o no f v i r t u a lr e a l i t y t e c h n o l o g yn o wi s a b r o a di nn e t w o r k r e a l i z i n gd i s t a n c ee x p e r i m e n te d u c a t i o nw i t h v i r t u a lr e a l i t yt e c h n o l o g yi sb e c o m i n gt h ei m p o r t a n tp a r to fn e t w o r kt u t o r i n ga n dt h e b u i l d i n go f e x p e r i m e n t r e s o u r c e s t h e p a p e re x p a t i a t e st h ed e v e l o p m e n to f v i r t u a ll a bi ni n t e r n a lo ro v e r s e a s ,a n dt h e i n f o r m a t i o no fa p p l i c a t i o no fv i r t t m le x p e r i m e n to nd i s t a n c ee d u c a t i o n t h em e a n i n go f r e a l i z i n gm a c h i n e r yb a s e sd i s t a n c e e d u c a t i o ni s a n a l y z e d t h ep a p l e r d i s c u s s e st h e c h a r a c t e r i s t i ca n da d v a n t a g eo fv i r t u a lr e a l i t ym o d e l i n gl a n g u a g e t h es t a t i cs t a t e m o d e l i n gm e t h o do fe q u i p m e n ta n dt h ek e yt e c h n o l o g y o fd y n a m i cs i m u l a t i o ni n e x p e r i m e n to fm a c h i n e r yb a s e sb a s e do nv r m l a r ee x p l o r e d t h ep a p e rc o n c r e t e l y d i s c u s s e st h em e t h o do fs t a t i cs t a t e m o d e l i n g o fe q u i p m e n t so fm a c h i n e r yb a s e s e x p e r i m e n tw i t l3 一d i m e n s i o nm o d e l i n gs o f t w a r es u c ha sp r o e o rc a x a :u t i l i z i n g v r m l ,j s a i ,e a i ,a n dj a v at o r e a l i z i n gd y n a m i cs i m u l a t i o n o fe x p e r i m e n ta n d i n t e r a c t i v ep r o c e s so f e x p e r i m e n t n l e p a d e ra n a l y z e s t h ef u n c t i o n a ld e m a n do fd i s t a n c ee d u c a t i o n s y s t e m i n e x p e r i m e n to fm a c h i n e r yb a s e s ,a n dd i s c u s s e st h en e t w o r kr e a l i z i n gt e c h n o l o g yo f d i s t a n c ee x p e r i m e n te d u c a t i o ns y s t e m u t i l i z i n gb r o w s e r s e r v e rs y s t e m a t i cs t r u c t u r e , w e bi n t e r r e l a t e dt e c h n o l o g yc o n s t r u c td i s t a n c ee x p e r i m e n te d u c a t i o ns y s t e m e s t a b l i s h s y s t e m a t i cf r a m e w o r k ,a n dr e a l i z et h ef u n c t i o no f e x p e r i m e n te d u c a t i o n f i n a l l yas u m m a r ya n dp r o s p e c to f t h i st h e s i sa r cg i v e n t h i sp a p e ro n l yr e a l i z e s s y s t e m a t i cf r a m e w o r ka n dt h ep a r to fe x p e r i m e n t s ,m o r er e s e a r c h e sa r em o r ed e e p e n e d a n dr e a l i z e da f t e r t i m e k e yw o r d sv r m l ,d i s t a n c ee d u c a t i o n ,v i r t u a le x p e r i m e n t ,j a v a 浙江工业大学 学位论文原创性声明 y - 7 4 9 6 5 3 本人郑重声明:所提交的学位论文是本人在导师的指导下,独立进行研究工 作所取得的研究成果。除文中已经加以标注引用的内容外,本论文不包含其他个 人或集体已经发表或撰写过的研究成果,也不含为获得浙江 j 业大学或其它教育 机构的学位证书而使用过的材料。对本文的研究作出重要贡献的个人和集体,均 已在文中以明确方式标明。本人承担本声明的法律责任。 作者签名:另移辨年b 日期:口r 年瑚卵曰 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保 留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借 阕。本人授权浙江工业大学可以将本学位论文的全部或部分内容编入有关数据库 进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。 本学位论文属于 作者签名; 导师签名: l 、保密口,在年解密后适用本授权书。 2 、不保密d 9 基础制定的,于1 9 9 7 年4 月提交国际标准化组织i s oj y c i s c 2 4 委员会 审议,定名v r m l 9 7 ( i s o t e c1 4 7 7 2 1 :1 9 9 7 ) 。目前w e b 3 d 联盟正致力于v r m l 的 下一代x 3 d 的有关规范的制定。 v r m l i o 本质上是一个静态的三维场景描述语言,不具备动态交互性; v r m l 2 ,o 在v r m l i o 的基础上增加了s c r i p t 节点。s c r i p t 节点是联系v r m l 场景和外 部行为控制的纽带,使用它可以实现与外部语言的交互。同时,v r m l 2 o 还增加 了其他一些传感器节点来扩展虚拟世界的动态行为。 3 ,3 2v r m l 的功能概述 v r m l ( v i r t u a lr e a l i t ym o d e l i n gl a n g u a g e ) 为虚拟环境的建立提供了规 范,综合了现有三维软件的景象描述语亩的优点。它有基本元素、顶点、线和面 浙江工业大学硕士学位论文 第三章虚拟实验室及其相关技术的研究 的定义,坐标变换有缩放( s c a l i n g ) 、旋转( r o t a t i o n ) 和平移( t r a n s l a t i o n ) ,并 有优化的数据结构。 其主要功能主要如下列。1 : 口存在感 存在感又称为临场感,是指用户感到自己就是主角存在于虚拟环境中的真 实程度。理想中的虚拟环境可使我们有种身临其境的感觉,仿真存在于v r m l 世界中,丽非局外人。 口多感知性 多感知性是指赊了一般计算机都具有的视觉感知外,还可通过一些设备在听 觉感知、触觉感知、运动感知、味觉感知、嗅觉感知等方面感受虚拟境界的 切。 口交互性 交互性是指用户对虚拟外境内物体的可操作程度和用户从虚拟环境中得到反 馈的自然程度。v r m l 的图形渲染是“实时”的,这是它与动画制作软件的最大区 别,这种“实对性”导致了在虚拟场景中的人机“可交互性”。依可以用制作动 画软件制作一个沿着某一条路径浏览“死”动画,而且可以反复播放这个动画, 但该动画总是沿着一条固定路径的。而v r m l 生成的场景是“活”的。在这里, 你不仅在场景澡随意漫步,甚至可以随时启动一个“事件”,比如:你碰到了一 个物体,像现实中一样会发出碰撞声,而不再是游魂一样穿过物体。在感受虚拟 境界的同时,能够通过自己的行为改变或影响虚拟境界,就如在现实中改变自己 周围的环境一样。 口动态显示 v r m l 创建的v r m l 场景不再仅仅是静态显示,它所显示的一切都和现实中 样有静有动,丽物体如何运动只取决于该物体的属性。而且其动态不只是沿着某 一路径循环下去的,它更取决于操作者对其所做出的动作,这是与其他也可动态 显示语言的根本区别。 口立体感的视觉效果 v r m l 创建的虚拟现实场景是模拟现实中的则其必有现实中的立体感, 而不再是一般的二维图片。特别是随着浏览者的移动,v r m l 场景中的物体属性, 如光照、方位等也随之改交,从各方西达到立体感的视觉效果。 浙江工业大学硕士学位论文第三章虚拟实验室及其相关技术的研究 口立体感的听觉效果 v r m l 不但可以通过三维图形在视觉上达到立体效果,而且可以通过3 d 声 音让八感受周围环境的声音,就如在现实中听到一样,而不再是简单的2 d 声 音。在s o u n d 节点中,可以进行声音大小、位置、方向等空间性质的设定,让声 音的表现有远近不同的立体效果,以增加真实性。 口动态显示与网络无关 v r m l 是面向网络的,它是为网络而生的,并随网络而发展的。它的巧妙 之处在于:避免了在网上传输无限容量的一帧帧视频图像,而传输的只是有限容 量的w r l 文件,即只传送描述场景的模型,而把动画帧的生成放在本地。也就是 说,当你在虚拟世界中漫步时,你依靠的只是本地主机的性能,而与网络无关, 不必再担心由于网络拥挤而不能欣赏到优美动画了。 口 脚本功能 在s c r i p t 节点中加入程序语言。以进行对象行为的设定。编写的语言倾 向于j a v a ,也可用其他的c g i 程序,例如p e r l ,另外s g i 公司还发展了一种类 似j a v a 的v r m l s c r i p t 语言,前途也是非常可观的。 口多重使用者 建立一个多重使用者共享的虚拟环境开发标准,可以让进入的使用者,利用 其替身在虚拟空间中彼此交谈或者沟通,并体验到多媒体,甚至是置身其中的生 理感觉。 口全球资讯网参考节点 以i n l i n e ( n a m e “u r l ”) 节点,可以将i n t e r n e t 上的其他v r m l 文件加入到 你所建立的虚拟世界,就如同编写h t m l 时也可以借用网络上其他地方的图档, 当需要显示时,再分别由网路下载不必等所有对象下载完毕后,才能执行v r m l 文件。 口超链接功能 a n c h o r ( n a m e “u r l ”) 节点,在其中加入所要链接网站的u r l 地址后,就可 以让某个对象有超链接的功能,点击后即可链接到特定区域或是网络中的特定 文件。 v r m l 提供了简单几何体、变换、点集、索引线集、索引面积、挤压、仰角 格等多种造型方法,同时很多三维动画软件也支持v 黼l 格式,比如用3 d m a x 、 浙江工业大学颂士学位论文 第三章虚拟实验室及其相关技术的研究 p r o e 、c a x a 建立的三维模型就可直接导出为v r m l 格式。 3 3 3v r m l 的文件结构及基本概念 v r m l 文件是由文本编辑器编写的,其文件扩展名为w r l 或w r z ,使用更多 的是w r l 文件。v r m l 文件中的主要成份包括v r m l 文件头、原型、造型、脚本、 路由五个成份“,其中文件头是必需的。其他成份根据所编写的v r m l 程序不同 包含的成份也不同。v l 文件头的语法如下: # v r m lv 2 0u t f 8 原型”2 3 是节点对其中的域、入事件和出事件的声明,用户可以通过原型扩 充v r m l 节点类型集。原型的定义可以包含在使用该原型的文件中,也可以在外 部定义;原型可以根据其他的v r m l 节点来定义,也可以利用特定的浏览器的扩 展机制来定义。 物体的造型即场景图,场景图由描述对象及其属性的节点组成。场景图的 第一类节点用于从视觉和听觉方面表现对象,它们是按层次体系结构组织而成 的。另一类节点参考事件和路由机制。 脚本是一套程序,通常作为一个事件关联的一部分而执行。脚本函数也 可以异步地执行。与脚本相关联的是脚本节点和脚本语言。一个s c r i p t 节点包 含一个叫做s c r i p t 的程序。这个程序是以j a v a s c r i p t 或j a v a 写的。脚本可以 接受事件,处理事件中的信息,还可以产生基于处理结果的输出事件。当一个 s c r i p t 节点接受一个输入事件时,它将事件的值和时间戳传给与输入事件同名的 函数或方法,函数可以通过赋值给与事件同名的变量发送事件。一个输出事件与 调用发出输出事件函数的输入事件有相同的时间戳。当一个脚本给另一个节点发 出多个具有相同时间截的事件时,另一个节点的类型将决定处理事件的顺序。总 而言之,这个处理过程最接近用户期望的顺序。 路由是产生事件和接收事件的节点之间的连接通道。路由不是节点。路由 说明是为了确立被指定的域的事件之间的路径而人为设定的框架。路由说明可以 在v r m l 文件的顶部,也可以在文件节点的某个域中。在v r m l 文件中路由说明是 与位置无关的,它既可以在源节点之前,也可以在目标节点之后,在一个节点中 进行说明,与该节点无任何联系。 节点是对现实世界中各种对象和概念( 如球、光和材质等) 的抽象描述,它 浙江工业大学硕士学位论文 第三章虚拟实验室及其相关技术的研究 是v r m l 文件中最基本的组成部分,其作用是描述空间造型及其属性。节点包含 在括号中的一个或多个描述节点属性的域。每种节点都有自己的一套域,域定义 了节点的各个属性。通过修改节点的域的域值就可更改该节点的属性,进而改变 v r i l 场景。由多个节点之间并列使用或层层嵌套就构成了v r m l 文件。v r m l 2 0 包含五十二个节点,可分为以下几种: 口形态和几何节点 口几何属性节点 口外观节点 口组节点 口其他节点的子节点 口非子节点 域可以包含各种类型的数据和单个或是多个的值。每个域都有缺损值。域 的标识符叫域名。在节点作用的范围内,域名是唯一的。有两类常见的域,一类 只包含单值( 所谓单值,可以是一个单独的数,也可以是定义一个向量或颜色的 几个数,甚至可以是定义一幅图像的一组数) ,单值类型的域名以“s f ”开始; 另一类包含多个值,叫多值域。多值域名称以“m f ”开始的。在v r m l 文件中, 表示多域值的方法是:一系列用逗号和空格间隔开的单值,整个用方括号括起 来。如果一个多值域,不包禽任何值,则只标出方括号( ) ,其中不填任何 数。如果一个多值域,恰好只包含一个数,可以不写括号,直接写该值。 下面是一个v r m l 文件的例子: # v r _ m lv 2 0u f f 8 g r o u p c h i l d r e n 【 b a c k g r o u d s k y c o l o r 0 o o 2 0 7 0 o o 51 o o 21 01 o 】 s k y a n g l e 1 4 2 3 ,1 5 7 1 】 g r o t m d c o l o r 【 浙江工业太学硕士学位论文 第三章虚拟实验室及其相关技术的研究 0 50 50 3 0 1o 8 0 4 0 40 1o 8 g r o u n d a n g l e 1 3 0 9 ,1 5 7 1 】 d e ft o u c h t o u c h s e n s o r s h a p e a p p e a r a n c ea p p e a r a n c e m a t e r i a ld e fb o x lm a t e r i a l d i m s e c o l o r0 60 50 2 e m i s s i v e c o l o r0 70 40 2 ) g e o m e t r yb o x s i z e2 01 01 o ) ) 】 ) d e f w a ys c r i p t e v e n t i ns f t i m et e v e n t o u ts f c o l o rc o l o r f i e l ds f c o l o rr e d c o l o r0 80 20 2 u r l j a v a s c r i p t : f u n c t i o n “) c o l o r = r e d c o l o r ) ” ) r o u t et o u c h t o u c h t i m et o w a y t r o u t e w a y c o l o rt ob o x l s e t _ d i f f u s e c o l o r 浙k e 2 e 业大学硖士学位论文 第三章虚拟实验室及其相关技术的研究 3 3 4v r m l 场景图 场景图由描述对象及其属性的节点组成“。场景图的第一类节点用于从视 觉和听觉方面表现对象,它们是按层次体系结构组织而成的。另一类节点参考事 件和路由机制,形成路由图,确定境界随时间推移如何动态变化。所以场景图是 虚拟境界的内部表示嘲1 。 乡g r o u p 节点 q s h a 。节点 b i l l b 。a r d 节点 o c o l l i s i o n 节点 l o d 节点 ot r a 。s f o r m 节点 a n c h 。r 节点 i n l i n e 节点 q l i g h t 节点 s w i t c h 节点 图3 2v r m l 场景图 场景图的层次体系,提供一组对象,这些对象在三维空间中存在参数,例 如深度、高度、宽度。场景中包含各类节点,这些节点构成一种树状的层次关 系。v r m l 场景图的例子如下图3 2 : v r m l 场景图采用笛卡尔坐标系统,空间上的每一个点可以用一组( 三个) 数表示,称之为坐标。第一个数为x 坐标,表示对象放在空间的左右位置;第二 个数为y 坐标,表示对象放在空间的上下位置:第三个数为z 坐标,表示对象放 在空间中距离屏幕的远近位置。任何对象放置在场景中对的默认位置都是( 0 , 浙江工业人学颂士学位论文 第三章虚拟实验室披其相关技术的研究 0 ,o ) 处。x 轴的正方向指向右边,y 轴的正方向指向正上,z 轴的正方向指向前 方,即浏览者。 在v r m l 中,我们可以创建任意多个空间坐标系。每个新的坐标系都是根 据另一个已有的坐标系的原点而定位的。当一个新的坐标系相对另一个坐标系 时,就称该新坐标系为子坐标系,另一个坐标系为父坐标系,子坐标系嵌入父坐 标系。 在v r m l 空间中,每一个造型都有其空间坐标,通过修改空间坐标系就可 以使造型物体在v r m l 空间中移动、旋转等。使用t r a n s f o r m 节点可p a c , 建一个 相对已有坐标系的新的空间坐标系,同样也可使用t r a n s f o r m 节点使造型进行移 动、旋转及缩放。t r a n s f o r m 节点语法如下。”: t r a n s f o r m ( # e x p o s e d f i e l dm f n o d ec h i l d r e n # e x p o s e d f i e l ds f v e c 3 ft r a n s l a t i o n0 0 0 0 0 0 # e x p o s e d f i e l ds f r o t a t i o nr o t a t i o n0 0 0 0 1 00 0 # e x p o s e d f i e l ds f v e c 3 fs c l a e 1 01 01 0 # e x p o s e d f i e l ds f r o t a t i o ns c a l e o r i e n t a t i o n0 0 0 0 1 00 0 # f i e l ds f v e c 3 f b b o x c e n t e r0 0 0 0 0 0 # f i e l ds f v e c 3 fb b o x s i z e1 0 1 0 1 0 # e x p o s e d f i e l d s f v e c 3 fc e n t e r0 0 0 0 0 0 # e v e n t l nm f n o d ea d d c h i l d r e n # e v e n t i nm f n o d er e m o v e c h i l d r e n ) e h i l d e n 域的域值指定了包含在该组中的子节点列表。该域值通南包括 s h a p e 节点和其他c r o u p 节点及t r a n s f o r m 节点。浏览器是逐个创建这域值中所 包含的每个造型和组。 t r a n s l a t i o n 域的域值指定了在父坐标系的原点和新坐标系的原点之间 x ,y ,z 方向上的距离。该域值的三个值分别代表x 、y 、z 方向上的距离。该域 值即可为正,也可为负,只是方向相反而已。 _ r o t a t i o n 域的域值指定了一个旋转轴和旋转角度。新坐标系是围绕该旋 转轴旋转一个该域值所设定的旋转角度。该域的前一个值为一个三维坐标的x , y ,z 分量,该三维坐标是在新坐标系上的,原点和该点相连的虚线就是旋转轴。 浙江= i _ = 业大学硕士学位论文 第三章虚拟实验室及其相关技术的研究 该域值的第4 个值为以弧度为计量单位的旋转角度。 3 3 5v r m l 中的动画与交互 v r m l 文件包含了对三维世界的描述,这意味着必须以实时方式来浏览它。 一般来说,你可以称它为场景。如果场景很大,像现实世界中一样在里面做各种 活动,你也可以称它为世界。 v r m l 2 0 提供了多种构造动态虚拟现实模型的方法,以下分别将作介绍。 1 、使用插补器控制动画 插补器( i n t e r p o l a t o r ) 节点是为线性关键帧动画而设计的。其采用一组 关键数值,且每个关键值对应一种状态。这个状态允许以各种形式表示,如 s f v e c 3 f 或s f v e v c o t o r 。浏览襄会根据这些关键状态生成连续的动画。 插补器节点根据其所插值的类型不同而分为6 种:颜色插补器 ( c o l o r i n t e r p o l a t o r ) 、坐标插补器( c o o r d i n a t e i n t e r p o l a t o r ) 、法线插补 器( n o r m a l i n t e r p o l a t o r ) 、朝向插补器( o r i e n t a t i o n i n t e r p o l a t o r ) 、位置插 补器( p o s i t i o n i n t e r p 0 1 a t o r ) 、标量插补器( s c a l a r i n t e r p o l a t o r ) 。使用插 补器实现动画的原理大致相同,这里以p o s i t i o n i n t e r p 0 1 a t o r 节点实现平移为 例作一简介。 p o s i t i o n i n t e r p 0 1 a t o r 的语法结构如下: p o s i t i o n i n t e r p 0 1 a t o r ( # e x p o s e d f i e l dm f f l o a tk e y # e x p o s e d f i e l dm f g e c 3 fk e y v a l u e # e v e n t l ns f f l o a t s e t _ f r a e t i o n # e v e n t o u ts f v e c 3 f v a l u e _ c h a n g e d ) 通过时间传感器( t i m e s e n s o r ) 设定时间变化规律,当事件入口s e t f r a c t i o n 接收到一个时刻值时,p o s l t i o n i n t e r p o l a t o r 节点计算出基于关键位 置表k e y v a l u e 口和相关的关键时刻的一个位置,并通过v a l u e c h a n g e d 事件出口 输出新的位置列表,从而实现位置平移变化。 也就是说,使用插补器改变对象形成动画,用户只需给出一系列运动轨迹 的中间态势,由v r m l 解释器自动平滑对象在这些中间态势间的过渡,从而得到 浙江工业大学硕士学位论文 第三章虚拟实验室及奠相关技术的研究 使对象按所给路线变化的动态效果。 2 、实现交互功能 v p 瑚l 2 0 的一个重要特点就是交互功能。在v r m l 中虚拟世界和用户之间的 交互是通过一系列检测器来实现的。包括触动检测器和感知检测器。 触动检测器是用来检测用户的触动动作的,其中包括t o u c h s e n s o r 、 p a n e s e n s o r 、c y l i n d e r s e n s o r 、s d h e r e s e n s o r 节点。这些节点都可作为任何组 节点的子节点。 t o u c h s e n s o r 节点创建了一个检测用户动作。并将其转化后输出,以触 发一个动画的检测器。p l a n e s e n s o r 节点创建了一个可将浏览者的动作转换成适 于操作造型的输出的检测器,用以感知用户对该组节点的动作,使造型按用户的 动作而平移。c y l i n d e r s e n s o r 节点用来创建一个将用户动作转换成造型围绕y 轴 旋转动画的检测器。s p h e r e s e n s o r 节点创建了一个将用户动作转换为造型绕某一 点旋转的动画的检测器。下面以t o u c h s e n s o r 为例说明触动检测器的语法结构: t o u c h s e n s o r # e v e n t o u ts f b o o li s o r e r # e v e n t o u ts f v e c 3 fh it p o i n t c h a n g e d # e v e n t o u ts f v e c 3 f h i t n o r m a l c h a n g e d # e v e n t o u ts f v e c 3 fh i t t e x c o o r d _ c h a n g e d # e v e n t o u ts f b 0 0 1i s a c t i r e # e v e n t o u ts f t i m et o u c h t i m e # e x p o s e d f i e l ds f b o o le n a b l e dt r u e l 感知检测器是感知用户与造型的接近程度。感知检测器包括 v i s i b i t i t y s e n s o r 节点、p r o x i 砸t y s e n s o r 节点、c o l l i s i o n 节点。 v i s i b i l i t y s e n s o r 节点用来从观察者的方向和位置感知一人长方体区域在 当前的坐标系中何时才是可视的。p r o x i m i t y s e n s o r 节点用来感知用户何时进 入、退出和移动于坐标系内的一个长方体区域。c o l l i s i o n 节点用来检测何时用 户和该组中的任何其他造型发生碰撞。下面畎p r o x i m i t y s e n s o r 节点为例说明节 点的语法结构: p r o x i m i t y s e n s o r 浙江工业大学硕士学位论文第三章虚拟实验室及其相笑技术的研究 # e v e n t o u ts f b o o li s a c t i v e # e v e n t o u ts f v e c 3 f p o s i t i o n c h a n g e d # e v e n t o u ts f r o t a t i o n o r i e n t a t i o n c h a n g e d # e v e n t o u ts f t i m ee n t e r t i m e # e v e n t o u ts f t i m ee x i t t i m e # e x p o s e d f i e l d s f v e c 3 fc e n t e r000 # e x p o s e d f i e l d s f v e c 3 fs i z e 000 # e x p o s e d f i e l d s f b o o le n a b l e dt r u e ) 3 3 6v r m l 浏览器介绍 在观看v r m l 场景时,需通过支持v r m l 文件的浏览器来浏览,鞍常见的浏 览器插件有,w i n 9 8 w i n 2 0 0 0 w i n x p 中提供的m i c r o s o f t v r m l 2 0 浏览器( 安装时 选择“控制面板添加删除程序w i n d o w s 安装程序i n t e r n e t 工具”中的 “m i c r o s o f t v r m l 2 0 浏览器”选项) ,s g i 公司的c o s m o 播放器, p a r a l l e l g r a p h i c s “o 公司的c o r t o n av r m lc l i e n t 等。 下面介绍c o r t o n a 浏览臻,如图3 3 : 图中 图3 - 3c o r t o n a 浏览器 浙江工业大学硕士学位论文 第三章虚拟实验室及其相关技术的研究 w a i k :步行的移动方式。f l y :飞行的移动方式。 s t u d y :从不同角度观察物体的移动方式。 p 。a n :前进或后退模式,与w a l k 、f l y 、s t u d y 移动方式组合运用。 p a n :左右平移模式,与w a l k 、f l y 、s t u d y 移动方式组合运用。 t u r n ;摄像机视点左右上下旋转模式,与w a l k 、f l y 、s t u d y 移动方式组合运 用 r o l 】:物体自身旋转模式,与f l y 、s t u d y 移动方式组合运用。操作方式:单 击物体选择旋转中心点,拖鼠标左键。, g o t o :转移模式,选择g o t o 模式后,点击场境中的物体,便会立即靠近到物 体上。 a li g n :水平模式,选择a l i g n 模式后,摄像机便会水平放置。 v ie w :前进或返回前一个视点或后一个视点。 c r mr e s t o r e :返回初始状态。 使整个3 d 物体尽可能地充满浏览窗口。 3 4v r m l 与j a v a 的交互技术 3 ,4 1j a v a 技术 j a v a 是由s u n 公司开发的,伴随着i n t e r n e t 发展的一种网络编程语苦。 j a v a 的特征是简单、面向对象、公布式、解释性的、健壮的、安全的、平台无关 的、可移植的、性能优异的、多线程的动态语言“”。 j a v ah p p l e t 是用j a v a 语言编写的一种特殊类型的程序,称之为小应用程 序,它最大的特点就是可以在i n t e r n e t 中传输弗在兼容j a v a 的w e b 页面随同w e b 页 面一起下载到客户端的浏览器中运行。对于所有支持j a v ah p p l e t 的主流浏览 器,可以利用j a v aa p p l e t 实现全面的交互式操作,能对用户的输入作出反应, 并且能动态变化。而且由于j a v a 本身是一种安全的网络语言,因此可以实现对系 统的安全访问,既不会对服务器系统造成损害,也不会影响客户机的正常运行。 浙江工! 也大学硕士学位论文 第三章虚拟实验室及其相若技术的研究 3 4 2 利用j s a i 扩展v r m l 场景的交互功能 j s a i ,就是j a v a 脚本创作接口( j a v as c r i p ta u t h o r i n gi n t e r f a c e ) ,它 是由s o n y 公司提出的为j a v a 与v r m l 相结合而提供v r m l 高级脚本功能的解决方 案”1 。j s a i 由三个包组成:v r m l 、v r m l f i e l d 和v r m l n o d e 。v r m l f i e l d 包由 表示v r m l 域数据类型的类组成,这些域数据类型包括表示空间位置、旋转方 位、时间、节点以及其他v r m l 域。对于每一种v r m l 域类型,j s a i 都提供了相应 的类来表示。使用j a v a 作为脚本具有以下好处: ( 1 ) 、更清晰的模块化代码,j a v a 是面向对象的语言,编写出来的代码具有 可重用性; ( 2 ) 、更高效的数据结构,j a v a 是一门成熟的编程语言,提供了丰富的数据 结构,可以完成复杂的程序设计; ( 3 ) 、更快的执行速度、j a v a 相比于解释性的脚本语言来说在执行速度上具 有很大的优势; ( 4 ) 、更丰富交互手段,可以使用j a v a 中的其他类库编写出具有强大交互功 能的图形用户界面; ( 5 ) 、可以访问网终资源,j a v a 是面向网络的,提供了丰富的关于网络编程 的类库,在访问网终资源,实现多用户环境等方面无可比拟。 利用j s a i 与v r m l 场景中的节点产生交互用两种方法,一是通过s c r i p t 节 点的e v e n t o u t 影响v r m l 场景中的节点,这是一种间接的节点访问方式;二是利 用v r m l 中的s f n o d e 类型,它是一种指针类型,当场景的事件传来时,由事件操 作类方法的自动引导,j a v a 程序便获得了读写s f n o d e 字段的机会,通过j a v a 强 大的编程能力来直接影响场景中的节点。v r m l 程序中的s c r i p t 节点的一般形式 如下: s c r i p t e v e n t l n 事件类型事件名 f i e l ds f n o d es e t c o l o ru s et o g u r l“c l a s s ” ) j a v a 程序的一般形式为: i m p o r tv r m l : i m p o r tv r m l f i e l d 术: i m p o r tv r m l n o d e + : p u b l i cc l a s sf i l e n a m ee x e n d ss c r i p t p r i v a t es f c o l o rc o l o r : 浙江工业大学硕士学位论文第三章虚拟实验宣及其相关技术的研究 p r i v a t es f n o d ej _ n o d e : p u b l i cv o i di n i t i a l i z e ( ) j _ n o d e = ( s f n o d e ) g e t f i e l d ( “s e t c o l o r ”) : j p u b l i cv o i dp r o c e s s e s v e n t ( e v e n te ) ( n o d en o d e : n o d e = ( n o d e ) ( j _ n o d e g e t v a l u e0 ) : c o l o r = ( s f c o l o r ) n o d e g e t e x p o s e d f i e l d ( “d i f f u s e c o l o r ”j : c o l o r s e t v a l u e0 : s c r i p t 节点是数据在v r m l 场景和j a v a 程序之间进行通信的桥梁。它能帮 助j a v a 程序从v r m l 场景中获取字段并对数据进行操作;它也是v r m l 场景从 j a v a 代码获取反馈信息的唯一手段。可以将v r m l 代码和j a v a 代码看成是两个不 同的模块,s c r i p t 节点可以将这样两个模块有效地进行连接。v r m l 与j a v a 及 s c r i p t 的关系归纳为: ( 1 ) 通过e v e n t l n 将事件传至s c r i p t 节点中的脚本; ( 2 ) 在s c r i p t 节点中的脚本中调用相应的j a v a 类进行处理; ( 3 ) 通过e v e n t o u t 将结果送回到v r m l 场景以实现动画或交互。 流程图如图3 4 : f 趟

温馨提示

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

评论

0/150

提交评论