基于VRML与Java的交互式漫游系统

合集下载

基于VR技术的虚拟校园漫游系统开发

基于VR技术的虚拟校园漫游系统开发

产业科技创新 Industrial Technology Innovation40Vol.2 No.4产业科技创新 2020,2(4):40~41Industrial Technology Innovation 基于VR技术的虚拟校园漫游系统开发*宋泽军,柯红红(义乌工商职业技术学院,浙江 义乌 322000)摘要:文章主要基于VR技术设计了虚拟校园漫游系统,系统包括系统退出模块、动画预览模块、操作指南模块、校园漫游模块、校园简介模块。

系统设计时先采用3DMAX软件实现场景建模,通过Unity3D软件实现不同模块的参数设置、组合等,通过虚拟现实设备头盔式显示器感受场景中的景色、声音等,操控虚拟世界中的物体。

关键词:VR技术;虚拟校园;3DMAX软件;Unity3D中图分类号:TP391.9 文献标识码:A 文章编号:2096-6164(2020)04-0040-0221世纪计算机信息技术的发展非常迅速,传感器技术、计算机图形技术及软件计算也取得了很多研究成果,并且这些技术的发展促进了虚拟现实技术的发展及应用。

当前虚拟现实技术已经备受瞩目并且受到人们的喜欢,尤其是年轻人对虚拟现实技术更加关注。

基于虚拟现实技术构建虚拟校园漫游系统可以实现校园内不同建筑、环境、设施的虚拟化,通过用户终端实现虚拟校园的漫游和交互,为校园的展示提供了新的途径。

本文基于VR技术开发了虚拟校园漫游系统。

1 虚拟现实技术相关概述虚拟现实技术简称VR,该技术可以通过计算机、穿戴设备等实现可视化、交互操作,将计算机的听觉、视觉、触觉等技术集合在一起形成了一个虚拟逼真的环境,提升了体验效果。

虚拟现实技术为人们建立了一个交互式的、虚拟的三维空间环境,虚拟环境是根据现实按照某种需求而设计的,具有多感知性、浸没感、交互性、构想性。

虚拟现实系统设计中应用了立体显示和传感器技术、系统集成技术、应用系统开发工具、三维图形生成技术、动态环境建模技术等。

基于VRML与Java的虚拟校园系统研究

基于VRML与Java的虚拟校园系统研究
关键词 : R V ML技 术 ; aa 术 ; 拟 校 园 系统 Jv 技 虚 中 图分 类 号 : P3 19 T 9 . 文 献标 识 码 : A 文章 编 号 :10 7 2 (0 0 0 0 7 0 0 9— 8 1 2 1 )2— 0 6— 4
Re e r h o it a a u y t m a e n VRM L a d J v s a c fa vru lc mp ss se b s d o n aa
第 3 卷 第 2期 1
21 0 0年 3月
闽江学 院学 报
J 0UR NAL OF MI J AN UNI ER I Y N I G V ST
V0 . No 2 13l . Ma . 2 0 r 01
基 于 V ML与 Jv R aa的虚拟 校 园系统 研 究
刘 莞
o tad sg rc s o s u t gvr a c mp s n e usfr ad t sn u ein po est c n t ci it l a u ,a dt n p t w r ou igVRML a dJ v c — o r n u h o n a a t h e
( 福建工程学院现代教育技术 中心 , 福建 福州 3 00 ) 5 18
摘要 : 通过对虚拟校 园相关技 术的分析 与研 究, 出构建虚拟校 园系统设计流程 , 出采用 V ML与 Jv 技术构建 指 提 R aa
虚拟校 园 系统 , 并实现虚拟校 园中 自动导航与 漫游 , 交互式漫游 , 信息查询等功能.
虚拟校园系统是指计算机对真实校园的三维模拟. 用户可以通过一定的方式对模拟 的场景进行身临其 境 的全方位 审视 , 可在虚 拟场景 中巡 航漫游 … . 并 V M ( iul el oen agae 是一种网络上用于描述三维物体及其行为的虚拟现实建模语 R L Vr a R a t M dlgLnug) t i y i 言, 它可在互联 网上创建交互式的三维多媒体场景;aa Jv 技术可在网络程序 中开发小应用程序 , 为虚拟校园 提供更强大的交互功能. 通过 V M 与 J a R L a 技术可构建虚拟校园并达到远程访问的目的. v 1 虚拟 校 园系统 的设计

