首页|行业资讯|企业名录|周边产品|数字城市|增强现实|工业仿真|解决方案|虚拟医疗|行业仿真|图形处理|军事战场
资讯首页
行业资讯 >> 学习教程>>正文
VRML2.0教程3:组织场景中的对象
2012年4月10日    评论:    分享:

    来源:第三维度
    作者:施寅,周葆芳,赵志勇

    选自《VRML2.0使用速成》第四章第二节

     组织场景中的对象

    当你不断地往场景中添加对象时, 可能会想到把相关的一些对象组合在一起。比如,场景中有一些小物体共同组成了一个大的物体, 在做移动或别的变换时它们都是一起进行的, 这样就应该把它们放在同一个Transform 组节点中。下面是一个包含两个组节点的简单VRML 文件。

    [例1 ] 组节点。

    # VRML V2 .0 utf8 Viewpoint { position 0 5 10 }
    Transform {
    translation 0 5 0 rotation 1 0 0 .8
    children [
        Inline {
        url "brazier .wrl" bboxCenter 0 0 0
        bboxSize 3 .14 3 .13 3 .12
        },
        Transform {
        translation 0 1 .5 0
        children [
            Inline {
            url "coals .wrl"
            bboxCenter - .15 - .19 .135 bboxSize .84 .46 .61
            }
        ]
        }
    ]
    }

    为了有较好的可读性, 子节点都采用缩进格式列出, 这样就很容易看出左边的父节点与进行了缩进的子节点间的层次关系。计算机将忽略这些空白。实际上, 有的服务器在传输用户所请求的VRML 文件时会自动删掉不必要的空白字符。但对于人来说, 保留空白是很有好处的。图1显示的是描述火盆的场景框图。

VRML2.0教程3:组织场景中的对象
图1 分组层次结构的场景框图

    1 . 作用范围

    Transform 节点对包含它内部的所有节点都会产生影响。如果一个Transform 节点包含了一个Transform 节点, 那么它们是一种嵌套关系, 父节点将对其所有的子、孙节点都产生作用。基本规则是: Transform 节点的变换域指定的变换将作用于其大括号内的所有对象, 一旦走出大括号外, 它的影响也就没有了。

    图2 是一个用嵌套框来表示Transform 节点作用范围的VRML 文件的示意图。每个Transform 节点仅其本框内的其它节点产生影响。

VRML2.0教程3:组织场景中的对象
图2Transform 节点的范围

    2 . 变换的累加

    当Transform 节点互相嵌套时, 它们的变换会产生累加效果。在图4.7 中coals ( 木炭) 既被Tronsform1 的变换又被Tronsform2 的变换施加作用, 而brazier ( 火盆) 则只受Tronsform1 的变换的影响。

    各个变换的作用顺序是很重要的。要看到嵌套变换的效果, 你首先用到的是物体自己的变换节点, 这个变换把你置身于物体的局部坐标系中。接下来如果这个物体有父节点, 就让父节点的变换产生作用。如果这个父节点还有自己的父节点就再使用其变换节点, 以此类推, 直到让最外层父节点的变换节点对此物体产生了作用为止。至此, 这个从物体的变换开始, 包括所有父节点的累加结果( 从数学上讲, 就是一系列变换矩阵的连乘结果) , 这样就让你进入了这个物体所在的世界坐标系。在前面的例子中, coals( 木炭) 的世界坐标系是Transform2 和Transform1 累加的结果。

    应当注意的是, 同一层次上的变换节点( 按我们的分类方法, 它们是兄弟关系) 互相并不产生影响, 兄弟变换节点形成的是堆积式作用框而不是嵌套式作用框。

标签:VRML
上一篇:VRML2.0教程2:内联节点使用外部资源
下一篇:VRML2.0教程4:观察场景
网友评论:VRML2.0教程3:组织场景中的对象
评论
留名: 验证码:
您可能还需要关注一下内容:
·基于VRML与Java3D的交互式虚拟物流仿真系统
·VRML2.0教程7:不规则几何节点
·VRML2.0教程6:简单几何节点
·VRML2.0教程5:变换节点
·基于VRML—JAVA的机器人运动仿真研究
·基于VRML的虚拟园林设计要素构建
·基于VRML的虚拟综合布线系统
·VRML2.0教程4:观察场景
·VRML2.0教程3:组织场景中的对象
·VRML2.0教程2:内联节点使用外部资源
☏ 推荐产品

Ladybug5全景
商家:力方国际

ProJet®
商家:力方国际

ProJet®
商家:视科创新

Premium1.5
商家:视科创新

巴可HDX主动立体投
商家:德浩科视

巴可HDF-W26投
商家:德浩科视

巴可30000流明2
商家:德浩科视

巴可4万流明2K投影
商家:德浩科视
☞ 外设导航
☏ 企业名录
【广州】中科院广州电子技术有限公司
【北京】第二空间(北京)科技有限公司
【北京】幻维世界(北京)网络科技有限公司
【厦门】厦门惠拓动漫科技有限公司
【厦门】厦门幻眼信息科技有限公司
【深圳】深圳南方百捷文化传播有限公司
【北京】北京思源科安信息技术有限公司
【上海】上海殊未信息科技有限公司
【北京】北京赢康科技开发有限公司
【武汉】武汉科码软件有限公司
友情链接 关于本站 咨询策划 行业推广 广告服务 免责声明 网站建设 联系我们 融资计划
北京第三维度科技有限公司 版权所有 京ICP备09001338
2008-2016 Beijing The third dimension Inc. All Rights Reserved.
Tel:010-57255801 Mob:13371637112(24小时)
Email:d3dweb@163.com  QQ:496466882
扫一扫 第三维度
官方微信号