2006年第12期 福建 电脑 135 基于虚拟现实技术的电子商场 张凤君,尹健慧,王成喜 (北华大学计算机学院 吉林吉林132021) 【摘要】:本文论述由虚拟现实技术建构出的虚拟购物商场以压基于虚拟现实技术和Java编程技术实现虚拟电子商 场的方案,深入探索了利用EAI接口实现VRML文件与Java程序进行实时数据变换的方法。 【关键词】:虚拟现实,电子商务,虚拟商场,虚拟现实建模语言,JavaApplet,EAI 1.引言 虚拟购物商场的建立不同与一般的虚拟城市和虚拟漫游校 园,虚拟城市和虚拟校园的建立.主要是建立外部场景,主要实 现街道,树木和建筑物的建模和设计上。如果采用VRML语言。 则需要较多阵列的使用。在虚拟环境内.基本实现身临其境的漫 游目的。不同是。在虚拟购物商场的建立上。主要实现内部场景 的建立上,而且实现各类商品的仿真浏览和演示,最熏要的实现 在线支付。真正实现鼠标和设备化为无形【l】。 2.虚拟现实与VRML 虚拟现实(Virtual Reality),简称VR,即利用计算机的高科技 手段构造出一个虚拟世界.使参与者获得与现实一样的感觉。虚 拟现实是一个在当今国际上倍受关注的课题 虚拟现实模型语 言(VRML)是Intemet上基于WEB的具有交互性的语言.它使 用VRML浏览器能读懂ASCII文本格式描述的世界和链接。 vRML提供了6+1度的自由,可以沿着三个方向移动.也可以沿 着三个方向旋转,同时还_I1J以建立与其他3D空问的超链接。在 X3D网络三维标准下,VRML将结合JAVA 3D和XML等技术, 成为Interact上三维虚拟世界的主要标准12- 13.实现电子商场过程中3DS MAX与VRML的使用 VRML与HTML类似,是一种描述语言.如果采用纯文本进 行编辑则需要大量的时间。因此使用V— ad是必不可少的 但 是采用VrmlPad工具进行场景的建立和各种商品的模型仿真是 不可取的 用VRML建立复杂三维模型是相当繁难的.而且毫无 直观性司言.而3D Studio MAX因其强大的三维建模和动画制作 功能恰好可以弥补VRML这方面的不足 为了更好地、更全面 地支持VRML 2.0.3D Studio MAX还提供了VRML 2.0 Helpers以帮助建立VRML世界.它包含了几乎全部的VRML特 有造型.极大地方便了VRML世界的建立l3】 因此采用3DS MAX 等开发工具的前期辅助是十分必要的 4.实现电子商场过程中虚拟现实技术与Java的结合 4.1 VRML与Java进行消息传递的接口EAIc4} EAI是通过创建一个Java小程序.并与相应的VRML场景 一同嵌入Web页面中.利用Java小程序和VRML浏览器插件 互相通信.从而实现外部程序对VRML虚拟场景的控制。 4.2 EAI对VRML场景访问的方式 f11访问浏览器脚本BSl(Browser Script Interface)接13函数。 通过BSI,EAI能查询浏览器的状态,VRML场景文件中的路由 能被动态地增加或删除.新的节点能够被创建 f21通过事件输入接口eventIn向场景中的节点发送事件 一旦在外部环境中创建了节点的引用.EAI就能把事件送往相 应节点的相应事件输入接13 f31读取场景中的节点输出接13 eventOut输出的最新值 对 于在外部环境中的一个引用节点.它的任何输出接口都能被外 部环境所读取 :放读取的值是eventOut的最新值.或者当没有事 件输出时. 这个值是输出接口的默认值 f41通过场景节点输出接13的输出事件向它发出的通报。当 给定的输出接口发生改变时.外部环境能注册接收这一事件发 生的通报。注册请求是向包含此输出接口的节点发出的 在注册 过程中外部环境提供一个随事件产生的值一同返回的标记.这 个标记能够在几个事件同时发生的情况下.被外部环境用来唯 一标识相应的事件。这个事件机制实际上类似于Java中的观察 者(Observer)机制。在Java中,接口Observer中的updatef...)方法 时刻监视它所观察的对象的行为。而在EAI中.是通过 rml, Externa1.ifeld.EventOutObserver接口中的callBackf.-・1方法来实 现对VRML场景中的对象进行监视。Java对EAI的绑定是通过 以下3个包实现的: ・vrm1.extema1:为节点和浏览器接口提供基础类: ・vrml,extema1.exception:提供各种异常类: ・vrm1.extema1.field:提供访问场景节点的域所需的类f即事 件类和事件监听接口。 值得一提的是.使用EAI对VRML场景进行交互控制. Browser类是很重要的一个类。Browser类派生于IBrowser接口. 该类封装了VRML场景,并提供了getNodef-_.)方法用来直接获 得对节点对象的引用而不需要直接访问在VRML场景中使用 DEF关键字定义Script节点 获得节点对象后就可以通过 getEventln,getE.ventOut方法获得事件输入、输出的实例,改变事 件输入值相当于改变VRML场景 EAI与VRML之问的事件传 递机制如下所述:EAI的事件包括Eventln(人事件1、EventOutf出 事件),以及exposedField(外露域1的一对隐含的事件人El (set_xxx) ̄11事件出口(xxx_changed)。事件为节点提供了接受外界 (如Java Applet) ̄息和向外界发送消息的能力。通过事件.可以 动 态地改变虚拟场景的状态。EAI允许一个Java APPlet程序 主要以下列3种方法访问 VRML场景中的节点: 1)发送一个事件到VRML场景中的事件入口: 2)接受VRML场景的节点的事件出门发出的最新值: 3)当VRML场景中节点的事件出门发出一个消息后.Applet 能得到一个通知,激活catlBae kf'..)方法。 EAI的事件驱动原理. 5.结论 本文旨在探讨利用3DS MAX进行场景的建模.然后将其导 入到VRMLPAD中.使用VRML与JAVA技术结合建立虚拟现 实电子商场。重点论述了使用JAVA技术的原因和EAI接口的 使用方法 参考文献: 1.何柬坤,徐渊虚拟现实建模语言VRML厦其应用I『1杭州师范学院 学报2005.4(2):157—160 2.黄文丽卢碧红杨志刚等VKML语言八门与应用fM1北京中国铁道 出版社2003.卜6 3.罗冠利用3D Studio MAX为VR2vlL建立虚拟现实世界m电子技术 应用1999.2(5):208-210 4.汪兴谦.VR.ML与1ava嫡程实例详解.北京:中国水利电力出版社. 2O02.180-211
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- jqkq.cn 版权所有 赣ICP备2024042794号-4
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务