VRML虚拟场景跳转实现.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
VRML虚拟场景跳转实现   摘要:基于VRML(Virtual Reality Modeling Language)构造复杂三维场景时,通常需要多个场景的组合和链接。如何实现三维场景空间的流畅跳转则十分关键。本文结合实例介绍了利用Anchor组节点实现虚拟场景间跳转的方法,从而有效服务于网络中复杂三维虚拟场景空间的跳转。   关键词:虚拟现实建模语言;虚拟场景;Anchor节点;跳转   中图分类号:TP311文献标识码:A文章编号:1009-3044(2008)14-20891-02      1 引言      虚拟现实建模语言(Virtual Reality Modeling Language,简称VRML)是一种基于WWW的具有一定规范的描述性格式语言。VRML可以快速生成、修饰三维实体对象,并提供强大的交互、动画和编程功能等。对于复杂三维场景的处理中,VRML提供一个锚点(空间链接),即Anchor节点将复杂三维场景链接在一起,从而实现三维场景快速跳转,提高其在网络中针对用户的实时访问、下载和传输性能。      2 Anchor节点      VRML空间链接绑定在三维虚拟空间中的特定造型上,当游览者对带有锚点的造型发生点击事件时,VRML浏览器在Web中提取目的空间场景。VRML中的任何三维造型均可作为锚点造型。Anchor作为节点组,其中的任何一个子节点也可以作为引导到另一个空间的锚点。   2.1 Anchor节点结构   Anchor作为编组节点包括children公共域、description公共域、bBoxSize域、bBoxCenter域和parameter域,具体功能如表1所示。      2.2 Anchor节点事件   Anchor节点具体有2个典型的节点事件:eventOut出事件和eventIn入事件。其中:   (1)eventOut出事件中包含Parameter_Changed域和Description_Changed域,用于传出参数和相关描述的变化;   (2)eventIn入事件是Anchor节点的重要事件,它主要由AddChildren和RemoveChildren组成,它们均为MFNode类型,即多值节点型。AddChildren用于在Anchor节点的Children域的子节点序列中加入指定节点;RemoveChildren用于在Anchor节点的Children域的子节点序列中删除指定的节点。      3 程序举例      3.1 设计思路   首先,创建2个VRML虚拟场景空间S1和S2。虚拟场景空间S1作为第一场场景由游览者首先浏览。然后,在虚拟空间场景S1中创建一个三维空间造型,这里创建一个“门”造型,将此造型作为锚点造型。当浏览者点击“门”的锚点造型时将跳转到虚拟空间场景S2中,从而实现场景间一个完整的跳转过程(原理示意如图1所示)。      3.2 创建虚拟场景空间   3.2.1 虚拟场景空间S1   虚拟场景空间S1中的“门”造型由门和门把手组成。利用Box几何节点构造“门”造型,其三维尺寸为[3.0 6.0 0.2]。利用Sphere几何节点构造“门”把手,其半径为0.2;利用URL域创建链接,链接地址为“S2.wrl”,从而使“门”三维造型成为锚点造型。Description公共域显示关于锚点造型的提示信息。具体代码如下:   #VRML V2.0 utf8   Transform {   children [   # 创建“门”造型   Transform {   children [   Anchor {   url S2.wrl   description Click here go to next space!   children [   # 创建“门”   Shape {   appearance Appearance {   material Material {   ……}   3.2.2 虚拟场景空间S2   虚拟场景空间S2则使用Cylinder节点创建一个圆柱体。由于S2只是虚拟空间场景跳转的延续内容,所以其代码不做详细说明。   3.3 效果验证   利用VrmlPad或文本文档创建2个虚拟场景空间S1和S2,并保存在同一目录下。当游览虚拟场景空间S1.wrl时,点击“门”的三维造型后,即可跳转到S2.wrl虚拟场景空间中,程序运行效果如图2所示(系统中需安装VRML插件)。   同时,虚拟场景空间内部不同观察点的转移和切换是Anchor节点的另一重要应用。对于一个复杂的虚拟空间,通常包含多个三维造型或子空间,当用户游览时会出现“迷失

文档评论(0)

yingzhiguo + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:5243141323000000

1亿VIP精品文档

相关文档