总体导航图
学习指南
主要内容
网页制作软件
    

当前位置: 多媒体应用基础 >> 网络多媒体应用设计>>基本模型

    在这个场景中,红色的立方体位于屏幕的中心,它的中心坐标为{0 0 0 }。若想把它移动一个位置,可以通过为它外套一个 Transform(变换节点)来实现:

Transform {
translation 5 0 0
children [
Shape {
appearance Appearance {
material Material {}
}
geometry Box {}
}
]
}

     在VRML中,Transform节点除了可以引进平移、旋转和缩放变换以外,其作用和Group节点的作用一样。把 Transform 节点的translation域(平移)设置为5 0 0,意味着Transform节点所在的坐标系相对于其上层坐标系向右平移(即x轴方向)5个单位,在其它两个方向不移动,VRML的距离单位是米,5个单位相当于5米。我们第三个场景的完整代码是:

#VRML V2.0 utf8
Group {
children [
Transform {
translation 5 0 0
children [
Shape {
appearance Appearance {
material Material {
diffuseColor 1 0 0
}
}
geometry Box {}
} ] }
]
}

     接下来我们把方块所在的Transform节点复制三份,并把各自包含的几何形状依次定义为方块、球体和圆锥:

Group {
children [
Transform {
translation 5 0 0
children [
Shape { .... geometry Box {} }
] }
Transform { translation 0 0 0
children [ Shape { ... geometry Sphere {} }
] }
Transform { translation -5 0 0
children [ Shape { ... geometry Cone {} }
] } ]
#end of Group children
}

    你可能已经感觉到,VRML文件中有许多括号(花括号“{}”和方括号“[]”),所以务请注意括号的配对。注意上面的VRML文件中三个Transform节点的平移量是不同的,因而三个几何体的位置也就不同。另外,还可以修改三个几何体的颜色:球面Sphere为绿色(0 1 0),圆锥Cone为蓝色( 0 1 0 )。最后,为了以后引用方便,分别给这三个Transform 节点指定一个名称:
DEF box Transform {...};
DEF sphere Transform {...} ;
DEF cone Transform {...}

     这个VRML场景的完整代码是:

#VRML V2.0 utf8
Group { children [
DEF box Transform { translation 5 0 0
children [ Shape { appearance Appearance {
material Material { diffuseColor 1 0 0 }}
geometry Box {} } ] }
DEF sphere Transform { translation 0 0 0
children [ Shape { appearance Appearance {
material Material { diffuseColor 0 1 0 } }
geometry Sphere {} } ] }
DEF cone Transform { translation -5 0 0
children [ Shape { appearance Appearance {
material Material { diffuseColor 0 0 1 } }
geometry Cone { } } ] }
]# end of Group children }

    把此文件保存为helloworld.wrl,用VRML浏览器打开这个文件,通过调整视点从多个方位浏览自己的作品。

 

相关知识点
VRML学习

精品展示

浏览器插件