基于VRML与Java的虚拟场景交互研究与实现

基于VRML与Java的虚拟场景交互研究与实现

v nd V R^ LJ aa
K e o ds y w r :VRM L;jv ; a a EAI y m i ntr ci ;d na ci ea ton; h e -dm e i na c n s t r e i nso l 现实 建 模 语 言 , 的 基本 目标 是 建 立 因 特 网 上 的 交 互式 三维 多媒 体 , 以 因 特 网 作 为 应 用 平 台 , 为构 筑 虚 R 它 它 作 拟 现 实 应 用 的 基本 构 架 。但 是 V ML本 身 与用 户 进 行 交互 的 能力 有 限 , 需 要 与其 它 语 言结 合 才 能 实 现 三维 场 景 和 用 户 交 互 的要 R 它 求 , v 提 供 了 这 种 可能 性 。Jv J a a aa是一 种 跨 平 台 的 编程 语 占 , 过 Jv 编 写 的 A pe 在 网 上可 以直 接 运 行 , 常 适 合 于 因特 网上 虚 通 aa pl t 非 拟 现实 环 境 。 R L着重 于虚 拟 场 景 中 对象 的特 征 , 太 考 虑 对 象 行 为 , J v V M 不 而 a a主 要讨 论 对 象 行 为 , 少 涉 及 外部 特征 , 者相 互 作 很 二 了很 好 的补 充 , 因此 V M R L与 Jv aa的结 合 , 实 现 较 复 杂动 态 场 景 控 制 等 高 级 交 互 功 能 的有 效 方 法 是
i s,a d t n a ay e herc m frt n he n ls st i o m un c to r oc l e ou st e i e a to bew e n iai n p ot a xp nd h ntrc n t e VRN I nd t uti hr ug h i L a he o s de t o h t e EA Ie tm a xe l

VRML和JAVA的交互的实现

VRML和JAVA的交互的实现

