欢迎来到天天文库
浏览记录
ID:34472748
大小:469.23 KB
页数:7页
时间:2019-03-06
《vrml网络交互性研究及其在石油管道设计中的应用new》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、三三二!//万方数据VRML网络交互性研究及其在石油管道设计中的应用0引言陈树敏,徐迪威(广东省计算中心,广州510033)摘要:以构建石油管道虚拟场景为例,系统分析虚拟现实建模语言(VP,AdL)交互功能及其实现过程,包括VILML的基本交互、VP.ML与JavaScript、VRML与Java的交互。使得VRML具有强大的编程能力,更加灵活、方便地对场景和造型进行交互和控制,同时实现在Web页上对VRML场景进行有效控制。关键词:虚拟现实;交互;VRML;JavaScript;HTML;JavaVRML(VirtualReality
2、ModelingLanguage)f11于1997年12月作为国际标准正式发布.1998年1月正式获得国际标准化组织IS0批准。与其他实现三维场景的技术手段(例如OpenGL、3DSMax)相比,具有语法简单、三维建模功能强大、便于网上发布、良好的交互功能等优点.一经推出,立即受到人们的高度重视[21。在交互性方面,仅依赖于VRML本身还存在很大的局限性.例如物体的非线性运动等。1VRML的基本交互VRML的基本交互.即VRML通过传感器节点、插补器及路由器(Route)进行的交互。VRML使用6种插补器节点(颜色插补器ColorInt
3、erpolator、位置插补器PositionInterpolator、朝向插补器Orientationln.terpolator、标量插补器ScalarInterpolator、坐标插补器CoordinateInterpolator、法向量插补器NormalInterpo.1ator)和8种传感器节点(时间传感器TimeSensor、触摸传感器TouchSensor、平面传感器PlaneSensor、圆柱体传感器CylinderSensor、球体传感器SphereSen.收稿日期:2009—12—17修稿日期:2010一01—15作者
4、简介:陈树敏(1982-),女,硕士,研究方向为虚拟现实sor、接近传感器ProximitySensor、可视传感器Visibili.tySensor、碰撞传感器CollisionSensor),通过路由在各个造型节点和场景环境节点之间传递事件.为浏览者创建一个身临其境、动态、逼真、可以交互沟通的虚拟环境。图l是泵房内的虚拟场景,内有压力计、阀门、泵等一些管道设备。阀门是由TouchSensor、Time.Sensor、OrientationInterpolator等建立而成。阀门的部分代码如下:DEFpanxuanzhuanOrien
5、tationInterpolatorfkey【o0.250.50.751】keyValue【..⋯·]}#keyValue是与key对应的一组旋转关键值DEFshijianTimeSensorfcycleInterval5enabledFALSEloopTRUElDEFfangxiangpanTransform{children[DEFtouchTouchSensor{enabledTRUE}DEFfamenTransform1..⋯.}#阀门造型现代计算机2010.02@万方数据\\、、竺竺】JROUTEtouch.isAetiveT
6、Oshijian.enabledROUTEshijian.fraction_changedTOpanxuanzhuan.set_fractionROUTEpanxuanzhuan.value_changedTOfamen.rotation图1泵房内部的虚拟场景点击阀门不放.ROUTE将TouchSensor的isAc.tive传送给TimeSensOr的enabled。启动时间传感器,并将时间传感器的fraction出事件通过路_changed由ROUTE传送给OrientationInterpolator的人事件setfraction
7、.朝向插补器的出事件value通_changed过路由ROUTE传送给阀门的公共域rotation。阀门旋转,释放鼠标.时间传感器停止工作,阀门静止。2VRML与JavaScdpt交互JavaScript是一种宽松类型的、动态的、解释型的脚本编写语言131.为网页设计人员提供了极大的灵活性,它能够将网页中的文本、图形、声音和动画等各种媒体形式捆绑在一起.形成一个紧密结合的信息源。实现VRML和JavaScript交互的准备工作中.为了使用户能够在网络上实时地控制虚拟场景中的对象.本文选择安装VRML浏览器中的BSContact.因为BS
8、Contact存在许多可交互的函数。例如:setN.odeEventIn(node.field,valuel:向虚拟场景的节点传送数据;document.CC3D.setNodeEventln(node,f
此文档下载收益归作者所有