基于VRML与JavaScript三维模型的交互设计_第1页
基于VRML与JavaScript三维模型的交互设计_第2页
基于VRML与JavaScript三维模型的交互设计_第3页
基于VRML与JavaScript三维模型的交互设计_第4页
基于VRML与JavaScript三维模型的交互设计_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

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

文档简介

基于VRML与JavaScript三维模型的交互设计胡慧芸牛敏(华南理工大学机械与汽车工程学院,广东广州510640)[摘要】介绍了VRA4L技术在三维模型交互设计的应用,分析了VKML-与JavaScript相结合的可控性效果。从而使三维模型可进行动态观察。并与用户产生交互。以一品牌冰箱为例,利用3dmax创建模型,结合啪l中的TouchSens节点和JavaScript脚本来实现对冰箱模型的交互。[关键词]VILML;JavaScript;交互设计;三维模型品三维模型,从而形成一个虚拟环境,并通过VRML中的l。引言传统的三维模型展示仅仅限于360度动态观察,缺少与用户的交互,而利用VRML技术创建的三维模型的交互设计以其高度的真实感的优势呈现在广大用户面前,同时具有强大的交互功能,使得用户不仅可以从各个不同的角度观察三维模型,还可以对模型进行交互性操作。这样的三维模型展示给予了用户了解模型的更好、更形象的途径。2.VRML综述VRML,即虚拟现实建模语言,英文全称为:VirtualRealityModelingTouchSensor和Script节点来实现对产品功能的模拟,最后发布到网络上,用户们即可在网上随意观察产品,并试用其基本功能。3.VRML在三维模型交互设计中的具体应用3.1三维模型的创建VRML中的Shape模型节点包含了三维立体几何节点、绘图节点以及外观节点,利用这些节点可以创建出原始的物体造型,也可以创建出复杂空间物体造型。纹理映射节点还可以赋予造型材质贴图装饰。但是利用VRML建模存在一些缺陷,一方面在VRML创建的模型比较租燥,不能满足用户对高精度模型的要求;另一方,VRML是一种建模语言,因此必须先便写好程序,运行后才可观看模型,这给同步建模(即在建模过程当中同时观察模型)带来很大的不便。3DLanguage,是一种三维造型和渲染的图形描述语言,可用来在网络上创建逼真的三维虚拟场景,它改变了网络上2D画面状态,并能实现3D动画效果,特别是改变当前网络与用户交互的局限性,使得人机交互更加方便、灵活,使虚拟世界的真实性、交互性和动态性得到了更充分的体现。VRML语言是由节点、事件、场景、原型、脚本及路由等组成。其中节点是VRML文件中最基本的组成要素,一共包含7种类型节点,它们分别是:Shape模型节点;纹理影射节点;群节点;环境、影音与视点导航效果节点:’规范化接口节点;动态交互感知节点;创建新的VRML节点;而本文则重点利用touchSensor节点和Script节点的功能来实现产品的交互性。(1)TouchSensor节点,即触摸传感器节点,使浏览者与虚拟对象之间相接触型传感器节点,该节点创建了一个检测用户动作并将其转化后输出,以触发一个动画的检测器。(2)Script节点,VRML主要通过Script脚本节点和Java语言接口与外部联系,同时也可以利用Script编程来实现一些简单的交互,如小球的滑动,天空飞翔的飞机等。设计者正是利用了VRML的这些优点,创建逼真的产MAX创建的模型精度高,在材质和贴图等方面都远胜ⅥiMI,,同时3DMAX文件还可以转化成.wrl文件导入VRML当中,因此,可以利用3DMAX建立高精度的模型。如图l所示3DMAX创建的冰箱导入vrml后的模型。在创建过程中,注意到,因模型是在网络上进行浏览操作,会受到宽带和传输速率的制约,因此大量的模型数据不利于网络传输。所以在保证精度的基础上,尽量采用最简单的模型,如采用M『liRS建模。由于冰箱的门与灯光在VRML中需要经过编程以便用户对它进行交互操作,所以门模型需要单独建立,最后再与冰箱模型组合。围13.23DggX创建的冰箱模型VRML与JavaScript的交互设计在三维模型中,利用VRML中的TouchSensor和Script作者简介:胡慧芸。女,广西贵港人,硕士,研究方向:计算机图形学、计算机辅助设计。一60~万方数据节点来实现用户与模型之间的交互。Script节点是基于事件处理来控制场景中的动作的。由VRML提供三维产品造型,并利用TouchSensor触摸传感器节点来产生触发事件,导入到Script节点的入事件接口(Event[n),而Script节点有着相应的接口变量,经过编程对VRML创建的模型对象进行读写操作或从EventOut(事件)发送事件,再通过路由控制模型对象的节点,从而达到交互的效果。三维模型交互的工作原理如图2所示。@一⑧⑧_④t◆图2三维模型交互工作原理本例的冰箱模型,设计的交互动画主要体现在控制开门与箱内灯光,而开门的交互实现,即箱门绕着某一轴旋转90度,这可通过TouchSensor节点来控制箱门的旋转角度。在创建冰箱模型时,箱门分为上箱门和下箱门,每个箱门都由一个门,一个门把以及内架组成,可以把这三部分模型组合起来,分别命名为:upgatc和downgate,以便于整体进行旋转移动。在上箱门交互设计过程中,给上箱门upgate创建建立TouchSensor传感器,产生触发事件,并且对应着一个Script脚本中的一个旋转移动函数scrl,用以实现触发事件后的效果。对于冰箱开门交互,当点击上箱门时开门,再次点击时关门,因此,需要在此函数scrl中设置触发事件的判断布尔变量enable,并且赋予初始值为FALSE。当开门时,判断enable为非真,然后改变其变量值为TRUE。此时主要是实现改变上箱f-jupgate绕Y轴旋转的角度,因此,需要设置上箱门旋转后的角度,用向量组rotatel表示,并且把它设置成出事件,它指定了~个旋转轴和旋转角度,即xl,y1,zl,ol,其中xl、y1、zl代表x轴、Y轴、z轴方向,ol代表旋转角度。而本系统的冰箱门是绕Y轴旋转90度,因此,分别赋予它们的初始值为:xl=0;yl=l;zl=O;01=1.571,最后把xl、yl、Zl、ol的值赋给向量组rotatel组即可。当关门时,判断enable为真,然后改变其变量值为FALSE。此时主要是实现改变上箱门upgate绕Y轴旋转0度,因此,旋转轴与旋转角度的值为:xl=O;yl=l;zl=0;oi=0,最后把x1、yl、zl、01的值赋给向量组rotatel组即可。接着设置旋转后的坐标位移向量组movl,并且把它设置成出事件,它指定了父坐标系的原点与新坐标系的原点之间X、Y、z方向上的距离。上箱门旋转后需要移动的位移只在X轴和Z轴发生了变化,在X轴上的位移等于上箱门模型的长的一半,在z轴上的位移等于上箱门模型长的一半,而Y轴上的位移不变。赋予x。、y。、Z,的初始值为:万方数据xl=xo+L1/2;YCYo;zl=zo+Ll/2;然后把x。、Y。、Z。的值赋给向量组movl组即可。当关门时,上箱门回到原来的位置,x。、y。、z,的值并不发生变化,其值为:xt=xo+L1/2;Y12yo;z1=zo+L1/2;最后,通过路径,把TouchSensor触摸传感器节点的触发时间变量touchTime传给函数scrl的入事件touchl,再把函数scrl的出事件rotatel和movl传给上箱门模型up-gate,就可实现开门的交互。同理,冰箱下箱门的开门动画亦可使用同样的方法实现其交互设计。最后的效果如图3所示。图3冰箱模型开门交互流程效果图对于箱内灯光,在箱体内创建一个泛光灯Omni01,并设置它的变量On值为FALSE,用以表示灯光为关闭状态,如果该值TRUE,则表示灯光为打开状态。另外,在冰箱侧面上创建一个开关按钮kai,并为它创建一个TouchScasor传感器,产生触发事件,并且对应着一个Script脚本中的一个开关函数scr3,用以控制泛灯光Omni01的变量Oil的值,以实现灯光的开关。对于冰箱灯光交互,当点击开关按钮时灯光开,再次点击时灯光关,因此,需要在此函数scr3中设置触发事件的判断布尔变量enable,并且赋予初始值为FALSE。当开灯时,判断enable为非真,然后改变其变量值为TRUE。此时,同样设置一个布尔变量open,并设置为出事件,其值为TRUE,用来赋给泛灯关的变量Oll,表示灯光打开,当关灯时,判断enable为真,然后改变其变量值为FALSE,此时,open的值为FALSE,表示灯光关闭。最后,通过路径,把TouchSemor触摸传感器节点的触发时间变量TouchTime传给函数scr3的入事件touch3,再把函数scr2的出事件open传给泛灯光的变量Otl,即可实现灯光的交互,其效果如图4所示。图4冰箱模型灯光交互流程效果图(下转第64页)一6l一对象作进一步处理,在此不再一~赘述。实际操作中具体选用何种方法进行提取是很多初学者感到疑惑的,原因在于对不同提取方法的技巧要点和适用范围没有充分理解。一般情况下,可遵循以下原则:(1)选区工具适合提取具有规则几何形状的对象(2)套索工具适合提取颜色反差大边缘明显的对象。(3)图像和背景色色差明显,背景色单一而图像边界清晰时可考虑借助颜色范围选取工具。(4)路径以矢量图的方式进行精确的线条绘制,适合处理边缘光滑的对象。(5)通道可与蒙版结合使用,很好地处理细节较多的复杂对象。建议正确理解和多掌握几种不同的提取方法,在实际操作中多作总结。积累经验,操作时才能根据图像特点作出合理的选择,兼顾效率与效果,从容应对。在严格要求提取质量的场合,仅仅依靠单一的提取方法往往难以令人满意,采用多种提取技巧进行混合操作也是必要的。若想得到自然的合成图像,设置羽化效果往往也是提取过程中不可缺少的一步。当然,无论具体的要求和操作是什么,提取过程中的耐心细致永远是不可忽略的部分。参考文献:【1】栾昌海,粱国俊。扬志文.Photoshop图像处理与综合实训【M】.北京:她质出版社.2006.【2】李建芳,高史.PhotoshopCS平面设计【M】.北京:清华大学出版社,北京交通大学出版社,2006.【3】思维数码.PhotoshopCS3从入门到精通【Ml。北京:电子工业出版社。2007.AnalysisandComparisonofImageExtractingTechniquesBasedLiJingonPhotoshop【触,螂】Imageeffects.Inthis(Shaaax/UniversityofTechnology,Hanzhong723000,Shanxi)compositionisatechniquecommonlyusedindigitalimageprocessing,whichtoolscanachievesallkindsofspecialpaper,operationsoftypicalextractingtoinPhotoshoptoaleexplainedandacomparativeanalysisoftheirapplicationsismade-Howchooseproperextractingtechniquesaccordingimagefeaturesforobtainingperfectextractingeffectispresentedwithaspecificexample.【r,or,aa●】Photoshop:imageextracting:imagecomposition(上接第6l页)4.结束语利用vrml中的动态触摸传感器节点与场景中的模型进行交互,再通过Script脚本产生触发事件,从而达到对模型的交互设计,这给三维模型展示带来一个全新概念,可以在网络上给用户创造一个更逼真、更人性化的环境,使得它们有着身临其境的感觉。由于模型是单个展示,若把模型放到一个特定场景中,对于只操作模型而不操作场景的方法仍有待研究。参考文献;【l】张全钊,张全镝,张金锐.拟现实三维立体网络程序设计语言vlmm一第二代网络程序设计语言【M】,2004.北京:清隼大学出版社,【2】郑凯文.3DSMAXNURBS曲面建模使用详解与创作实例【M】.北京:人民邮电出版社.1999.【3】KrisJarma,PH.D.,PhilSchmaudcr,NelsonYee.VRML程序员实用倒库【M】.电子工业出版社.2000.【4】丘威,钟志初,张立履.基于Web3D的虚拟场景漫游的设计与实现【J】.截计算机信息,2007(3.3):259-261.VRMLandJavaScript-basedInteractiveDesignfor3.DHuHuiyunNiuModelMin(SouthChinaUniversityofTechnology,Guaagzhou510640,Ca.umgdong)【Ah岫_瞳】ThebetweenpaperintroducestheapplicationofuserCallVRMLininteractivedesignof3-Dmodelandanalyzesthecombinationwiththem.TakingaVRMLusesandJavaScript,sothattheobservethe3-Dmodelandinteractrefrigeratorforexample,it3dmaxtocreateamodelandconnectTouchSensornodeandScriptnodefromVRMLtoachievetheinteractivedesign【墨句嘣lofrefrigeratormodel.VRML;JavaScript;interactivedesign:3qmodel’——64———万方数据基于VRML与JavaScript三维模型的交互设计作者:作者单位:刊名:英文刊名:年,卷(期:胡慧芸,牛敏

温馨提示

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

评论

0/150

提交评论