随着网络技术、多媒体技术和仿真技术的发展,人们越来越希望WWW 能变成一个三维的立体空间.通过VRM L(Virtual Reality M o deling L anguag e ,虚拟现实建模语言)技术,人们可以建立丰富的三维场景[1].但它本身却缺乏有效的交互机制,需要与其他语言结合才能实现三维场景和用户交互的要求.JAVA 语言具有很多适合于大规模共享虚拟环境的特点,并且支持跨平台,可以很好的使三维场景具备交互能力,更加生动,更加丰富多彩.本文系统介绍了VRML 和JAVA 的交互的主要方法.1VRM L 和JAVA 的交互方法JAVA 是一种跨平台的语言,能很好的支持网络环境下的编程,而VRM L 的优势在于构建虚拟现实场景.解决VRM L 与JAVA 程序之间的交互,主要有三类方法:第一类是通过语言的方法,就是将VRM L 的3D 数据完全转化为程序语言,它可以使浏览器得到场景的完整信息,也具有基本语言的控制结构,但文件过大,不适用于网络传输.第二类是EAI 的方法,EAI 是一种应用程序接口,是基于VRM L 和JAVA 小应用之间事件传递而提出的一种规则,用于实现JAVA Applet 与VRML 中虚拟场景之间的相互通信[2].EAI 包含浏览器脚本接口的全部功能,例如查询浏览器状态,增删路由等.若需集成多种媒体,进行复杂的网络控制,多采用EAI 方法进行.第三类是SAI 的方法,它是使用事件机制和路由,即利用script 节点、事件发生器、dff/use 命名规则和路由ro ute ,连接VRM L 场景中对应的节点和域,实现VRM L 与JAVA 的交互[2,3].图1利用Scr ipt 实现VR ML 和J AVA 交互的流程图首先通过eventIn 将事件传至Script 节点中的URL 字段;再在Script 节点中的脚本中调用相应的JAVA 类进行处理;最后通过Script 节点的ev entOut事件将结果送回到VRM L 场景,用以实现动画或交互.这种方法是目前采用的最多的一种VRM L 和JAVA 结合以实现交互的方法.其流程图如图1所示.收稿日期基金项目淮南师范学院院级青年基金资助项目[6LKQ 3]作者简介程庆(8),女,在读硕士,讲师,研究方向计算机网络与编程;*宋杰,博士,副教授,通讯作者VRML 和JAVA 的交互的实现程庆1、2,宋杰*1( 1.安徽大学计算机科学与技术学院,安徽合肥230039;2.淮南师范学院信息技术系,安徽淮南232001)摘要:VRML 能够构造网点所必须的三维结构模块,JAVA 则使三维场景具备交互能力.本文全面地介绍了VRML 与JAVA 的交互方法,如何在JAVA 中访问VRML 场景,如何从JAVA 中传递数据回VRML 场景.关键词:VRML JAVA 交互技术中图分类号:TP312文献标识码:A文章编号:1674-0874(2007)03-0077-02第23卷第3期山西大同大学学报(自然科学版)Vol.23.No .32007年12月Jo urnal o f Shanx i Dato ng Univ ersity (Natu ral Science)Dec.2007:2007-10-22:2001:197-:.Script节点出现在VRM L文件中,内嵌JAVA代码,包含一组利用脚本描述语言(如VrmlScript、Jav aScript)编写的函数.Script节点收到事件后将执行相应函数,函数能通过常规的路由机制发送事件,或直接向Script节点指向的节点发送事件.利用这些脚本描述语言,可实现VRM L场景节点间的交互.2从VRML传递数据到JAVA从VRM L传递数据到JAVA有以下几种方法:1)通过JAVA中Script类的方法访问VRM L中Script节点的域(Field)、事件输入(eventIn)、事件输出(ev entOut)[3].VRM L的节点中定义了事件作为节点对外的接口,分别代表输入接口的事件输入(eventIn)和代表输出接口的事件输出(eventO ut),且均可以被它们在JAVA中相应的Script类访问[4]. JAVA类开始工作时,最先进行的是初始化,即initialize()方法.在initialize()方法中必须获得Script 节点中eventIn或Field域的值,或把JAVA中的值返回给ev entOut域.g etField、getEv entIn、g etEventOut 都是Script类提供的方法:①getField(String fieldName):返回一个名为fieldName的Script节点的域.②getEv entIn(String eventInName):返回一个名为eventInName的Script节点的事件输入.③g etEventOut(String ev entOutName):返回一个名为eventOutName的Script节点的事件输出.2)通过VRM L的事件(Ev ent)类和事件处理(Event-handle)类.Event类提供了三种方法获取VRM L场景中的数据[5]:①g etName():返回VRM L中Script节点的某个事件输入(eventIn)的名称,确定发生的事件,从而作出相应处理.②getValue():返回一个Co nstField类型的实例,它是Script节点中发生该事件的ev entIn域.③GetTimeStamp():获取eventIn发生的时间.3)访问VRM L中其它节点.如果已经通过前面的方法获取了VRM L中的其它节点(此节点必须作为Script节点的一个域Field,才能访问),则此节点的任何eventIn、eventOut或exposedField均可以被JAVA程序访问.①g etEventIn(St-ring eventInName):返回该节点的一个名为I N的事件输入②O(S O N)返回该节点的一个名为O N的事件输出③getExpo sedField(String fieldName):返回该节点的一个名为fieldName的显示域(ex po sedField).3从JAVA中传递数据到VRML在VRM L中,是通过Script节点来连接VRM L 和JAVA,实现对VRM L场景的控制.将JAVA程序从Script节点处获得的事件经进一步的加工,再将在JAVA程序中实现了操作者逻辑的信息反馈到Script节点中,由Script节点的eventOUT事件出口通过路由对场景进行控制.当为Script节点编写Java class文件时,“域”(Field)与“输出”(eventOut)对应class文件的属性(数据),“输入”(eventIn)对应class文件的方法(函数)[5].大多数插件类型的VRM L 浏览器是通过主浏览器的JAVA虚拟机来实行JAVA程序的,因此与JAVA的接口要导入VRM L.*类库,以便于JAVA和VRM L之间的数据类型和节点进行交换[6].主要是通过JAVA中的相应类的下列方法实现[7]:①setValue(v alue):将JAVA类型值转换为相应的VRM L类型值,并在VRM L中设置它.②set1Value(int index,value):将JAVA类型值转换为相应的VRM L类型值,并设置为第index个元素(第一个元素序号的序号为0).③addValue(value):将JAVA类型值转换为相应的VRM L类型值,并添加到最后一个元素后面.④insertValue(int index,value):将JAVA类型值转换为相应的VRML类型值,并插入到第index个元素.⑤delete(int index):删除目标对象第index个元素值.⑥clear():清除目标对象的所有元素.以上六种方法中,除setValue(value)方法之外,均只对多值域类(M F类)有效.4结束语随着JAVA技术和VRM L技术的不断完善和发展,JAVA和VRM L的交互将越来越多的运用到日常的生活和学习当中来.比如利用JAVA和VRM L的交互为基础可以构建虚拟现实的实验环境,构建网络虚拟课件系统等.基于JAVA和VRM L 的技术及相应的各方面的成果必将受到越来越多的关注(下转第8页)2007年山西大同大学学报(自然科学版) 78event n ame. getEvent ut tring event ut ame: event ut ame..1参考文献[1]韩筱卿.计算机病毒分析与防范大全[M].北京:电子工业出版社,2006.3-7.[2]程胜利.计算机病毒及其防治技术[M].北京:清华大学出版社,2006.223-233.[3]刘三满.论计算机病毒的防治[J].山东电子技术,2003(1):38-39.Sour ces of Viruses and Vir us Prevention on College Campus NetworksQU Xiao -hong 1,2(1.S chool of Educational Technology and Science,S hanxi Datong University,Datong S hanxi ,037009;2.School of Mathematics and Computer S cience,Guiz hou Normal Univer sity ,Guiyang Guiz hou ,550001)Abstr act:.The computer netw ork is a product of computer technology and modern communication.In the recent years,the computer network in China has been developing rapidly,w hile computer vir uses are posing great thr eat to networ k safety.T his article introduces the char acteristics of computer viruses and of fers some suggestions to curb the viruses.Key wor ds:computer network;viruses;colleges and univer sities(上接第78页)参考文献[1]张申生,戴开宇,戚可涛.基于Java 和VRML 的共享虚拟环境架构的研究[J].计算机工程与应用,2002(19):180-183.[2]胡新根.基于VRML 与JAVA 的共享虚拟教学平台的研究[J].计算机与现代化,2006(6):45-49.[3]徐洪珍,周书民,汤彬.VRML 与JAVA 的交互及其应用[J].计算机与现代化,2003(11):48-50.[4]段新昱.虚拟现实基础与VRML 编程[M].北京:高等教育出版社,2004.264-266.[5]汪兴谦.VRML 与JAVA 编程实例详解[M].北京:中国水利电力出版社,2003.153-167.[6]赛博科技工作室.VRML 与JA VA 编程技术[M].北京:人民邮电出版社,2004.78-93.[7]李亚萍,张明辉.利用Java 在V RML 中实现复杂运动控制[J].武汉大学学报,2001,34(6):104-106.The Interaction Techniques Between VRML and JAVACHENG Qing 1,2,SONG Jie 1(1.School of Computer S cience and Techno logy ,Anhui University,Hefei Anhui,230039;2.Department of information technique ,Huainan Normal University,Huainan Anhui,232001)Abstr act:.V RML can construct the 3D structure module that is necessary f or the network,JAVA enables the 3D scene with the ability of interaction.This paper comprehensively introduces the me thod of VRML and JAVA,and how to access the VRML scene in JAV A,and how to transf er data f rom JAVA to VRML scene.Key wor ds:VRML ;JA VA ;the interaction technique s!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!曲霄红:高校网络计算机病毒的产生与防治2007年81。

