Virtual Scene based on VRML and Java
《虚拟现实技术》课程教学大纲-模板
《虚拟现实技术》课程教学大纲-模板《虚拟现实技术》课程教学大纲Virtual Reality Technology课程代码:17101130 课程性质:必修适用专业:数字媒体艺术总学分数:3.0总学时数:48,含上机实验12, 修订年月:2015.15编写年月:2010.11 执笔:陈平课程简介(中文):作为一门先进的人机交户技术,虚拟现实技术已被广泛应用于军事模拟、视景仿真、虚拟制造、虚拟设计、虚拟装配、科学可视化等领域。
《虚拟现实技术》是数字媒体技术专业的一门重要的专业技术方向课程。
课程内容包括虚拟现实技术的概述、基本原理、虚拟场景的创建方法、场景交互的设计与实现等。
课程简介(英文):As an advanced Interactive technology, the virtual reality technology has been widelyused in military simulation, visual simulation, virtual manufacturing, virtual design, virtual assembling,scientific visualization, etc. The course, 《The Virtual Reality Technology》, is a main professional courseon digital media technology major. The contents include the virtual reality technology overview, basicprinciple and method of creating virtual scene, scenes ofinteraction design and implementation, etc.一、课程目的:通过本课程的学习,了解虚拟现实系统工作原理以及掌握虚拟现实技术的基本理论和方法,熟练掌握运用虚拟现实开发工具与编程语言相结合开发基于交互式的虚拟现实场景。
利用VRML和Java实现三维交互研究_邓朝晖
8期
邓朝晖 , 等 :利用 VRM L 和 Java实现 三维交互研究 *
18 01
度的例子 , 可以采 用 Java动 态生成的方式来制作 。 每生成一个菱形就绕着中心轴旋转 1度 , 循 环 180 次即可达到效果 。下面是 VRM L文件的部分代码 。
D EF O BJ T ransform { ch ild ren [ DEF TS Tou chS ensor {} DEF shape Tran sform { rotation 0 0 1 0. 785398 ch ild ren [ Shape {appearan ce A ppearan ce {… … } geom etry B ox {size 5 5 0.2}} ] } ] } D EF Rot S crip t{ url “ Rotation. class” even tIn SFBool tou ched even tO u tM FN ode R otIt } ROU TE TS. isA ctive TO Rot. tou ched ROU TE Ro t. RotIt TO O B J. addCh ild ren
/ /设置新的 R otTt值并传送回 VRM L中 if(nu ll = b aseN odes) {R otIt. setV alue(baseN odes);} } catch (Excep tion ex) { ex. prin tS tackT race() ;}} / /接收事件 , 取得 touched变量的值 pub lic void processEvent(Even t ev) { if(ev. getN am e(). equals(“ touched”)) { start();} }}
外文翻译---基于虚拟现实技术的机器人运动仿真研究
With the rapid developmБайду номын сангаасnt of computer technology and network technology, virtual manufacturing (VM) becomes an emerging technology that summarizes the computerized manufacturing activities with models, simulations and artificial intelligence instead of objects and their operations in the real word. It realizes optimization products in manufacture process with prediction manufacture circle and promptly modification design[1][2].Virtual reality technology is a very important support technology for virtual manufacture because it is an important way of virtual design production. With the appearance of Java and VRML technology, robot motion simulation on WEB browser turns into realization[3][6]. Robot motion simulation is a necessary research direction in robot research field. Guo[4]adopted ADAMS software for 3-RPC robot motion simulation, but the method isn’t suitable for motion simulation on internet. Yang[3]and Zhao[5]researched the motion simulation of robot by VRML, and they didn’t optimize VRML file. Bo[8]provided environmental simulation within a virtual environment by Java and VRML interaction through the External Authoring Interface. Qin[9]researched a novel 3D simulation modeling system for distributed manufacturing. In this paper, theCINCINNATIrobot is researched and analysed by VRML and Java and VRML file is optimized fortransmission on internet. The 3D visualization model of the motion simulation for robot is realized by VRML and Java based on virtual reality. Therefore the research about motion simulation of robot based on internet is significant and application value.
基于VRML技术虚拟校园开发论文
浅议基于VRML技术的虚拟校园的开发摘要:虚拟现实技术作为二十世纪末的新兴技术在虚拟校园方面有广泛的应用,具有极大的发展潜力和良好的发展前景。
本文主要介绍虚拟现实技术开发虚拟校园的步骤、交互设计和发布方法。
关键词:虚拟现实;虚拟校园;vrml;建模中图分类号:tp311.52 文献标识码:a 文章编号:1007-9599 (2011) 22-0000-02virtual campus development based on vrml technologyliu yong1,2(1. guilin university of electronic technology,guilin 541004,china;2. guangxi university offinance&economics,nanning 530003,china)abstract:at the begging of the 21st century,vrml as new technology in virtual campus has wide application,it has great development potential and good prospects for development.this paper mainly introduces the development steps of virtual campus by the virtual reality technology,tools,interactive design and publishing method.keywords:virtual reality;virtual campus;vrml;modeling 虚拟现实技术用以实现校园的数字化,它不再只以文字、图片等传统的表现方式提供给用户,而是将一个三维立体的交互方式呈献给浏览者,使其在互联网上便可对校园的建筑、景观和教学的各种设施进行游历和操控,以此来获得身临其境的感觉。
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。
VR虚拟现实-虚拟现实毕业论文52 精品
虚拟现实在超市及餐厅中的控制学校:河北工业大学系部:机械工程学院专业:机械工程年级:机研136 学生姓名:赵占勇学号: 20XX3120402 指导教师:高春艳目录目录 (2)摘要 (V)关键词 (V)Abstract (VI)Key words (VI)前言 (VII)第1章虚拟现实技术 (1)1.1 虚拟现实技术简介 (1)1.1.1 虚拟现实技术的概念 (1)1.1.2 虚拟现实技术的关键技术 (1)1.2 VRML概述 (1)1.2.1 VRML简介 (1)1.2.2 VRML应用和展望 (2)第2章其它技术支持——3ds max与JavaScript (3)2.1 3ds max概述 (3)2.1.1 3ds max简介 (3)2.1.2 3ds max的特点 (3)2.1.3 3ds max的应用领域 (4)2.2 JavaScript概述 (4)2.2.1 JavaScript简介 (4)第3章使用3ds max技术构建模型 (6)3.1 3ds max构建模型的准则 (6)3.2 3ds max构建模型的基本方法 (6)3.2.1 基本体建模 (6)3.2.2 二维线形建模 (6)3.2.3 三维修改器建模 (7)3.3 利用3D制作动画 (7)第4章使用VRML技术构建动画与交互功能 (9)4.1 使用VRML构建动画与交互功能的基本语法 (9)4.1.1 使用VRML构建动画的基本插补器类型 (9)4.1.2 使用VRML构建交互功能的基本传感器类型 (9)4.2 使用VRML构建动画 (10)4.2.1 使用VRML构建马桶盖的开启 (10)4.2.2 使用VRML构建压力锅的烟雾及开启 (11)4.2.3 使用VRML构建天空 (12)4.3 使用VRML构建交互功能 (13)4.3.1 使用VRML构建冰柜门开启的交互功能 (13)4.3.2 使用VRML构建超市收银的交互功能 (14)4.3.3 使用VRML构建超市点击收获物品的交互功能 (15)4.3.4 使用VRML构建超市大门伸缩开启的交互功能 (16)4.3.5 使用VRML构建油烟机声音的交互功能 (17)4.4 使用VRML构建视点、灯光 (18)4.4.1 使用VRML构建固定视点 (18)4.4.2 使用VRML构建跟随视点 (19)第5章使用JavaScript构建动态场景的交互 (21)5.1 使用JavaScript构建动态场景交互功能的实现 (21)5.1.1 利用 JavaScript创建微波炉旋转加热动画 (22)5.1.2 利用JavaScript构建洗手池水龙头的的交互功能 (23)5.1.3 利用JavaScript构建燃气灶开关和火焰大小的交互功能255.1.4 利用JavaScript实现购物车收获物品和收银之间切换的交互功能 (27)结论 (30)总结与体会 (31)谢辞 ......................................... 错误!未定义书签。
基于VRML_JAVA的虚拟场景交互的实现_马万全
第26卷第4期苏 州 大 学 学 报(工 科 版)Vol .26No .42006年8月J OURNAL OF S OOCHOW UNIVERSITY (ENGINEERING SC IENCE EDITI ON )Aug .2006文章编号:1673-047X (2006)04-0078-04基于V RM L /JAVA 的虚拟场景交互的实现马万全1,单美贤2(1.东南大学计算机科学与工程学院,江苏南京210096;2.南京邮电大学传媒技术学院,江苏南京210003)摘 要:Javra 是一个以EAI 为基础的处理V RM L 场景图的Java 包,克服了VRM L 与Java 通过内部Script 节点和EAI 方式进行交互的不足:用户操作实时生成的VRM L 事件可以在Javra 中捕捉到并加以处理。
Jav ra 和V RML 浏览器的结合,使得生成3D 交互应用程序更有效。
关键词:Java ;V RM L ;EAI ;Javra ;场景图中图分类号:TP311 文献标识码:AV RM L (Virtual Reality M odeling Language )虚拟现实建模语言,是一种三维造型和渲染的图形描述性语言。
通过VRM L ,人们可以建立丰富的三维场景,但是VRM L 本身并没有直接和用户进行交互的能力,它需要与其他评议结合才能实现三维场景和用户交互的要求,Java 语言提供了这种可能性。
本文主要论述V RML 与Java 的交互方式和Javra 的使用。
1 VRML 与Java 之间的交互方式V RM L 产生事件的方式可以归结为基于TimeSensor 的静态行为和基于程序的动态行为两种,前者仅能执行预定的决策逻辑,对于一些复杂的动画动作、实时控制事件、智能推理能力等,就需要其他编程语言(如Java )的支持,当前主流VRM L 浏览器也都对Java 编程提供了支持。
在VRM L 中使用Java 语言有两种方式,即通过内部Script 节点和外部编程接口(EAI )进行。
(VR虚拟现实)基于虚拟现实的虚拟实验室外文翻译
(VR虚拟现实)基于虚拟现实的虚拟实验室外文翻译原文1:VRMLDurchdieimmerbessereHardwareistesheutenichtmehrnötig,füranspruchsvolle3D-Gr afikenspezielleGrafik-Workstationszuverwenden.AufmodernenPCskannjederdurch dreid imensionaleWelten fliegen.UmsolcheWeltenzudefinierenundsieüberdasInternetzuverbi nden,wurdedieSpracheVRMLentwickelt.IndiesemBeitraggebenwireinenÜberblicküberdie grundlegendenKonzeptederVersion2.0vonVRML.GeschichtevonVRMLImFrühling1994diskutierteaufdererstenWWW-KonferenzinGenfeineArbeitsgruppeüb erVirtualReality-SchnittstellenfürdasWWW.Esstelltesichheraus,daßmaneinestandard isierteSprachezurBeschreibungvon3D-SzenenmitHyperlinksbrauchte.DieseSpracheerhi eltinAnlehnunganHTMLzuerstdenNamenVirtualRealityMarkupLanguage.Späterwurdesiein VirtualRealityModelingLanguageumbenannt.DieVRML-GemeindesprichtdieAbkürzunggern e…Wörml“aus.BasierendaufderSpracheOpenInventorvonSiliconGraphics(SGI)wurdeunt erderFederführungvonMarkPescedieVersion1.0vonVRMLentworfen.ImLaufedesJahres1995 entstandeneineVielzahlvonVRMLBrowsern(u.a.WebSpacevonSGI)undNetscapebotschonseh rfrüheinehervorragendeErweiterung,einsogenanntesPlugIn,fürseinenNavigatoran.Die virtuellenWelten,diemanmitVRML1.0spezifizierenkann,sindzustatisch.Zwarkannmansi chmiteinemgutenVRML-BrowserflottundkomfortabeldurchdieseWeltenbewegen,aberdieIn teraktionistaufdasAnklickenvonHyperlinksbeschränkt.ImAugust’96,anderthalbJahre nachderEinführungvonVRML1.0,wurdeaufderSIGGraph’96dieVersionVRML2.0vorgestellt.S iebasiertaufderSpracheMovingWorldsvonSiliconGraphics.SieermöglichtAnimationenun dsichselbständigbewegendeObjekte.DazumußtedieSpracheumKonzeptewieZeitundEventse rweitertwerden.Außerdemistesmöglich,ProgrammesowohlineinerneuenSprachenamensVRM LScriptoderindenSprachenJavaScriptoderJavaeinzubinden.WasistVRML?DieEntwicklerderSpracheVRMLsprechengernevonvirtuellerRealitätundvirtuellenW elten.DieseBegriffescheinenmiraberzuhochgegriffenfürdas,washeutetechnischmachba rist:einegrafischeSimulationdreidimensionalerRäumeundObjektemiteingeschränktenI nteraktionsmöglichkeiten.DieIdeevonVRMLbestehtdarin,solcheRäumeüberdasWWWzuverb indenundmehrerenBenutzerngleichzeitigzuerlauben,indiesenRäumenzuagieren.VRMLsol larchitekturunabhängigunderweiterbarsein.AußerdemsollesauchmitniedrigenÜbertrag ungsratenfunktionieren.DankHTMLerscheinenDatenundDienstedesInternetsimWorldWideWebalseingigantischesverwobenesDokument,indemderBenutzerblätternkann.MitVRMLsol lendieDatenundDienstedesInternetsalseinriesigerRaum,einriesigesUniversumerschei nen,indemsichderBenutzerbewegt–alsderCyberspace.GrundlegendeKonzeptevonVRML2.0VRML2.0isteinDateiformat,mitdemmaninteraktive,dynamische,dreidimensionaleOb jekteundSzenenspeziellfürsWorld-Wide-Webbeschreibenkann.Schauenwirunsnunan,wied ieindieserDefinitionvonVRMLerwähntenEigenschafteninVRMLrealisiertwurden.3DObjekteDreidimensionaleWeltenbestehenausdreidimensionalenObjektendiewiederumauspri mitiverenObjektenwieKugeln,QuadernundKegelnzusammengesetztwurden.BeimZusammense tzenvonObjektenkönnendiesetransformiert,d.h.z.B.vergrößertoderverkleinert werden.MathematischlassensichsolcheTransformationendurchMatrizenbeschreibenundd ieKompositionvonTransformationenläßtsichdanndurchMultiplikationderzugehörigenMa trizenausdrücken.Dreh-undAngelpunkteinerVRML-WeltistdasKoordinatensystem.Positi onundAusdehnungeinesObjekteskönnenineinemlokalenKoordinatensystemdefiniertwerde n.DasObjektkanndannineinanderesKoordinatensystemplaziertwerden,indemmandiePosit ion,dieAusrichtungunddenMaßstabdeslokalenKoordinatensystemsdesObjektesindemande renKoordinatensystemfestlegt.DiesesKoordinatensystemunddieinihmenthaltenenObjek tekönnenwiederumineinanderesKoordinatensystemeingebettetwerden.AußerdemPlaziere nundTransformierenvonObjektenimRaum,bietetVRMLdieMöglichkeit,Eigenschaftendiese rObjekte,etwadasErscheinungsbildihrerOberflächenfestzulegen.SolcheEigenschaften könnenFarbe,GlanzundDurchsichtigkeitderOberflächeoderdieVerwendungeinerTextur,d iez.B.durcheineGrafikdateigegebenist,alsOberflächesein.EsistsogarmöglichMPEG-An imationenalsOberflächenvonKörpernzuverwenden,d.h.einMPEG-Videokannanstattwieübl ichineinemFensterwieaufeinerKinoleinwandangezeigtzuwerden,z.B.aufdieOberflächee inerKugelprojiziertwerden.Abb.1VRML2.0SpezifikationeinesPfeils#VRMLV2.0utf8DEFAPPAppearance{marterialMaterial{diffuseColor100}}Shape{appearanceUSEAPPgeometryCylinder{radius1height5}}Anchor{ChildrenTransform{translation040ChildrenShape{appearanceUSEAPPgeometryCylinder{bottomRadius2Height3}}}Url"anotherWorld.wrl"}VRMLundWWWWasVRMLvonanderenObjektbeschreibungssprachenunterscheidet,istdieExistenzvon Hyperlinks,d.h.durchAnklickenvonObjektenkannmaninandereWeltengelangenoderDokume ntewieHTML-SeitenindenWWW-Browserladen.Esistauchmöglich,Grafikdateien,etwafürTe xturen,oderSounddateienoderandereVRML-Dateieneinzubinden,indemmanderenURL,d.h.d ieAdressederDateiimWWWangibt.InteraktivitätAußeraufAnklickenvonHyperlinkskönnenVRML-WeltenaufeineReiheweitererEreignis sereagieren.DazuwurdensogenannteSensoreneingeführt.SensorenerzeugenAusgabe-Even tsaufgrundexternerEreignissewieBenutzeraktionenodernachAblaufeines Zeitintervalls.EventskönnenanandereObjektegeschicktwerden,dazuwerdendieAusgabe-EventsvonObjektenmitdenEingabe-EventsandererObjektedurchsogenannteROUTESverbund en.EinSphere-SensorzumBeispielwandeltBewegungenderMausin3D-Rotationswerteum.Ein 3D-RotationswertbestehtausdreiZahlenwerten,diedieRotationswinkelinRichtungderdr eiKoordinatenachsenangeben.Einsolcher3D-RotationswertkannaneinanderesObjektgesc hicktwerden,dasdaraufhinseineAusrichtungimRaumentsprechendverändert.EinanderesB eispielfüreinenSensoristderZeitsensor.Erkannz.B.periodischeinenEventaneinenInte rpolatorschicken.EinInterpolatordefinierteineabschnittsweiselineareFunktion,d.h.d ieFunktionistdurchStützstellengegebenunddiedazwischenliegendenFunktionswertewer denlinearinterpoliert.DerInterpolatorerhältalsoeinenEingabe-EventevomZeitsensor,b erechnetdenFunktionswertf(e)undschicktnunf(e)aneinenanderenKnotenweiter.Sokanne inInterpolatorzumBeispieldiePositioneinesObjektsimRauminAbhängigkeitvonderZeitf estlegen.DiesistdergrundlegendeMechanismusfürAnimationeninVRML.Abb.2BrowserdarstellungendesPfeilsDynamikVorreiterderKombinationvonJavaundJavaScript-ProgrammenmitVRML-WeltenwarNets cape’sLive3D,beidemVRML1.0WeltenüberNetscape’sLiveConnect-SchnittstellevonJava-AppletsoderJavaScript-FunktioneninnerhalbeinerHTML-Seitegesteuertwerdenkönnen.InVRML2.0wurdeindieSpracheeinneuesKonstrukt,dersogenannteSkriptkno ten,aufgenommen.InnerhalbdiesesKnotenskannJavaundJavaScript-Codeangegebenwerden,d erz.B.Eventsverarbeitet.ImVRML2.0StandardwurdenProgrammierschnittstellen(Applic ationProgrammingInterfaceAPI)festgelegt,diedenZugriffaufVRML-ObjektevonProgramm iersprachenauserlauben,nämlichdasJavaAPIunddasJavaScriptAPI.DasAPIermöglichtes, daßProgrammeRouteslöschenoderhinzufügenundObjekteundihreEigenschaftenlessenoder ändernkönnen.MitdiesenProgrammiermöglichkeitensindderPhantasienunkaumnochGrenze ngesetzt.VRMLunddann?EinesderursprünglichenEntwicklungszielevonVRMLbleibtauchbeiVRML2.0ungelöst: EsgibtimmernochkeinenStandardfürdieInteraktionmehrererBenutzerineiner3D-Szene.P rodukte,dievirtue-lleRäumemehrerenBenutzerngleichzeitigzugänglichmachen,sindal-lerdingsschonaufdemMarkt(CybergatevonBlackSun,CyberPassagevonSony).Desweiterenf ehlteinBinärformatwieetwadasQuickDra-w3D-Metafile-FormatvonApple,durchdasdieMen geanDatenreduzie-rtwürde,dieüberdasNetzgeschicktwerdenmüssen,wenneineSzenegelad enwird.GeradeinMehrbenutzerweltenspieltdersogenannteAva-tareinegroßeRolle.EineA vataristdievirtuelleDarstellungdesBenutzers.ErbefindetsichamBeobachtungspunkt,v ondemausderBen-utzerdieSzenesieht.BewegtsichderBenutzeralleindurchdieSze-ne,dan ndientderAvatarnurdazu,KollisionendesBenutzersmitObje-ktenderWeltfestzustellen. IneinerMehrbenutzerweltjedochlegtd-erAvatarauchfest,wieeinBenutzervonanderenBen utzerngesehenwird.StandardsfürdieseundähnlicheProblemewerdenderzeitinArbe-itsgr uppendesEnde1996gegründetenVRML-Konsortiumsausgearbeitet.Literatur1.SanDiegoSuperComputingCenter:TheVRMLRepository.http:///VRML2.0/FINAL/Eingegangenam1.09.1997Author:StephanDiehlNationality:GermanyOriginatefrom:Informatik-Spektrum20:294–295(1997)©Springer-Verlag1997译文1:虚拟现实建模语言本文给出了VRML2.0的基本概念VRML的历史1994年春季第一届万维网在日内瓦举行,会议上就VRML进行了讨论。
VR虚拟现实-基于虚拟现实的虚拟实验室外文翻译精品
VR虚拟现实-基于虚拟现实的虚拟实验室外⽂翻译精品外⽂翻译设计题⽬:基于虚拟现实的虚拟实验室的研究原⽂1:VRML译⽂1:虚拟现实原⽂2:VR-LAB译⽂2:虚拟现实实验室原⽂1:VRMLDurch die immer bessere Hardware ist es heute nicht mehr n?tig,für anspruchsvolle 3D-Grafiken spezielle Grafik-Workstations zu verwenden.Auf modernen PCs kann jeder durch dreidimensionale Welten fliegen.Um solche Welten zu definieren und sie über das Internet zu verbinden,wurde die Sprache VRML entwickelt. In diesem Beitrag geben wir einen überblick über die grundlegenden Konzepte der Version 2.0 von VRML.●Geschichte von VRMLIm Frühling 1994 diskutierte auf der ersten -Konferenz in Genf eine Arbeitsgruppe über Virtual Reality-Schnittstellen für das .Es stellte sich heraus, da?man eine standardisierte Sprache zur Beschreibung von 3D-Szenen mit Hyperlinks brauchte. Diese Sprache erhielt in Anlehnung an HTML zuerst den Namen Virtual Reality Markup Language.Sp?ter wurde sie in Virtual Reality Modeling Language umbenannt. Die VRML-Gemeinde spricht die Abkürzung gerne …W?rml“ aus. Basierend auf der Sprache Open Inventor von Silicon Graphics (SGI) wurde unter der Federführung von Mark Pesce die Version 1.0 von VRML entworfen. Im Laufe des Jahres 1995 entstanden eine Vielzahl von VRML Browsern (u. a.WebSpace von SGI) und Netscape bot schon sehr früh eine hervorragende Erweiterung, ein sogenanntes PlugIn, für seinen Navigator an.Die virtuellen Welten, die man mit VRML 1.0 spezifizieren kann,sind zu statisch.Zwar kann man sich mit einem guten VRML-Browser flott und komfortabel durch diese Welten bewegen,aber die Interaktion ist auf das Anklicken von Hyperlinks beschr? nkt. Im August ’96,anderthalb Jahre nach der Einführung von VRML 1.0,wurde auf der SIGGraph ’96 die Version VRML 2.0 vorgestellt.Sie basiert auf der Sprache Moving Worlds von Silicon Graphics. Sie erm?glicht Animationen und sich selbst? ndig bewegende Objekte.Dazu mu?te die Sprache um Konzepte wie Zeit und Events erweitert werden.Au?erdem ist es m? glich, Programme sowohl in einer neuen Sprache namens VRMLScript oder in den Sprachen JavaScript oder Java einzubinden.●Was ist VRML?Die Entwickler der Sprache VRML sprechen gerne von virtueller Realit?t und virtuellen Welten.Diese Begriffe scheinen mir aber zu hoch gegriffen für das, was heute technisch machbar ist: eine grafische Simulation dreidimensionaler R?ume und Objekte mit eingeschr?nktenInteraktionsm?glichkeiten.Die Idee von VRML besteht darin, solche R?ume über das zu verbinden und mehreren Benutzern gleichzeitig zu erlauben, in diesen R?umen zu agieren.VRML soll architekturunabh?ngig und erweiterbar sein. Au?erdem soll es auch mit niedrigen übertragungsraten funktionieren. Dank HTML erscheinen Daten und Dienste des Internets im World Wide Web als ein gigantisches verwobenes Dokument, in dem der Benutzer bl?ttern kann.Mit VRML sollen die Daten und Dienste des Internets als ein riesiger Raum,ein riesiges Universum erscheinen, in dem sich der Benutzer bewegt – als der Cyberspace.●Grundlegende Konzepte von VRML 2.0VRML2.0 ist ein Dateiformat,mit dem man interaktive,dynamische, dreidimensionale Objekte und Szenen speziell fürs World- Wide-Web beschreiben kann.Schauen wir uns nun an,wie die in dieser Definition von VRML erw?hnten Eigenschaften in VRML realisiert wurden.●3D ObjekteDreidimensionale Welten bestehen aus dreidimensionalen Objekten die wiederum aus primitiveren Objekten wie Kugeln,Quadern und Kegeln zusammengesetzt wurden.Beim Zusammensetzen von Objekten k?nnen diesetransformiert,d.h. z.B.vergr??ert oder verkleinertwerden.Mathematisch lassen sich solche Transformationen durch Matrizen beschreiben und die Komposition von Transformationen l??t sich dann durch Multiplikation der zugeh?rigen Matrizen ausdrücken.Dreh-und Angelpunkt einer VRML-Welt ist das Koordinatensystem.Position und Ausdehnung eines Objektes k?nnen in einem lokalen Koordinatensystem definiert werden.Das Objekt kann dann in ein anderes Koordinatensystem plaziert werden, indem man die Position, die Ausrichtung und den Ma?stab des lokalen Koordinatensystems des Objektes in dem anderen Koordinatensystem festlegt.Dieses Koordinatensystem und die in ihm enthaltenen Objekte k?nnen wiederum in ein anderes Koordinatensystem eingebettet werden.Au?er dem Plazieren und Transformieren von Objekten im Raum,bietet VRML die M?glichkeit,Eigenschaften dieser Objekte, etwa das Erscheinungsbild ihrer Oberfl?chen festzulegen.Solche Eigenschaften k?nnen Farbe,Glanz und Durchsichtigkeit der Oberfl?che oder die Verwendung einer Textur, die z.B.durch eine Grafikdatei gegeben ist, als Oberfl?che sein.Es ist sogar m?glich MPEG-Animationen als Oberfl?chen von K?rpern zu verwenden,d. h.ein MPEG-Video kann anstatt wie üblich in einem Fenster wie auf einer Kinoleinwand angezeigt zu werden, z.B.auf die Oberfl?che einer Kugelprojiziert werden.Abb.1 VRML 2.0 Spezifikation eines Pfeils#VRML V2.0 utf8DEF APP Appearance{marterial Material{ diffuseColor 100}}Shape{appearance USE APP geometry Cylinder{radius 1 height 5}}Anchor{ChildrenTransform{ translation 0 4 0ChildrenShape{ appearance USE APPgeometryCylinder { bottomRadius 2Height 3}}}Url"anotherWorld.wrl"}●VRML undWas VRML von anderen Objektbeschreibungssprachen unterscheidet, ist die Existenz von Hyperlinks, d. h.durch Anklicken von Objekten kann man in andere Welten gelangen oder Dokumente wie HTML-Seiten in den -Browser laden. Es ist auch m?glich,Grafikdateien, etwa für Texturen,oder Sounddateien oder andere VRML-Dateien einzubinden, indem man deren URL, d. h. die Adresse der Datei im angibt.●Interaktivit?tAu?er auf Anklicken von Hyperlinks k?nnen VRML-Welten auf eine Reihe weiterer Ereign isse reagieren.Dazu wurden sogenannte Sensoren eingeführt.Sensoren erzeugen Ausgabe-Events a ufgrund externer Ereignisse wie Benutzeraktionen oder nach Ablauf einesZeitintervalls.Events k?nnen an andere Objekte geschickt werden,dazu werden die Ausgabe-Event s von Objekten mit den Eingabe-Events anderer Objekte durch sogenannte ROUTES verbunden. Ein Sphere-Sensor zum Beispiel wandelt Bewegungen der Maus in 3D-Rotationswerte um.Ein 3 D-Rotationswert besteht aus drei Zahlenwerten, die die Rotationswinkel in Richtungder drei Koo rdinatenachsen angeben. Ein solcher 3D-Rotationswert kann an ein anderes Objekt geschickt wer den, das daraufhin seine Ausrichtung im Raum entsprechend ver?ndert.Ein anderes Beispiel für einen Sensor ist der Zeitsensor.Er kann z.B.periodisch einen Event an einen Interpolator schicke n.Ein Interpolator definiert eine abschnittsweise lineare Funktion,d.h. die Funktion ist durch Stüt zstellen gegeben und die dazwischenliegendenFunktionswerte werden linear interpoliert.Der Inter polator erh?lt also einen Eingabe-Event e vom Zeitsensor,berechnet den Funktionswert f(e) und schickt nun f(e) an einen anderen Knoten weiter.So kann ein Interpolator zum Beispiel die Posi tion eines Objekts im Raum in Abh?ngigkeit von der Zeit festlegen.Dies ist der grundlegende Mechanismusfür Animationen in VRML.Abb.2 Browserdarstellungen des PfeilsDynamikVorreiter der Kombination von Java und Java Script-Programmen mit VRML-Welten war N etscape’s Live3D,bei dem VRML 1.0 Weltenüber Netscape’s LiveConnect-Schnittstelle von Java -Applets oder JavaScript-Funktionen innerhalb einer HTML-Seite gesteuertwerden k?nnen. In VRML 2.0 wurde in die Sprache ein neues Konstrukt, der sogenannteSkriptk noten, aufgenommen.Innerhalb dieses Knotens kann Java und Java Script-Code angegeben werde n,der z.B.Events verarbeitet. Im VRML 2.0 Standard wurdenProgrammierschnittstellen (Application Programming Interface API) festgelegt, die den Zugriff aufVRML-Objekte von Programmierspr achenaus erlauben, n?mlich das Java API und das JavaScriptAPI. Das API erm?glicht es, da?P rogramme Routes l?schen oder hinzufügen und Objekte und ihre Eigenschaften lessen oder ?nde rn k?nnen.Mit diesen Programmierm?glichkeiten sind der Phantasie nun kaum noch Grenzen ges etzt.●VRML und dann?Eines der ursprünglichen Entwicklungsziele von VRML bleibt auch bei VRML 2.0 ungel?st: Es gibt immer noch keinen Standard für die Interaktion mehrerer Benutzer in einer 3D-Szene.Produkte, die virtue-lle R?ume mehreren Benutzern gleichzeitig zug?nglich machen,sind al-lerdings schon auf dem Markt (Cybergate von Black Sun,CyberPassage von Sony). Des weiteren fehlt ein Bin?rformat wie etwa das QuickDra-w 3D-Metafile-Format von Apple,durch das die Menge an Daten reduzie-rt würde, die über das Netz geschickt werden müssen,wenn eine Szene geladen wird.Gerade in Mehrbenutzerwelten spielt der sogenannte Ava-tar eine gro?e Rolle. Eine Avatar ist die virtuelle Darstellung des Benutzers.Er befindet sich am Beobachtungspunkt,von dem aus der Ben-utzer die Szene sieht.Bewegtsich der Benutzer allein durch die Sze-ne,dann dient der Avatar nurdazu,Kollisionen des Benutzers mit Obje-kten der Welt festzustellen.In einer Mehrbenutzerwelt jedoch legt d-er Avatar auch fest,wieein Benutzer von anderen Benutzern gesehen wird.Standards für diese und ?hnliche Probleme werden derzeit in Arbe-itsgruppen des Ende 1996 gegründeten VRML-Konsortiums ausgearbeitet.●Literatur1. San Diego Super puting Center: The VRML Repository./doc/1dab2385930ef12d2af90242a8956bec0975a5f4.html /vrml/.Enth?lt Verweise auf Tutorials, Spezifikationen,Tools und Browser im2. Diehl, S.: Java & Co.Addison-Wesley,Bonn, 19973. Hartman, J.;Wernecke, J.: The VRML 2.0 Handbook – BuildingMoving Worlds on the Web.Addison-Wesley, 19964. V AG (VRML Architecture Group): The Virtual Reality ModelingLanguage Specification – Version 2.0, 1996./doc/1dab2385930ef12d2af90242a8956bec0975a5f4.html /VRML2.0/FINAL/Eingegangen am 1.09.1997Author :Stephan DiehlNationality :GermanyOriginate from :Informatik-Spektrum 20: 294–295 (1997) ? Springer-Verlag 1997译⽂1:虚拟现实建模语⾔本⽂给出了VRML2.0的基本概念●VRML的历史1994年春季第⼀届万维⽹在⽇内⽡举⾏,会议上就VRML进⾏了讨论。
Java与VRML在虚拟现实中的应用
要用于整个界 cm r.o .n下载。 w .o pgcl c n
p bi ls iy D x e d pe pe e t t n it e , u l ca sTn 3 e t n s c Ap ltm lm nsAci Lsen r i o
的 、解 释 的 、健 壮 的 、安 全 的 、结 构 中立 的 、可 移 植 的 、性 能
优越 的、多线程 的动态语 言 ,这种 面向网络 的程 序设计语 言使
得 网页更加 生动 ,丰富多彩 。这两 种语 言的结合将使 得在网络
上 创建 的 虚 拟世 界更 加 真 实 、 更 加 生 动 ,而 人 机 交互 也 将 更 加 Vcf e3 ,其 中 Tn3 iy D为 主 类 ,首 先 介 绍 Tn 3 i D类 ,这 个 类 里 主 y
l
这 里 有 四 个 类 即 : Tn3 Tn Cu p V R t i 、 V . iyD、 iy lm 、 b o t n b ao
1 p bi r ws r eBrw s r ){ u l B o e t o e ( c g
.
维普资讯
A jsme ti e e { d t nL tn r u s 一 B o e rws r /我们使 用的浏 览器 rws r o e;/ b N d o; / o e o t / 生成场景的根 r
V co u s / 生 成 场 景 的 层 次 e tr lmp ; / c
ito ld x n tpn e ;
Vb o ainyo R tt rt=n w R tt nI e Vb c f 0 O . o e Vb o ai n w Ve 3 ( . f o 1 0 0 O ) Ila )c r u . a g (la )I t . I . f . f , f t u Clmp y n f t h P o o Ma /1 0. ) : 8 0) Vb o ainzo R tt rt= n w b tt n w V c f O , o e V Roa i I e Vb e 3 on 1 f 0. 0 0 .1 0 ) Il t c r lmp z n Il t Ma h PI . f . f . f ) u Cu .a g a o f )I t . a o /1 0 0) : 8 . ) V Roa inr b tt l=x o .i s yo ) o rt t me ( rt : V Roa inr b tt 2= r .i sIrt : o 1t me zo )
基于VRML-Java动态三维虚拟场景的建立
0
引言
设置场景 的参数等深层动态交互功能却没有得到应有的重视
。
V M 虚拟现实建模语言 V r u l Ra i y M d l n R L( i t a e l o e ig t L n ug ) a g a e 是一种 网络上使用的三维形体和交互环境 的场景
然而,V M RL与 J v 结合的网络虚拟现实技术是一项新 aa
维普资讯
B i d n f D n m C a d T r e D m n in V r u l S e e B s d o Ⅵ a d J v u i g o y a i n h e — i e s o i t a c n a e n l n a a
该软件构 建虚拟场景 中的 三维模型 比较直观, 所见 即所得, 创 建出来的场景对象 比较逼真 ,容易创建复杂 的三维模型 。 因此实践案例采用的方 法是先用建模工具3S M x D A 建立模 型, 再转换成 V M 格式,然后对模型进行整理和优化。 RL 流程如图
一
所示 。
兴的技术, VM 和 Jv 有效的结合在一起增强 V 的动 将 RL aa 眦
画效果 、交互能力 。
2 动 态 场 景 的 建立 2 I三维场景构建 .
描述语言 ,RL VM 创建的是三维的逼真场景,用户可以从不 同 角度和距离对场景 中的对象进行观察 , 并可 与场景 巾的对象
进行交互。因此,V M 是动态的 …。 RL 要想构建具有真正实时的、动态 的、交互式的三维虚拟
中图分类号:T 7 3 P0 文献标识码 :A 文章编号 :1 7 — 7 2 (0 8 3 0 6 一 2 4 9 一 2 0 )— 0 0 61 l
Ab t c : h e e r h f r a p i a i n o i t a e l t e h o o y b s d o R L a d J v n u l i g o s r t T e r s a c o p l c t o f v r u l r a i y t c n l g a e n V M n a a o b i d n f a
虚拟情景融合的图像分割教学系统
第38卷第4期计算机仿真2021年4月文章编号:1〇〇6 - 9348 (2021) 04 - 0331 -07虚拟情景融合的图像分割教学系统焉潇潇1 ,安效伟2,戴文斌1,孙农亮(1.山东科技大学电子信息工程学院,山东青岛266590;2.山东科技大学电气与自动化工程学院,山东青岛266590)摘要:针对传统图像分割课程教学模式中学生学习自主性差、参与热情较低的问题,研究设计了基于虚拟情景融合的问题启发式图像分割教学系统。
将虚拟可视化与问题启发式学习(PBL)有机结合,据虚拟故事情景设置导向问题,依故事情节分模块嵌入相关知识内容引导学生自主学习,辅之奖惩升级措施在不同层级知识内核间跳转控制,以确保学习内容的连贯有效,将虚拟人机交互融入到枯燥的理论知识学习过程中。
结果表明,有效提升了图像分割教学系统的趣味性与实用性,增强了学生学习兴趣与学习效果。
关键词:图像分割;课程教学模式;问题启发式学习;虚拟可视化中图分类号:TP391.9 文献标识码:BImage Segmentation Teaching SystemBased on Virtual Scene FusionYAN Xiao - xiao1 , AN Xiao - wei2, DAI Wen - bin1 ,SUN Nong - liang1 *(1. School of E lectronic Inform ation E n g in eerin g,S h an d o n g U niversity of S cience and T echnology,Q ingdao Shandong 266590, C hina;2. School of E lectrical and A utom ation E n g in eerin g,Shandong U niversity of Science and T echnology,Q ingdao Shandong 266590,C h in a)A B S T R A C T:O bviously,the traditional im age segm entation in teaching m ode has m any d e fe c ts,such as poor learningautonom y,low enthusiasm for p articip atio n.T h erefo re,th is p ap er designed a novel problem heuristic im age segm entation teaching system based on virtual scene fusion.F irstly,the virtual visualization and problem heuristic learning(P B L)w ere com bined to set the problem orientation according to th e virtual story situ atio n.S e c o n d ly,th e relevantknow ledge content was em bedded in m odules via different sto ry lin es,guiding stu d en ts’autonom ous learn in g.T h e n,therew ard and punishm ent upgrade m easures were used to ju m p control am ong different levels of know ledge cores for ensuring the consistency and effectiveness of the learning co n ten t.F in ally,virtual hum an-com puter interaction was introduced into the boring theoretical know ledge.The results show that the learning system not only im proves the interest and practicability of teach in g but also enhan ces the stu d en ts,interest and learning effect.K E Y W O R D S:Im age se g m en tatio n;C ourse teaching m o d e;Problem heu ristic le a rn in g;V irtual visualizationi引言传统教学多以师生面授为主,此方式讲师可快速传授知 识内容,学生可即时向讲师反馈过程中出现的问题[1],内容基金项目:国家863项目课题(2015AA016404) ;20丨8年教育部第一批 产学合作协同育人项目(201801274008);山东科技大学优秀教学团队(JXTD20160509)收稿日期:2020 - 08 - 20修回日期:2020-10-09理解偏差看似易于消除,学习内容易于被快速掌握。
Java与虚拟现实构建沉浸式的体验
Java与虚拟现实构建沉浸式的体验虚拟现实(Virtual Reality,简称VR)作为一种新兴的技术,正在迅速改变着人们的生活方式和交互方式。
在虚拟现实应用程序的开发过程中,Java语言作为一种广泛应用的编程语言,发挥着重要作用。
本文将探讨Java与虚拟现实的结合,以构建沉浸式的体验。
一、Java语言在虚拟现实开发中的优势Java作为一种高级编程语言,在虚拟现实开发中具有许多优势,以下是其中几点:1. 跨平台性:Java语言的跨平台性使得虚拟现实应用程序可以在多种操作系统上运行,例如Windows、Mac OS、Linux等,为用户提供了更便利的选择。
2. 强大的图形库支持:Java语言拥有丰富的图形库支持,如JavaFX 和AWT/Swing等,可以实现各种虚拟现实场景中的图形展示、界面设计等功能。
3. 安全性:Java语言通过自带的安全管理器和字节码验证机制,确保虚拟现实应用程序的运行安全,避免了恶意代码的执行。
二、Java与虚拟现实的结合1. VR应用程序的开发利用Java语言,开发者可以创建各种虚拟现实应用程序,如虚拟游戏、虚拟现实演艺、虚拟旅游等。
通过Java语言丰富的图形库和功能扩展,开发者可以实现更加逼真的虚拟环境和互动体验,为用户带来身临其境的感受。
2. 与传感器设备的集成虚拟现实需要通过各种传感器设备来获取用户的动作、头部姿势等信息,以实时更新场景显示。
Java语言提供了丰富的传感器支持库,可以方便地与各种传感器设备进行连接和数据传输,使得虚拟现实应用程序更加精确和流畅。
3. 数据处理与算法虚拟现实应用要求实时处理大量的数据,如3D模型渲染、物理模拟和碰撞检测等。
Java语言强大的数据处理能力和算法库,可以有效地处理这些复杂的计算任务,并保证虚拟现实应用程序的高性能和稳定性。
三、沉浸式体验的构建1. 逼真的场景渲染通过Java语言的图形库支持,开发者可以实现逼真的场景渲染。
VRML虚拟图书馆的构建与优化浏览
VRML虚拟图书馆的构建与优化浏览许爱军;李锋【摘要】In the view of wide application of virtual campus based on VRML, taking the construction of Virtual Library as an example, this paper discusses the construction and optimization of VRML virtual scene. The development process from basic data collection, 3D model establishment, 3D model optimization angles is presented. Using visibility sensor schedule algorithm and LOD idea, this paper dispatches the scene in horizon range, achieving a quick view of the VRML scene by dispatching object in the horizon according to the viewpoint of distance operation. Through publication and testing, the VRML virtual library has the characteristics of simple operation, high fidelity, strong adaptability and high practical value.%鉴于虚拟校园广受关注和VRML广泛应用的背景,以虚拟图书馆建设为例,探讨VRML虚拟场景的构建、优化和调度问题.给出了虚拟图书馆的开发流程,并从基础数据收集与整理、三维模型建立、三维模型优化等方面,给出了虚拟图书馆的构建过程.采用基于VisibilitySensor的调度算法,对进入视域范围的场景进行调度.利用LOD思想,对视域内的物体根据视点距离调度不同精度的模型,实现了VRML场景的快速浏览.经过发布与测试,表明VRML虚拟图书馆具有操作简单、逼真度高、适应性强等特点,在网络运行顺畅,实用价值较高.【期刊名称】《计算机系统应用》【年(卷),期】2016(025)004【总页数】6页(P252-257)【关键词】VRML;虚拟现实;虚拟图书馆;开发与应用【作者】许爱军;李锋【作者单位】广州铁路职业技术学院,广州 510430;广东交通职业技术学院,广州510650【正文语种】中文随着教育投入不断加大,高等院校逐渐建立起相对完善的校园环境,以满足教学、科研和学习生活的需要.如何将优美的教学环境真实呈现给社会,加深社会公众对学校的认可度、提高学校的知名度,将是十分迫切的现实问题.虚拟现实技术进入教育领域后,高校数字校园建设的层次和水平得到较大提升,并开启了利用虚拟现实技术呈现真实校园的研究热潮.国内最早开展VRML虚拟校园研究的高校是天津大学(1996年),此后,浙江大学、北京航空航天大学、华中科技大学、香港中文大学等也相继建立虚拟校园漫游系统,以集中展示校园风貌和文化氛围.可以说,以虚拟现实技术促进高校信息化建设、宣传校园文化、提升学校知名度和影响力,已成为现代教育技术界的广泛共识[1]. VRML(Virtual Reality Modeling Language,虚拟现实建模语言)是一种建立三维虚拟世界的造型语言,具有良好的跨平台性,已成为Internet上描述三维虚拟世界的标准格式规范[2].VRML具有简单、交互能力较强、适合低带宽传输等特点,在工业交通、医疗器械、教育培训和航空航天等领域得到广泛应用.鉴于虚拟校园广受关注和VRML广泛应用的背景,本文以VRML虚拟图书馆建设为例,探讨VRML构建虚拟场景的开发流程、建模方法和调度优化策略,以期为同类研究提供参考.1.1 需求分析与设计虚拟图书馆将传统的图书馆从二维拓展为三维,更逼真地呈现馆体概貌,方便用户在异地通过网络实时浏览,有如身临其境之感.为此,虚拟图书馆要满足以下需求: (1)能真实展示图书馆的整体结构和外部框架,包括图书馆的外观形状、地理位置、周围环境等;(2)能逼真地展示图书馆的内部结构,包括各种功能的房间,每个书库的书桌、椅子、书架和图书等;(3)能实现多种形式的漫游,在漫游过程中能搬动桌椅、翻阅书本、打开门窗、控制开关等,实现简单的交互功能;(4)虚拟图书馆能在线浏览,模型渲染速度较快,浏览顺畅度较高.为满足以上需求,将虚拟图书馆分为馆外和馆内两大部分.其中,馆外包括图书馆的整体外观和四周环境,馆内包括各种办公场地和桌椅、图书等物体.由于虚拟图书馆的各个对象是通过空间相对位置关系组织在一起的,因此要先建立一个对象作为参照物[3],其它对象以此为参照合理布局.经过分析,本文选取图书馆门口的道路作为参照物,依照由外至内、由下至上、从左至右的原则,形成虚拟图书馆的场景结构如图1所示.1.2 开发工具与流程尽管VRML语法简单,但若用手工编写代码则相当繁琐.尤其是对不规则造型物体的建模,则显得十分困难[4].在实际的开发过程中,需要用到多种虚拟现实软件,遵循如图2所示的开发流程.具体流程是: 首先,利用专业的三维建模软件(如: 3DS Max、Maya)建立实体对象的三维模型,采用纹理贴图、渲染生成后,形成单个物体模型; 其次,将模型导入可视化编辑软件(如: InternetSpace Builder、Cosmo Worlds)中进行合并,通过复制和旋转等操作,将单个模型放置到合适位置,建立起整体场景; 再次,用Java或JavaScript 编写程序扩展VRML的功能,为场景添加交互; 然后,在文本编辑软件(如: Vrmlpad)中压缩和优化VRML模型文件,提高系统运行整体性能;最后,将生成的场景文件插入网页,向网络发布.本文采用的开发工具是: 以VRML为基础开发语言,用3D Studio Max作为主要建模工具,用Sgi公司的可视化编辑工具CosmoWorld将模型内联,用VRML脚本编辑软件Vrmlpad中进行代码优化,添加交互脚本,采用Cortona VRML浏览器预览效果.三维模型的建立是实现虚拟图书馆的基础.在建模中,应用需求对模型的精度要求、建设周期对建模的效率要求、建设资金对投入的成本要求等,综合决定了采取的建模方法.本文采用三维建模软件建立模型框架,大量使用纹理贴图来降低模型的复杂度,达到高效建模的目的.2.1 基础数据的收集与整理基础数据包含图书馆的平面结构图和大量材质纹理数据.平面结构图是指图书馆建设时的规划图,用AutoCAD将平面结构图简化修改,然后导入3DS MAX中进行建模.平面设计图就是建模的底图,决定了各个建筑场馆的具体方位、大小和位置.纹理材质的获取主要是通过实地拍摄,然后将采集的照片进行正摄处理,便于贴图使用.照片处理需要用到图片处理软件(如: photoshop).为便于后期LOD (Levels of Detail)调度,每张纹理图片同时生成模糊、普通和清晰三个版本,分别存入三个不同的纹理库中.2.2 三维模型的建立为利于模型的集成融合,在建模时要采用与现实一致的平面坐标,使用相同的长度单位进行制作.三维模型的建立包括模型结构设计和表面属性配置两个步骤.2.2.1 三维模型的结构设计1)图书馆整体轮廓模型.以工程图纸为基础,先用Auto CAD绘制图书馆的CAD平面图,然后将其导入3DS MAX中,采用拉伸法形成建筑高度,然后使用shell命令增加墙面厚度,从而建立图书馆外围轮廓模型.这种根据平面图设计轮廓的方法,主要利用了3DS MAX 中的Extrude命令,建模简单、效率较高.2)图书馆墙面设施模型.墙面设施主要包括窗体、通风口、大门、柱子等.窗体的建模主要采用extrude命令在墙体上进行挤压,形成孔洞.通风口的建模主要采用Boolean工具的差集命令,在墙体上减去长方体,绘制出通风口.大门建模先用Boolean命令得到矩形空洞,然后用捕捉工具捕捉空洞平面,即可制作大门的边框.柱子的建模直接构建4个长方体,放到相应位置即可.绘制完成的图书馆外围模型如图3所示.3)图书馆内部物体模型.图书馆内部物体模型包括书柜、书本、书桌、椅子等.书柜和书本模型可以直接采用绘制长方体的方式完成.书桌和椅子模型,需要先绘制各个部分的模型(书桌模型包括桌面和桌腿两部分,椅子模型包括椅架、坐垫、靠垫三部分),然后采用组合命令进行组成,完成模型的建立.绘制完成的书柜、书本、书桌、椅子模型如图4-7所示.2.2.2 三维模型的表面属性配置在场景建模中,合理使用纹理和材质来替代三维模型几何细节的表达,不仅可以减少三维模型的建模工作量,同时也不失模型的真实性和逼真度.贴图就是把材质图片覆盖到模型上,使模型更贴近现实.下面以为地板赋予瓷砖材质为例,简要介绍贴图的基本方法:第一步,选中地板,在材质编辑器中选择建筑材质,到图片库内选择一张瓷砖的图片拖至漫反射贴图空白处;第二步,点击视窗里的图片,点击漫反射贴图,将平铺数改为4*4.由于地板是不规则图形,贴图此时无法显示,所以需要进入修改器下拉菜单,进入UV坐标,然后选择UVW 贴图即可完成对地板的贴图,效果如图8所示.利用相同的方法,将图书馆外墙、内墙、书架、桌椅等模型进行贴图,并进行简单渲染.2.2.3 环境特殊模型的建立图书馆周围还存在一些特殊环境物体,如树木、路灯和天空等,这些特殊环境物体如果采用三维建模软件来建模,会花费大量的时间,同时也会产生大量的数据量.为此,本文采用透明单面技术解决树木、路灯和花草的建模问题.同时采用不透明单面技术,构建天空盒.透明单面技术是指对采集到的纹理材质,先用图片处理软件进行透明化处理,删除与物体外观无关的背景,然后导入建模软件中直接贴图.这类纹理直接贴附在其他模型的上层,对下层模型不会遮挡,从而形成视角上的立体效果.本文采用不透明单面技术构建天空背景,构建天空盒的基本步骤为:首先,构建中心位于坐标原点的立方体,依此确定8个PositionColoredTextured顶点的坐标值(value);其次,设定各顶点的贴图坐标(u,v),为天空盒的6个面匹配纹理;再次,通过比例变换计算出本地天空盒.这里,天空盒的宽度不能太大,Jason Shankel[5]给出的公式为:其中,Zfar为天空盒的中心距离场景相机远裁减面的长度.最后,进行渲染呈现.为获得真实效果,要使天空盒的中心始终位于场景相机的视点位置.即:其中, T(lookAt.x,lookAt.y,lookAt.z)代表场景相机视点的世界坐标.2.2.4 三维模型的合成单个物体模型建立完成后,采用可视化编辑工具CosmoWorld将它们合并到一起形成整体.合并的思路是: 首先导入图书馆的整体模型,然后依次导入书桌、椅子、书柜、书本等.若要在多处位置放置同一个物体(如: 书桌、椅子等),可以使用镜像工具不断复制生成多个物体,再放到对应的位置.若要调整物体方位,还需要进行旋转操作等.再次,导入周围环境特殊物体模型,与前期模型组合到一起.最后,将场景中的所有模型打包,形成整体场景.在场景组合中,添加的模型数量不宜过多.否则,会严重降低场景的渲染效率,这为后期添加灯光和摄像机增加很大难度.因此,需要对场景中的模型进行适量删减,以保证虚拟场景运行速度和流畅度.2.3 三维模型的优化尽管3DS MAX也能方便地添加灯光、视点等,但导出.wrl后,视点位置容易发生偏差,灯光效果也不理想[6].为此,本文利用VRML编辑器VrmlPad进行优化调节.2.3.1 模型贴图与材质的调节在VRML中,物体的外部贴图由外观域节点(appearance)控制.贴图域的节点结构为: imagetexture {url"图像文件名"},其中url域指明贴图使用的图形名称和位置.在调整材质时,先用VrmlPad打开模型,找到Indexedfaceset面集节点,调整color、colorindex和colorpervertex三个域值,就可以改变造型颜色.同样也可以对各个图形的子节点进行材质的编辑和表面贴图的修改.修改完成后可以进行调试.若出现错误,则返回修改.2.3.2 灯光的添加和设置VRML浏览器在解释VRML文件时,会默认生成一个白色的平行光束照亮浏览者前方,但这个光源的颜色不能改变,也不能照亮整个场景.为此,需要为虚拟图书馆增加点光源,向四面八方发射光线,照亮图书馆内部场景.建模时,可以在3DMAX确定灯光的位置,后期优化时只需要对灯源的颜色、辐射半径、明亮程度等进行设置.Pointlight点光源节点包括若干个域值,其中on域值用于设定点光源的打开与关闭; location用于设定点光源在当前坐标中的位置; radius域值用于设定点光源的辐射半径; Intensity域值用于设定点光源的明亮程度.灯光节点的主要代码如下:2.3.3 漫游视点的调节为了让浏览者从不同视点观察图书馆,全方位感受图书馆的整体概貌,需要对视点进行调节.在VRML中,可以用Viewpoint视点节点和Navigation导航节点来创建视点.其中,Viewpoint视点节点用于设置用户的观察视点,Navigation导航节点用于设置视点的移动方式,两者配合可以实现更为逼真的浏览效果.本文共创建6个视点,分别至于图书馆的不同的位置,同时对Navigation导航节点进行编辑.Navigation导航节点有5种导航方式,分别为: 行走方式、飞行方式、观察方式、任意方式和不使用任何方式.本文还对浏览者的漫游信息进行设置,规定浏览者的身高、体宽和步高等.其中一个视点的代码如下:2.3.4 交互功能的实现本文主要利用VRML的传感器(Sensor)机制实现交互功能,基本原理是: 在传递消息的节点中绑定路由,当传感器检测到用户与虚拟环境中的物体发生交互时,传感器将获取的交互信息经路由传送到其他节点或输出到外部脚本[7].VRML中的传感器主要有时间检测器(TimeSensor)、触动检测器和感知传感器三类.本文利用ProximitySensor接近传感器创建图书馆的自动开关感应门.当用户进入大门预先设定的感知区域时,大门自动打开.当用户远离大门至预先设定的感知区域时,大门自动关闭.利用TouchSensor触摸传感器对书本位移动画进行控制.当用户点击书本不放,书本跟随替身一起移动,直到用户松开鼠标为止等.3.1 基于VisibilitySensor算法调度视域场景虚拟图书馆中的物体模型较多,在浏览过程没有必要调入所有物体的模型.为此,本文采用基于VisibilitySensor的调度算法,只调度即将进入视域范围的模型,同时剔除消失于视域的模型,概括起来就是“可见就添加,不可见就剔除”.先将视域区域简化为一个扇形,进入扇形区域中的物体是可见的,则调入VRML场景中进行显示,在扇形区域以外的物体为不可见物体,需要从VRML场景中剔除.基本原理如图6所示.当视角区域发生改变时,如果有物体进入视域范围,则将其调入显示; 如果有物体移出视域范围,则将其剔除.这样,就能保证进入视域范围的建筑物数量尽量少,达到快速浏览的目的.实现的伪代码为:3.2 基于LOD思想调度视域中的物体模型对进入视域范围的模型,再根据物体距离视点的距离,分别调入不同精度的模型.由于在纹理和材质处理阶段,每张纹理同时生成模糊、普通和清晰三个版本.不同精度的纹理经过贴图后,就会生成不同精度的模型.LOD的基本思想就是利用一组(通常为3-5 个)不同精度的模型,在浏览中根据预先设定的距离阀值,调用不同精度的模型.距离较远时,调用模糊的模型,距离较近时调用清晰地模型,从而加快场景的渲染速度.VRML中LOD的基本语法为:其中,range域的值用来判断视点离物体多远时,调用level中排列的物体模型(从细到粗).这里的距离阀值d可依据文献[8]中的方法计算:Rootsize是为物体立方体包围盒的范围大小,depth为level层次中的层次,errorrange是以百分比给出的误差范围大小.LOD的优点是简化计算在预处理过程进行,能减少实时绘制的计算开销.本文采用LOD思想,对进入视点范围的物体,根据视点距离调度不同精度的物体模型.4.1 虚拟图书馆的发布虚拟图书馆的发布,实际上是要让web服务器支持VRML文件[9].本系统采用微软IIS服务器进行发布,需要将Web服务器的MIME类型设置为model/VRML,Web 服务器才能识别VRML文档.发布完成后的网上虚拟图书馆,能逼真展示学校图书馆的整体概貌,尤其是能真实展现图书馆的内部结构和各种藏书空间.用户打开网页就能以多种漫游方式浏览网上虚拟图书馆,并能实现搬动桌椅、翻阅书本、打开门窗、控制开关等简单的交互功能.经过测试,虚拟图书馆的渲染速度较快,浏览顺畅度较高,如图10所示.4.2 虚拟图书馆的性能分析该虚拟图书馆仅花费4天时间就建设完成,场景三角面数由建立初的45786个减少到18359个,模型个数由123个减少到75个,载入场景文件时间约为3 秒,在配置为双核CPU、内存2G以上的个人PC机上正常运行,浏览顺畅性和逼真度都非常理想,验证了VRML建模方法与调度优化策略的合理性与有效性.本系统基本实现了虚拟图书馆网上展示的目的,并具有以下功能特点:1)具有操作简单、使用方便的特点,用户基于浏览器访问,只需要下载插件就可以使用;2)具有导航清晰、支持多种漫游方式的特点,用户在漫游中可以选择飞行、行走、观察等不同漫游方式,体会不同感受;3)具有逼真性高、适应性强的特点,支持跨平台运行,易于扩展和维护.VRML虚拟场景的构建既是一项复杂而细致的工作,同时也是地理信息系统、数字城市、虚拟景观等建设中面临的基本问题[10].尽管VRML模型建立与优化技术相对成熟,但作为一项基础工作,提高VRML模型的建模效率、降低三维模型数据传输量、优化场景调度方法,依然是虚拟仿真领域的不懈追求.本文实现了真正意义上三维性、交互性、逼真程度高的虚拟图书馆,详细介绍了虚拟模型的建模过程、优化技术和快速调度方法.该系统在网上发布后一直稳定运行,获得良好评价.今后还将在利用外部编程接口EAI增加交互性、进一步提升场景绘制速度、增加动态虚拟场景等方面加以完善.【相关文献】1 许爱军,张文金,易丹.基于VRML的虚拟现实技术及应用.计算机与数字工程,2009,(4):186–189.2 金伟英.基于VRML的轧机主体虚拟现实[硕士学位论文].秦皇岛:燕山大学,2010.3 宋慧玲.基于VRML的地学虚拟博物馆漫游系统的研究与实现[硕士学位论文].武汉:中国地质大学,2004.4 宋丽敏.面向Internet的虚拟场馆建模技术的研究[硕士学位论文].沈阳:沈阳工业大学,2009.5 石敏,王俊铮,魏家辉.真实感三维虚拟场景构建与漫游方法.系统仿真学报,2014,(9):1969–1974.6 张瑞菊.SketchUp结合GoogleEarth在虚拟校园中的应用.计算机应用,2013,33(S1):271–272,297.7 许爱军,张文金,黄正午.支持协同工作的VRML网络虚拟现实系统.计算机仿真,2009,(11):287–290.8 Schmalsiteg D.LODSTAR: An octree-based level of detail generator for VRML[Technical Report].Vienna University of Technology,Austria.1998.9 王文剑,史颖,任镤.基于虚拟现实技术的大型场景视景仿真.山西大学学报(自然科学版),2014,37(1):64–69.10 庞存岐,丘均,蔡声镇.大规模室外场景中漫游实时渲染技术研究.福建师范大学学报(自然科学版),2013,(5):37–41.。
基于VRML-JAVA远程虚拟教学系统的设计与开发
基于VRML-JAVA远程虚拟教学系统的设计与开发余东先;杜纪霞【摘要】通过情境化学习理论的指导,构建出具有真实感和沉浸感的远程虚拟教学系统,在介绍VRML和JAVA语言特点与互补性的基础上,着重描述了平台的结构和功能,对实现平台的关键技术包括虚拟场景的构建、替身及群体感知等进行了详细介绍,是对远距离教学的一种有益的探索.【期刊名称】《河南科学》【年(卷),期】2010(028)005【总页数】5页(P600-604)【关键词】VRML;虚拟现实;JAVA;教学平台【作者】余东先;杜纪霞【作者单位】郑州华信学院,计算机科学与技术系,郑州,451150;郑州华信学院,计算机科学与技术系,郑州,451150【正文语种】中文【中图分类】TP311.52针对现有远程教学平台真实感,交互能力差的不足,本文以“情境化学习理论”的思想为指导将JAVA编程技术、JSP网页技术与VRML虚拟现实巧妙结合,构建出网络虚拟情境性远程虚拟教学系统,对于提高学习环境的可感知性和交互性,使其获得更真实的身临其境的体验有很好的效果.虚拟现实建模语言VRML(Virtual Reality Modeling Language)是一种开放的、实时渲染、平台无关性的三维场景建模语言,其发展的初衷就是用来创建基于浏览器的、具有实时漫游特性的虚拟现实场景,它实现了基于B/S结构的客户端三维动画和基于对象的用户交互.1998年被ISO正式批准的VRML2.0标准将VRML 静态世界改为动态的世界,允许用户自定义对象原型节点增加了动画、事件、传感器、脚本等功利用层次性的文件关系创建任意大的动态世界,根据不同层次水平的要求来实现了“沉浸感”和“交互感”[2].JAVA语言是一种跨平台的、分布式动态语言,很好地支持网络编程环境,尤其JAVA APPLET可以嵌入浏览器随着网页下载到客户端运行.虽然VRML创建有良好的建模和分布特性,但其本身没有提供网络间通信的标准.JAVA的加入为VRML提供了强大的编程能力和网络访问功能,使这种建模语言对各种需求功能的扩展成为可能:VRML负责场景的描述和接口的定义,复杂的交互和高级的应用让JAVA来完成.VRML通过外部程序接口EAI(External Authoring Interface)与JAVA应用程序或嵌入HTML中的JAVA APPLE进行通信,借助JAVA语言的强大功能实现交互操作,EAI是一个与VRML浏览器插件相互联系的JAVA包,它有三部分组成:Vrml.external,Vrml.external.field,Vrml.external.远程虚拟教学平台采用VRML-JAVA同步协调技术,系统结构为三层B/S结构,结合了VRML,JAVA,JSP等主要开发技术,数据库采用SQL2000.如图1所示第一层为客户端层,在Web浏览器上外挂VRML浏览器插件,该层是用户与整个系统的接口;第二层为应用服务层,通过调用数据库中的虚拟元件和学习模块信息,生成虚拟学习场景.第三层为信息资源层,提供平台所需要的场景信息和数据信息.本系统分为学生/教师两种身份,赋予不同的权限.用户注册登录后,建立与服务器的连接,服务器为用其分配标识,建立替身模型,并下载以.wrl(教学内容)为后缀的VRML场景和以.class为后缀的JAVAAPPLET(交互界面)控制文件,同时服务器负责存放共享空间、管理和维护虚拟实验场景的一致性、用户注册和用户替身,监听客户端的连接请求和响应连接等.客户端基于浏览器但需要有VRML97浏览器插件,VRML客户端数据和相应Java 对象构成了虚拟学习场景.客户端程序以JAVA APPLET的方式运行在浏览器中,其主要功能是创建与服务器之间的Socket连接,接收服务器的广播报文进行解析,从而实现客户虚拟场景的更新.虚拟教学系统通过模拟和实现课堂的教学功能来为地域分散的网络在线和学生提供一个共享协同式课堂学习环境,使其不仅可以享受自由教学和学习空间,还可以闻其声、“见其人”,进行各种实时的交流与协作[3].其功能包括如下:1)学习模式选择模块.该模块提供两种方式供用户选择:①自主学习模块:学习者根据自己的学习进度和学习任务选择学习内容进入相应的场景;②群体学习:模拟传统课堂教学中教师集中授课的教学方式,即一旦学习者登录授课虚拟场景,其浏览器页面将以同步的方式显示与教师机浏览器相同的页面.2)课堂管理子系统.管理课程成员的加入、退出和异常情况的处理;记录学习者的学习进度、行为积分、任务/问题解决结果以及知识拓扑结构等数据.3)共享白板.为每一个成员提供了一个利用虚拟表情、文字和远程指针进行协同学习和讨论的园地,教师在教学的过程中可通过白板提出问题,学生则可以通过电子举手发言,来自教师和学生的音/视频信息通过教师指定方式成为“广播源点”,实现师生之间的实时在线(包括音频、视频等)讨论和交流.4)课程辅助功能模块.根据远程教学的特点,为了构造一个丰富、灵活、开放、交互的教学支撑环境,系统采用了测试、作业、答疑等诸多教学环节,利用专用的网络教学模块来使这些活动得到了基本保证.例如学习者进入的是“虚拟教学系统——在线测试”,进入该模块可以通过测试巩固章节学习内容.5)VRML虚拟场景和场景属性数据库.本系统设定了3种虚拟场景:虚拟教学场景,虚拟讨论场景,自主学习场景.每个场景具有不同的场景片段和属性,成员根据实际情况选择合适的场景同时载入与学习者需要相符合的学习任务,构建出学习者特有的虚拟情境.6)动态处理模块.接受VRML的script节点传入的事件,调用相应的Java程序(class格式的文件)进行处理.系统中以JavaScript编写的目录树来组织学习的内容,选择相应的内容进入对应的虚拟情景;而VRML虚拟场景中,学习者需要其它资源的支持,在系统不同的模块中交流.该模块则将WEB与VRML结合,实现了普通网页和虚拟情境之间的跳转.该系统在虚拟的情境中,让学习者交流合作、协同完成任务,并用虚拟情境将学习任务“串连”、“引导”起来,让学习者在理解问题、任务的基础上实现对知识的建构.可以说整个学习过程完全符合“情境化学习理论”所要求的对于真实教学环境的模拟,能够很好地调动学习者的学习积极性.4.1 虚拟场景的构建场景建模是构建虚拟场景最关键的一步.模型的复杂度、精细度直接关系到系统性能的好坏,因此建模主要解决两个问题:①如何生成数据量小、适于网络传输的模型;②如何模拟场景的真实感.将VRML和3DMAX结合作为建模工具是一种行之有效的方法.因此系统平台三维模型设计采用如下方式:简单的模型我们采用VRML,VRML提供了众多的造型节点和传感器节点,为模拟真实的三维空间提供了方便;复杂的模型我们采用CAD应用软件Pro/E进行造型,然后输入到3DMAX中,在3DMAX中进行材质、纹理等处理后,输出为VRML文件,在利用编组节点Group,Transform把他们按层次体系组织起来,构成场景图(Scene Graph).用户通过网络浏览VRML三维场景对文件下载的时间比较苛刻,同时复杂模型的渲染比较慢,容易出现抖动.为解决这些问题,作者采用如下方法对场景进行优化:1)对重复的造型采用DEF-USE格式,不必重复建构.2)使用原型proto定义,然后通过其具体的属性将其转化为实例.3)使用 VRML 的 LOD(Level of detail)节点,其以视觉效应为每个物体建立相似模型减少不需要的模型细节,从而优化文件.4)使用script和JAVA程序,利用计算机图形学的相关原理对模型进行缓存处理优化.图2为构建的虚拟教室三维模型.4.2 系统替身和群体感知场景是多用户共享的对象,为了适合多用户共享,学习者在虚拟场景中学习,需使其感知其他的学习者在干什么,整个场景中的变化应该实时地了解.VRML场景中的替身(Avatar)是为代替学习者的实际参与而设计的虚拟体,学习者在平台中的存在感是通过替身实现的,系统为每一个参加学习者都赋予一个替身标识,共置于虚拟场景中,通过面部表情的建模和纹理贴图,给替身赋予一定的情感表达能力,来替代用户的脸部动作,参与学习者之间的人际交互.赋予替身三维运动模型如行走、坐立、举手、鞠躬等代表用户的动作.系统利用VRML的Proximity Sensor节点跟踪本地用户视点的移动和转动,并获得位置和方向值,然后将这两个值通过网络传输到其他用户的VRML虚拟空间中去改变该用户3D替身的位置和方向.当有用户通过鼠标或键盘与场景进行交互,浏览器就将场景的变化值传递给服务器,服务器通过网络加载到所有连接的用户这样每个学习者都能感知场景的变化[4]. 4.3 系统场景交互性的实现虚拟场景的交互性体现在两个方面:一是用户与虚拟场景内的虚拟对象的交互,用户可以改变场景中虚拟对象的状态、位置,可以对对象进行添加和删除操作;二是与其他用户之间的交互,能通过文本、声音,并辅以身体动作、面部表情等进行交流等.实现方法如下:1)通过script节点和路由(Route)实现Java程序和VRML之间的通信.通过event in将事件传至script节点中的脚本,在script节点中进行处理,事件event out将结果送回script节点.2)利用EAI(External Authoring Interface,外部创作接口)实现Java与VRML的通信.JAVA通过与VRML进行通信可以获取虚拟空间的数据信息形成一个数据包,各个节点通过TCP/IP协议下的Java socket机制进行相互连接,将该通信包通过网络实时传输给各个节点,当相应的节点接受到数据包后JAVA可以对VRML空间实时控制.依据这两种方式以及利用VRML中Sound节点和ImageTexture节点,编写Java,JavaScript程序,通过执行模式连接到场景中,控制VRML场景的行为,从而达到人机交互及人与人交流的目的.图3为作者用EAI实现在同一HTML页面中三维虚拟场景(由VRML语言实现)和二维平面图的显示(由JAVA APPLET 实现),其中二维平面图控制着虚拟角色的学习动作、表情和讨论交流.以下为以教师权限利用控制面板向场景内教室黑板输入教学内容的关键代码.//*接受教师用户的输入,设置场景中大屏幕显示的字符串.4.4 系统协同并行控制当多个用户同时对场景中的某个实体发生共同兴趣,对实体进行操作时必然会产生冲突.为了避免多个用户对同一个对象采取相同的操作而引起冲突,系统采用锁定对象的方法来进行控制.当一个用户对场景中的某一个物体进行控制时,会向服务器发送一个锁定请求,此时该物体就不能被其他用户操作.为了避免一个用户对一个物体长久的锁住,赋予对象Tickle属性,限制一个用户对物体的持有时间[5].在VRML2.0中每个节点都有时间戳来记录节点事件的发生次序,它可以通过JAVA 标准对象类Event来获取.因此根据操作的时间戳来检查多个操作是否冲突,根据每个操作的时间顺序不同依次进行操作.4.5 WEB与VRML的协同工作该远程虚拟教学系统构成主要包括JAVA APPLET程序、VRML场景文件和嵌入VRML浏览器插件和JAVA小程序的WEB页文件3部分.由于系统需要在浏览者与VRML场景之间进行频繁的信息交换,所以选用EAI接口对VRML场景进行扩展,实现与JAVA小程序的交互.VRML文件(.wrl)通过HTML的<EMBED>标记包含在HTML文件中,Java Applet(.class)则通过HTML的<APPLET>标记包含在同一HTML文件中,VRML节点除了可以与VRML节点之间通过路由进行消息传递之外,还可以通过浏览器接口与HTML进行消息传递,扩展交互功能,VRML场景通过Anchor节点链接HTML文件,HTML文件通过<Script>标记链接VRML场景,在HTML文件的<Script>标记中应用脚本语言编程,得到浏览器接口提供的对象,生成实例,利用该对象所提供的控制方法控制VRML场景从而实时动态地与VRML场景之间实现交互[6].VRML和JAVA的结合是网络虚拟现实技术是一项新型的技术,在构建教学平台上有广阔的应用前景.通过VRML建立创建一个虚拟场景以达到现实中的效果,给人以真实感、归属感,从而大大激发学生的学习兴趣和效率,而JAVA语言的介入可以很好地实现人与环境的统一.如何进一步提高系统的交互性、协同性和适用性,将是下一步研究的方向.【相关文献】[1]王文静.理解实践:活动与情境的观点[J].全球教育展望,2001(5):12-14.[2]段新昱.虚拟现实基础VRML编程[M].北京:高等教育出版社,2004.[3]杨宗凯,吴砥,刘清堂.网络教育标准与技术[M].北京:清华大学出版社,2003.[4] Gossweiler R,Robert J L,Ketal M.An introductory tutorial for developing multiuse virtual environments[J].Presence,1994,3(4):255-264.[5] Schmid C.Remote laboratory using virtual reality on the Web[J].Simulation,1999(3):18-19.[6]陆昌辉.使用VRML与JAVA创建网络虚拟环境[M].北京:北京大学出版社,2003.。
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在远程教育方面的普及和应用做了有益的探索.。
基于VRML和JAVA的计算机图形学课堂教学中三维可视化算法与实现
基于VRML和JAVA的计算机图形学课堂教学中三维可视化算法与实现吴瑰;陶俊【期刊名称】《湖北成人教育学院学报》【年(卷),期】2011(017)005【摘要】In computer graphics education, many concepts are hard to teach using traditional classroom tools. Therefore we are building a system that will be used in our second year computer graphics course to aid the lecturer in explaining the working of a number of fundamental algorithms. This paper describes how VRML and Java arc used to create applets with interactive 3 D models to visualize these algorithms. Our system structure is described, as well as an elaborate example.%在计算机图形学教学中,许多概念使用传统的教学工具很难教授。
因此,本文建立了一个三维可视化系统,将该系统运用于计算机图形学课程的课堂教学中,帮助老师讲解许多基础的图形学算法的工作。
本文描述了如何使用VRML和JAVA创建applet程序和3D模型,使得计算机图形学中比较难以理解的算法可视化。
文中描述了系统结构和算法分析,最后实验例子说明系统的有效性和实用性。
【总页数】4页(P140-143)【作者】吴瑰;陶俊【作者单位】长江职业学院经济管理学院,湖北武汉430056;江汉大学数学与计算机科学学院,湖北武汉430056【正文语种】中文【中图分类】G642.1【相关文献】1.基于VRML-Java的水轮发电机组虚拟安装的实现 [J], 刘建国;米晓辉;王利英2.基于VRML和Java的虚拟装配复杂控制的实现 [J], 张本生;刘海光;黄波3.基于VRML和Java实现虚拟仿真系统 [J], 刘璇4.基于VRML和JavaScript的数码摄影虚拟实验系统的设计与实现 [J], 孙永丽5.基于VRML和JAVA的虚拟校园漫游导航系统的设计和实现 [J], 张凯因版权原因,仅展示原文概要,查看原文内容请购买。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Abstract—VRML( The virtual reality modeling language) is a standard language used to build up 3D virtualized models. The quick development of internet technology and computer manipulation has promoted the commercialization of reality virtualization. VRML, thereof, is expected to be the most effective framework of building up virtual reality. This article has studied plans to build virtualized scenes based on the technology of virtual reality and Java programe, and introduced how to execute real-time data transactions of VRML file and Java programe by applying Script Node, in doing so we have the VRML interactivity being strengthened. Keywords—VRML; Java; Virtual scene; Script.I.I NTRODUCTIONITH the development of computer,virtual realitytechnology has involved a wide range of sectors. The virtual reality modeling language (VRML), a text language used to quickly build virtual worlds incorporating 3D shapes, light sources, fog, animation, and even sound effects. Each virtual world is described by one or more VRML world files named with a.wrl filename extension and delivered across the Web with the “model/world” multipurpose Internet mail extension (MIME) type.]1[II.T HE B UILDING U P OF B ASIC M ODELS OF V IRTUALIZEDS CENEWe are developing virtualized scenes with an internet background; therefore, VRML is favored to build up 3D models. VRML files describe scenes in the form of ACSII text as what HTML does. This feature guarantees its universal adaptability to various platforms and smooth transaction of data, so it is conveniently utilized to virtualize reality on the internet. The building up of construction models is one important part of3D visualization, whereas the basic geometry modes are the foundation of VRML that nearly any complicated scene can not be realized without them. As for real objects, the basic elements are shape, texture and outlook. In VRML, the most important node to build models is Shape, with which VRML creates and controls modeling shape, texture and outlook. According to different outlook characteristics of constructions in the scene, we mainly apply the following modeling methods and their combinations.(1) Box Node MethodAs value of geometry field on node Shape, Box is the basic modeling node of VRML with the following forms of expression:Authors are with the School of Computer Technology and Automation, Tianjin Polytechnic University, Tianjin, 300160, China. Shape{appearance Appearance{ }Box{Size {length height width}}This method is featured by its quickness and low required of data amount; it is fit for the situation of modeling regular shaped and simply structured constructions.(2) Coordinate Node MethodThe basic models are the most popularly used in building up scenes, but in the reality, objects are not always of regular shapes. Those scenes made by the basic models can not truly reflect reality. Although sometimes we may combine the basic geometric models together instead, which will overload us eventually. Coordinate node is to solve this problem by defining the point, line, and surface in the virtualized scenes. The following is its form of expression:Coordinate {point [ ]}In the expression, “Point” designates one or a group of x、y、z coordinate system. It is Multi-domain 3D vector of values, which means to list up a 3D coordinate system.(3) Extrusion Node Method ]2[Extrusion modeling includes the following elements: Lofting graphics、Lofting Path、Lofting direction. The nature of this method is to press lofting graphics toward lofting direction. By way of lofting Path in order to cause scale and thereby to make up a complicated special object; the cross-cut dimension of the scaled object is similar to the lofting graphics. Together with Box node, Extrusion node is used in geometry field of Shape node. The form of expression of Extrusion node is:Extrusion{#field MFVec2f crossSection[1.0 1.01.0-1.0-1.0 -1.0-1.0 -1.01.0 1.0]#field MFVec2f spine[0.00.0 0.00.0 1.0 0.0]#field MFVec2f scale 1.0 1.0#field MFRotation orientation 0.0 0.0 1.0 0.0#field SFBool beginCap TRUE#field SFBool endCap TRUE#field SFBool ccw TRUE#field SFBool solid TRUE#field SFBool convex TRUE#field SFFloat creaseAngle 0.0Virtual Scene based on VRML and JavaHui-jun Ren, and Da-kun ZHangW#eventIn MFVec3f set_spine#eventIn MFVec2f set_ crossSection#eventIn MFVec2f set_ scale#eventIn MFRotation set_ orientation}III.S ETTING U P OF V IRTUALIZED M ODELS O UTLOOKIn order to get super realistic effects of virtualized images, we can use different textures and also texture mapping. Texture mapping is a bitmap used to improve the quality of rendering by sticking shapes to certain modeling surface without changing geometrical shape or adding polygons. This method can be applied in modeling outer wall, floor and grassland, etc.VRML supports such image modes as jpeg image mode, gif image mode, png image mode and mpeg video mode.Texture mapping shapes images onto the surface of models via texture field. Texture is one field of Appearance node, its field value is Single-node domain values. Three textures can be finished under texture background: ImageTexture{#exposedField MFSring url [ ]#field SFBool repeatS TRUE#field SFBool repeatT TRUE}PixelTexture{#exposedField SFImagel image 0 0 0 #field SFBool repeatS TRUE#field SFBool repeatT TRUE}MovieTexture{#exposedField SFBool loop FALSE#exposedField SFFloat speed 1.0#exposedField SFTime startTime 0#exposedField SFTime stopTime 0#exposedField MFString url [ ]#field SFBool repeatS TRUE#field SFBool repeatT TRUE#eventOut SFTime duration_changed #eventOut SFBool isActive}TABLE IT HE C OMMON R ESULT OF S TART TIME S TOP TIME S PEED AND L OOPLoop domainvaluesThe relation of startTime stopTime speed and loop Result TRUE stopTime≤startTime No loopTRUE startTime<stopTime Stop at the stopTime FALSH stopTime≤startTime Broadcast one cycle FALSH startTime<(startTime+duration/speed)≤stopTime Broadcast one cycleFALSH startTime<stopTime< (startTime+duration/speed) Stop at the stopTime butis not a cycleIV.E STABLISHING OF E NVIRONMENT OF V IRTUALIZEDS CENEGenerally, scenes are set up with no background except supplied by the screen, whose “headlight” only adds rigid background color and lacks of enough light resource. Obviously this background can not create a vivid scene nor fully meet the needs of reality.In the case of VRML, Background Node is the tool to create backgrounds that is more vivid and supportive in viewing screen scenes.Background {#exposedField MFColor groundColor [ ]#exposedField MFFloat groundAngle [ ]#exposedField MFColor skyColor [0 0 0 ]#exposedField MFFloat skyAngle [ ]#exposedString MFColor frontUrl “ ”#exposedString MFColor backUrl “ ”#exposedString MFColor rightUrl “ ”#exposedString MFColor leftUrl “ ”#exposedString MFColor topUrl “ ”#exposedString MFColor bottomUrl “ ”}Being similar to the real world, VRML has different types of light source nodes: point light source, parallel light source and aggregation light source. These light sources have different application environment according to their lighting effect, so we are supposed to choose the one that fits the requirement most.V.A NIMATION E FFECT OF V IRTUALIZED O BJECT Scenes we see most oftenly are static, actually we see the contrary in the real world. Therefore, we need to vary the shapes, colors and relative location of images virtualized in our virtualized environment. This calls for the animation effect which can reflect those dynamic changes. In designing this animation, time test sensor node controls the time of movement, Insert node (which defines the states and outlook of models) controls state of movement and outlook movement along with the passage of time.TimeSensor{#eventOut SFBool isActive#eventOut SFTime time#eventOut SFTime cycleTime#eventOut SFFloat fraction_changed#exposedField SFTime cycleInterval 1.0#exposedField SFBool enabled TRUE#exposedField SFTime startTime 0#exposedField SFTime stopTime 0#exposedField SFBool loop FALSH}Use the basic modeling nodes and texture nodes to build a virtual scene, as shown in Fig. 1:Fig. 1 A virtual sceneVI.I MPLEMENTATION OF I NTERACTIVE F UNCTION OFV IRTUALIZED O BJECTSFor a VRML scene, even though it is vivid to use animation effect, viewers take in message passively. It would be better for viewers being able to control scenes. As a programming language characterized by hardware and software being unrelated, Java complemented VRML. The former is for programe designing in internet environment whereas the latter is for building virtualized reality. As VRML is not strong in its interactivity, Java complemented VRML by way of using Script node which connects VRML with Java within VRML environment.(1)Send the case to Script Node as manuscript through EventIn.(2)Manipulate the manuscript with corresponding Java procedure.(3)Send back the manipulation outcome to VRML envirnonment by EventOutand finally animation or interactivity is completed.Nowaday this method is most commonly used to to realize interactivity by joining VRML and Java together.]3[In VRML, field、EventIn、EventOut of Script Node are all available for their corresponding Script category in Java, but access to three of them are different: Field can be both read and written, eventOut is write only, eventIn is read only. There are three accesses to the Field、eventIn and eventOut of Script node:getField(String fieldName):Reture to a Script node field named fieldName,then VRML field is shifted to Java field. getEventIn(String eventlnName):Return to Script node EventIn named EventInName, then VRML eventIn is shifted to Java eventIn.getEventOut(String eventOutName):Return to Script Node EventOut named EventInName, then VRML eventIn is shifted to Java eventOut.Once you have get other nodes (this node can be available only if it is one Field of Script Node) in VRML in the way we have introduced above, then any eventIn and eventOut of this node are permitted to be visited by Java procedure. The following are the ways to complement this via certain nodes in Java:For a VRML scene, even though it is vivid to use animation effect, viewers take in message passively. It would be better for viewers being able to control scenes. As a programming language characterized by hardware and software being unrelated, Java complemented VRML. The former is for program designing in internet environment whereas the latter is for building virtualized reality. As VRML is not strong in its interactivity, Java complemented VRML by way of using script Node which connects VRML with Java within VRML environment.(1)Send the case to Script Node as manuscript through EventIn.(2)Manipulate the manuscript with corresponding Java procedure.(3)Send back the manipulation outcome to VRML envirnonment by EventOutand finally animation or interactivity is completed.Nowaday this method is most commonly used to realize interactivity by joining VRML and Java together.]3[In VRML, field、EventIn、EventOut of Script node are all available for their corresponding Script category in Java, but access to three of them are different: Field can be both read and written, eventOut is write only, eventIn is read only. There are three accesses to the Field、eventIn and eventOut of Script node:getField(String fieldName):Return to a Script node field named fieldName, then VRML field is shifted to Java field. getEventIn(String eventlnName):Return to Script Node EventIn named EventInName, then VRML eventIn is shifted to Java eventIn.getEventOut(String eventOutName):Return to Script node EventOut named EventInName, then VRML eventIn is shifted to Java eventOut.Once you have get other nodes (this node can be available only if it is one Field of Script node) in VRML in the way we have introduced above, then any eventIn and eventOut of this node are permitted to be visited by Java procedure. Thefollowing are the ways to complement this via certain nodes in Java:getEventIn(String eventInName):Return to a eventIn named eventInName of this node.getEventOut(String eventOutName):Return to a eventOut named eventOutName of this node.getExposedField(string fieldName):Return to a exposedField named fieldName of this node.The field value will be manipulated in Java and rewritten in the original VRML scene only when the data is writable (For reference, see Reference Books ]4[).This can be done by the following ways:setValue(value):converse Java type value to the corresponding VRML type value, and set it up in VRML. setlValue(int index ,value):converse Java type value to the corresponding VRML type value, and set it up to be an element numbered index( the first element is numbered 0)addVahe(value):converse Java type value to the corresponding VRML type value, which is to be added behind the last element.insertValue(int index ,value):converse Java type value to the corresponding VRML type value, which is to be inserted into the element numbered index.delete(int index):Delete value of the element numbered index of the targeted object.clear():Erase all elements of the targeted object. Notice: Methods of set1Value()、addValue()、insertValue()、delete()and clear() are only valid for the multiple value fields (i.e. MF type).Implementation of interactive function of virtualized object, as shown in Fig. 2:Fig. 2 Java control the door open or closeVII. C ONCLUSIONThis article elaborates the key process of using VRML as a tool to build virtualized scenes and the varied methods to interact VRML and Java. VRML turns the internet to be a real broad 3D space with its strong capability to construct 3D models and its interactivity. In spite of its limitation, VRML keeps developing by involving technologies of Java3D and XML in the new product of X3D, which backs up the latest streaming and rendering technology. Therefore, VRML has become the mainstream of 3D world and shows great prospects of further application.R EFERENCES[1] Nadeau,David R.(San Diego Supercomputer Cent) 《Building virtualworlds with VRML 》.Source: IEEE Computer Graphics and Applications, v 19, n 2, Mar-Apr,1999, p 18-29.[2] Jjian-hua Wan,Hong-xia ZHeng,Hui Jin,CHang Feng.《3D landscapesmodeling in the virtual campus based on VRML 》.Computer Applications and Software Vo1.21,No.7July 2004.[3] Hong-zhen Xu,Shu-min ZHou,Tang Bin.《Interaction and ItsApplication of VRML and Java 》 Computer and Modernization No.11 2003.[4] LSO /IEC 14772—1:1997,VRML97 International Standard[S] [5] Xiao-qiang Hu.《Thetechnology and its application Of Virtual reality 》.Beijing: Higher Education Press, May 2004HuiJun Ren received Bachelor degree in Computer application technology in Tianjin Polytechnic University in China. Now she is studying towards Master degree in Computer application technology in Tianjin Polytechnic University in China. Her interest is in the field of Virtual reality.DaKun Zhang is an professor of Computer Technology and Automation of Tianjin Polytechnic University. Her research direction is portfolio algorithm design ﹑virtual reality technology and geographic information system.。