Graphics 版 (精华区)
发信人: killest (矛盾), 信区: Graphics
标 题: VRML的语言结构及应用(1)
发信站: 紫 丁 香 (Wed Apr 29 14:36:27 1998), 转信
VRML的语言结构及应用
技术与应用
许耀昌
VRML的语言结构
VRML(虚拟现实造型语言)用来在Internet网上建造虚拟世界。它
的基础是一个利用HTT P协议传输数据的全球网;另外一个是SGI设计
的Open Inrentor文件格式。设计目标是使VRM L成为一种标准的语言
,能在Internet上变换虚拟世界,同时具有很好的交互性以及支持大量
用户。VRML的开发重点集中在与平台无关、易扩展并且基于低带宽的
网络连接,通过VRML浏览器,用户能在一个虚拟的场景中自由移动。还
能与其中的实体相互作用并且通过超链接(H yperlink)到达一个新的
三维世界。
VRML通过许多图形对象来描述一个三维场景。这些对象称为结点
(Nodes)。一个场景由具有层次结构的多个结点组成。VRML2.0在VRML
1.0原有的结点类型基础上,增加了具有特色的三种类型结点,即:传
感器(Sensors)、描述符(Scripts)和声音(Sound)。
我们先来看一个例子,这是一个十分简单的VRML文件,描述了一个
蓝色的立方体。
Separator
{
Material {
diffuse Color 001
}
Cube {
width 3
height 3
depth 3
}
WWW Inline {
name "http://www..sgi.com/some.wrl"
}
}
从上述例子中可以区分出不同类型的结点。其中包括:
·形状结点(如Cube结点)
·属性结点(如Material结点)
·群组结点(如Separator结点)
·超链接结点(如WWW Inline结点)
形状结点定义了三维场景中物体的几何形状(Geometry)。相应的
例子还有圆锥体、球体等等。属性结点描述了具有一定几何形状物体
的外观,比如说色彩、纹理等等。这种类型的结点也包括变换结点(Tr
ansformationnodes)、照相机和光学结点。而群组结点允许把多个结
点当作一个单元来处理。超链接结点包括两种特殊类型的结点,即WWW
Inline和WWW Anch or结点。WWW Inline结点支持来自不同文件或UR
L的虚拟世界,而WWW Anchor则指定了到新的URL的连接。
每个结点包括一个或多个域(Field)。对域名、类型以及缺省值
都有规定。也就是说,在VRML2.0的Specification中,对各个不同结点
具有的语法和语义进行了详细的定义。目前一共定义了50多个不同类
型的结点,分别用来满足在Internet网上创建三维世界的需要。下面
来看一个圆柱体(Cylinder)结点的定义:
Cylinder {
field SFB001 bottom TRUE
field SFFLoat height 2
field SFFLoat radius 1
field SFB001 side TURE
field SFB001 top TURE
}
每个圆柱体有三个部分:侧面、顶面和底面。每个部分都有与之
相关的SFB001类型的域,用来指出这个部分是否存在(TRUE或FALSE)。
如果有些部分不存在,则在碰撞检测中不予考虑。而radius域和heigh
t域则分别规定了一个圆柱体的半径和高度。这两个域的取值必须都
大于零。
--
oo
il bb yy il ..... 与尔同消万古愁
i bbb ll yyy i
iii bb yy iii
oo
※ 来源:.紫 丁 香 bbs.hit.edu.cn.[FROM: victor.hit.edu.c]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:3.906毫秒