基于VRML的室内交互漫游研究与实现

基于VRML的室内交互漫游研究与实现
2 01 1年 7 月
安 阳 工学 院学 报
Ju n l fAn a gIsi t fT c n lg o ra y n nt ueo e h oo y o t
J1 0 】 u . 】 2
第 1 0卷 第 4期 ( 第 5 总 2期 )
Vo .0 N . Ge . .2) 11 o4( nNo 5
计 。采 用 三 维 建 模 工 具 3 X 来 实现 室 内静 态 虚拟 环 境 和 漫 游路 径 的构 建 , 通过 V M L语 言 实现 用 户 与 室 内环 境 的 DSMA 并 R
交 互 功 能
关 键 词 : 维 建模 : RM L语 言 ; 互 式 三 V 交 中 图 分 类 号 : P 7 T 2 1 文献 标 识 码 : A 文 章 编 号 : 6 3 2 2 ( 0 ) 4 0 2 - 3 17— 982 1 0 — 0 0 0 1
0 引 言
度 . 以一 般要 进行 如下 优化 : 所 1 1在不 影 响模 型 的 真实 程 度 时 ,优 化模 型 的 步数 , 时减 少模 型 的分 段 数 , 者 删 除 模 型相 交 同 再 看不 到 的面数 , 终达 到优 化模 型 。 最 2 3 SMA 中能用 贴 图代替 的尽 量用 ,所 用 )D X 的贴 图文件 应 处 理成 成 J G或 者 G F格 式 ,大 小 P I
匿母

ቤተ መጻሕፍቲ ባይዱ
图 1建模 流 程 图
V ml r 中所 有 灯节 点 中 的 a be t t sy的 默认 值 m i ie i nn n t 为 0所 导致 的 ,这 时 需 要将 默认 值 调 到 合适 的大 小便可。 2 1由 3 S MA D X转化 到 V ML时 , R 在做 里 面 门 的 交互 时 . 当首先 在 3 SMA 中将 做 动 画 的 门 应 D X 成组 . 样才 能 实现 门整 体 的运动 。 这

VRML与JAVA相结合开发3D交互式虚拟场景

VRML与JAVA相结合开发3D交互式虚拟场景

Developing 3D Interactive Virtual Scene with the Combination of VRML and JAVA 作者: 雷朝铨[1];吴伟斌[2]
作者机构: [1]宁德师范高等专科学校,职业教育部,福建,宁德,352100;[2]泉州师范学院,网络信息中心,福建,泉州,362000;
出版物刊名: 泉州师范学院学报
页码: 58-61页
主题词: VRML;JAVA;3D;交互式虚拟场景;软件开发;计算机图形学
摘要:借助EAI和Script节点将Java和VRML相结合,构建了一个三维交互式的虚拟场景,该场景克服了VRML在交互方面的不足,实现了用户与虚拟场景之间以及用户与用户之间的交互和共享的功能,并在此基础上,构建了一个用于计算机图形学教学的虚拟场景框架,为VRML在远程教育方面的普及和应用做了有益的探索.。

基于人机交互的虚拟现实漫游系统设计

基于人机交互的虚拟现实漫游系统设计

基于人机交互的虚拟现实漫游系统设计1.引言虚拟现实(Virtual Reality,简称VR)是一种计算机技术,可以创造出仿真的虚拟环境和场景,让用户通过多种感官参与其中。

而人机交互技术是指人与计算机之间的信息交流和操作方式。

结合这两种技术,我们可以设计一种基于人机交互的虚拟现实漫游系统,让用户能够通过自己的动作和反馈与虚拟环境进行直接交互,提供更加身临其境的体验。

2.系统概述基于人机交互的虚拟现实漫游系统的核心目标是实现用户与虚拟环境之间的实时交互。

该系统由硬件设备和软件程序两部分组成。

硬件设备包括头戴式显示设备(VR头盔)、手柄(或手套)等,软件程序负责虚拟环境的建模和用户交互的逻辑控制。

3.硬件设备设计3.1 VR头盔VR头盔是用户与虚拟环境直接接触的设备,其设计应考虑以下几个方面:- 清晰度和分辨率:保证虚拟环境的图像能够清晰地展示给用户,使其产生沉浸感;- 舒适度:头盔的佩戴应当舒适,并考虑透气性和重量等因素;- 头部追踪:通过内置传感器实现对用户头部动作的追踪,使用户能够真实地感受到头部运动带来的反馈。

3.2 手柄(或手套)手柄或手套是用户在虚拟环境中进行交互的工具,其设计应考虑以下几个方面:- 动作感知:通过加速度计、陀螺仪等传感器实现用户手部运动感知,使用户能够自由地进行操作和交互;- 手势识别:手柄或手套应能够识别用户的手势,根据手势不同触发不同虚拟环境中的交互响应;- 功能按钮:设置一些基本的按钮用于特定操作和功能的触发。

4.软件程序设计4.1 虚拟场景建模根据用户需求和实际场景,使用计算机图形学技术进行虚拟场景的建模。

包括场景的几何模型、纹理贴图、光照效果等。

虚拟场景需要尽可能地还原真实场景,以提供更加逼真的体验。

4.2 动作捕捉与反馈通过用户的头部和手部动作捕捉,将用户的动作实时反馈到虚拟环境中。

例如,用户佩戴的VR头盔的传感器可以捕捉到用户的头部姿态和位置,然后将其实时映射到虚拟环境中的相机上,使用户能够看到自己在虚拟环境中的身影。

基于VRML和JAVA的虚拟实验研究的开题报告

基于VRML和JAVA的虚拟实验研究的开题报告

基于VRML和JAVA的虚拟实验研究的开题报告一、研究背景与意义近年来,随着虚拟现实技术的发展和普及,越来越多的领域开始尝试利用虚拟现实技术进行研究和教育。

在科学实验领域,虚拟实验技术已经逐渐取代了传统的实验教学方式,成为了一种新的教学方法。

虚拟实验技术可以不受时间、地点的限制,大大提高了实验数据的准确性和可重复性,同时也更加安全、可控,避免了实际实验中可能出现的安全事故和硬件设备故障等问题。

虚拟实验技术的发展离不开虚拟现实建模语言的支持。

VRML (Virtual Reality Modeling Language)是一种基于文本的3D建模语言,可以用于创建虚拟现实场景。

而JAVA是一种跨平台的编程语言,可以运行在不同操作系统和硬件平台上,具有很好的可移植性和扩展性。

利用VRML和JAVA的编程技术,可以创建非常逼真的虚拟实验环境,模拟各种实验操作和现象,并实时展示实验结果,使得学生可以在虚拟环境中掌握实验技巧和实验原理,提高物理化学基础知识和实验技能,同时也可以更好地理解和应用科学知识。

因此,本研究旨在基于VRML和JAVA技术,开发一套虚拟实验系统,为物理化学实验教学提供一种新的教学方式,探讨虚拟现实技术在实验教学中的应用,为教学改革和教学质量提升做出一定的贡献。

二、研究内容和方法1. 系统需求分析:对物理化学实验教学的特点和实际需求进行分析,确定虚拟实验系统的功能要求和系统架构。

2. VRML建模技术研究:学习VRML语言的基本语法和相关规范,了解虚拟现实建模的基本原理和技术,掌握VRML模型的创建和渲染方法。

3. JAVA编程技术研究:学习JAVA语言的基本语法和核心特性,掌握JAVA在虚拟实验系统中的应用方式和编程方法,实现虚拟实验系统的交互功能和逻辑控制。

4. 虚拟实验系统设计和开发:基于需求分析和技术研究,设计并开发一套具有较高逼真度和交互性的虚拟实验系统,包括实验场景建模、实验数据采集和分析、实验结果展示和评估等功能。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

科技广场2009.30引言VRML (虚拟现实建模语言,Virtual Reality Modeling Language )是一种网络上使用的三维形体和交互环境的场景描述语言。

VRML 创建的是三维的逼真场景,用户可以从不同角度和距离对场景中的对象进行观察,并可与场景中的对象进行交互,因此VRML 是动态的[1]。

要想构建具有真正实时、动态交互式的三维虚拟场景,仅仅依靠VRML 还不够,我们可以应用VRML 与Java 的通信原理来达到上述效果。

1Java 程序和VRML 场景间的通信1.1VRML 环境中的交互机制虚拟现实系统中实现交互操作是通过各种信息通道进行的,在沉浸式的虚拟现实系统中人机交互操作要求采用自然方式进行。

而在PC 机上则利用软件方法建立非沉浸式的虚拟现实系统,该系统中通常使用常规交互设备进行交互操作。

虚拟现实系统交互模型如图一所示[2]:VRML 虚拟现实场景与用户交互性的实现基于以下两个因素:行为和执行模式。

行为是用来描述什么将要发生,即描述将要发生的行为;执行模式是一种来回传送实体的方法,它把事件作为改变工具作用于VRML 场景对象节点保持状态的字段,VRML 场景中虚拟对象状态的改变行为是通过执行模式来实现。

VRML 基本机制中的行为可以分为静态行为和动态行为。

静态行为是一种预制运动行为,场景中对象状态的改变并不需要程序来实现,只需对象节点通过一个语句的结合来决定这种运动。

动态行为是通过一段逻辑程序来决定事件产生,它具有询问对象状态的能力,再基于这些状态做出相应决定,在这些决定的基础上改变场景的状态。

VRML 场景的行为机制,无论是静态行为还是动态行为都是基于事件和路径两个基本特征。

在VRML 中,事件被定义为字段—输出字段或显示字段。

浏览器自动检测场景中产生的事件,并将新的字段值沿路径传送到宿主(Event In Field )。

VRML 这种事件机制驱动了虚拟场景中对象状态的变化,图二为VRML 的行为机制图。

1.2VRML 与Java 的结合VRML2.0具有分布性、交互性、平台无关、真三维、多媒体集成等众多优点。

但VRML 仅对静态场景的结构设计和利用VRML 本身的事件通路构成的事件体系进行交互处理基于VRML与Java 的交互式漫游系统Interactive Navigation System Based on VRML and Java Technology胡新根Hu Xingen(华东交通大学基础科学学院,江西南昌330013)(School of Basic Sciences,East China Jiaotong University,Jiangxi Nanchang 330013)摘要:本文着重就VRML 与Java 程序相结合的方式进行研究,讨论了Java 和VRML 的通信机理,利用它建立真正实时交互式的三维虚拟场景。

应用基于VRML 的虚拟现实技术和Java 编程技术实现三维虚拟场景漫游系统。

关键词:VRML ;Java ;通信机制;漫游系统中图分类号:TP393文献标识码:A文章编号:1671-4792-(2009)3-0114-03Abstract :The combined way based on VRML and Java program is studied in this paper.We discuss the communication mecha-nism of VRML and Java.We can establish 3D real-time interactive virtual scenes.This paper studies the realization scheme of the virtu-al navigation system based on VRML virtual reality and Java.Keywords :VRML ;Java ;Communication Mechanism ;Navigation System 图一虚拟现实的交互模型114基于VRML与Java的交互式漫游系统图五插入LO D节点构建的相似模型图二V R M L行为机制时还比较理想,而无法实现用户与场景之间的实时交互性。

作为弥补这一缺陷的方法,我们可以利用Java和VRML的通信原理,从场景中获得用户感兴趣的数据,精确地设置场景中的参数等高级交互功能,实时动态控制场景。

Java对VRML的支持有以下两种方式:使用Java实现VRML的脚本—应用Java的脚本创作接口(Java Script Authoring Inter-face即JSAI);使用Java Applet控制VRML场景。

前者应用Java提供的类来实现,后者需通过附加的封装类EAI来实现。

通过这些类,Java程序就能够访问VRML场景,接收和发送事件,从场景中获得场景对象,实现对VRML场景的实时动态控制。

1.3Java Applet对VRML场景的控制[3]VRML97标准提供的外部编程接口EAI实现了JavaApplet与VRML场景的通信。

EAI是SGI公司设计的高层次的Java类包。

EAI定义了外部环境怎样通过VRML现存的事件驱动模式来访问VRML内部节点的一系列方法。

VRML与Java信息交互模型如图三所示:Java对EAI的绑定是通过以下3个包实现的:①vrml.external:为节点和浏览器接口提供基础类;②vrml.external.exception:提供各种异常类;③vrml.external.field:提供访问场景节点的域所需的类,即事件类和事件监听接口。

使用EAI对VRML场景进行交互控制,Browser类是很重要的一个类。

该类封装了VRML场景,并提供了getNode(…)方法用来直接获得对虚拟场景节点对象的引用。

获得节点对象后就可以通过getEventIn、getEventOut方法获得事件输入、输出的实例,改变事件输入值相当于改变VRML场景。

在VRML中使用EAI主要有以下两个作用:增强VRML场景与外部环境通信联系和融合能力;外部程序(即JavaApplet程序)可以使用VRML的事件模型访问和控制VRML场景中的节点。

EAI允许一个Java Applet程序主要以下列3种方法访问VRML场景中的节点:①发送一个事件到VRML场景中的事件入口;②接受VRML场景节点的事件出口发出的最新值;③当VRML场景中节点的事件出口发出一个消息后,Applet能得到一个通知,激活callBack(…)方法。

2三维场景构建基于VRML的虚拟现实技术构造三维虚拟场景,实现实时三维场景漫游,主要涉及以下三项技术:三维场景建模;虚拟场景的真实感表现;人与虚拟场景的交互技术。

建立三维虚拟场景是整个系统的第一步。

由于VRML对大型场景的建模很不方便,目前有不少很好的三维造型软件,它们大部分支持.wrl格式。

比较流行的三维造型软件3DS MAX,采用该软件构建虚拟场景中的三维模型比较直观,所见即所得,创建出来的场景对象比较逼真,容易创建复杂的三维模型。

因此本系统采用的方法是先用建模工具3DS MAX建立模型,再转换成VRML格式,然后对模型进行整理和优化,其流程如图四所示。

目前,3DS MAX支持.wrl输出格式,同时在3DS MAX中具有直观添加VRML节点的功能,如可以直接插入场景中不可见的或者设置空间背景、声音、大气效果等对于整个空间有效的12种VRML节点。

在构建基于VRML虚拟场景时充分应用3DS MAX功能可以大大缩短构建场景对象的时间。

为了适应实时漫游的需求,还必须对转换后的文件格式进行整理。

构造LOD层次,应用3DS MAX在VRML场景中插入LOD节点(如图五所示),即为每个物体建立多个相似的模型,不同模型对物体的细节描述不同,对物体细节的描述越精确,模型也越复杂。

这样,在不同观察距离上可以选择不同的场景对象,近处对象应用精细模型,远处对象选用粗略模型,从而可以提高系统的交互性和图像绘制速度。

图三V R M L与Java信息交互模型图四场景建模流程图115科技广场2009.33虚拟场景漫游系统设计在本系统中,我们采用JDBC作为数据引擎建立三维虚拟场景漫游系统,使用户的交互动作得到后台数据的支持。

在该系统中,在同一网页中同时嵌入一个VRML虚拟境界和一个Java Applet,在Applet中含有与VRML关联的EAI代码和与数据库关联的JDBC代码。

这样来自于VRML 或Applet上的事件就可通过EAI和JDBC与VRML场景或数据库中相应的信息进行数据通信,并将相应的信息格式化后在Applet上和VRML场景中显示出来。

系统经过设计、开发和测试,现已正式在网上Web投入使用,图六为系统中场景一角。

4结束语VRML技术提供了创建实时渲染三维虚拟场景的良好规范,该文应用VRML技术建立逼真的虚拟场景,并以事件驱动的方式实现用户与该场景之间的交互,这些都为建立一个以实时三维交互为主要特征的虚拟现实系统提供了极大的便利。

通过VRML与Java之间的通信实现三维虚拟场景与外部数据的交互来构建三维虚拟场景漫游系统。

参考文献[1]魏薇,陈宜.应用VRML实现虚拟校园漫游系统[J].北京工商大学学报,2006,(05).[2]李亚萍,张明辉.利用Java在VRML中实现复杂运动控制[J].武汉大学校报,2001,(12).[3]王汝传,姚旭敏等.基于Java和VRML虚拟场景通信方式的研究[J].系统仿真学报,2003,(07).[4]葛艳红,李文锋.基于Java的VRML虚拟场景人机交互的实现[J].交通与计算机,2003,(02).[5]戴开宇,戚可涛.基于Java和VRML的共享虚拟环境构架的研究[J].计算机工程与应用,2002,(09).作者简介胡新根(1972—),男,江西吉安人,讲师,从事虚拟现实技术及应用研究。

图六虚拟场景一角116。

相关文档
最新文档