当前位置:文档之家› VRML的基本知识

VRML的基本知识


第二节 示例程序P11
第三节 VRML 2.0基本概念
VRML空间计量单位 文件结构 VRML的域 VRML数据类型 对象和事件 路由
VRML的空间坐标与计量单位
在构建虚拟场景时,构成场景的造型有大 小差别,物体间有相对位置的不同,并 且造型还有旋转、移动等运动。这就涉 及到物体的空间坐标系、相应的长度、 角度及颜色等。 在VRML中,采用空间直角坐标系确定造 型的位置,并且用特定的计量单位定量 表示长度。
VRML的数据类型(域的类型)
单值类型: 以“SF”开始,只包含单值。 单值:一个独立的数,或表示向量、 颜色或旋转的视为一组的数. 多值类型 以“MF”开始,多个单独的数或多组 用方括号括起来的一系列用逗号和 空格隔开的单值
VRML的数据类型(域的类型)
SFBool SFFloat 和MFFloat SFInt 和MFInt SFVec2f 和MFVec2f \SFVec3f 和MFVec3f SFString和MFString SFTime和MFTime SFColor和MFColor SFRotation [
groundAngle [ 2,……] }
天空角1,天空角2,……]
地面角1,地面角
skyColor [天空色0,天空色1,天空色2,……]
groundColor [地面色0,地面色1,地面色2,……]
结点说明
天空色0为0度天空位置的颜色 地面色0为0度地面位置的颜色
开发及运行VRML所需工具
编辑工具: 一般的文本编辑器如记事本NotePad或写字板 WordPad,编辑VRML源程序代码。程序存盘时文件的 扩展名必须是.wrl(world的缩写)或.wrz vrmlpad2.0 浏览工具: 安装浏览器插件: cortonaPlayer Version 4.2 安装过程中取默认值即可

SFVec2f 和MFVec2f 二维向量 SFVec2f:0.0 1.0,一组数. MFVec2f:[0.1 1.0,1.0 2.0] MFVec2f可以采用数组引用: field MFVec2f qiu [0.1 1.0,1.0 2.0]
VRML的空间坐标与计量单位
(1)VRML空间坐标系 在VRML场景中,空间直角坐标 满足右手螺旋法则,就是说, 右手四指从X方向转到Y方向, 则拇指的指向是Z方向。 在默认情况下, X坐标向右为正; Y坐标向上为正;而Z坐标指向 观察者,如图所示。
VRML三维空间坐标系
VRML采用笛卡儿坐标系统,在空间的正中间 定义了默认的原点,并以此基点建立了笛 卡儿坐标系。 空间的每一个点的位置用一组由三个实数构成 的组表示,作为该点相对于原点的坐标。 形式为(X Y Z)。 第一个数X为横坐标,表示对象在空间中的左 右位置, 第二个数Y为纵坐标,表示对象在空间中的上 下位置, 第三个数Z表示对象在空间中的远近位置。
通用的VRML文件语法结构:
#VRML V2.0 utf8 节点名 { 域 域值 ┆ ┆ } Script { } ROUTE #VRML文件的第一行必须有这一 行,这是VRML文件标志 #VRML的的各种“节点” #对应“节点”的“域”与“域值”
#脚本Script节点 #路由:把入事件与出事件相关联

SFBool 单值布尔型,只有两个值:TRUE/FALSE TRUE(真)/FALSE(假) 不能用1 和0表示

SFFloat 和MFFloat SFFloat:单精度浮点数,如1.5 MFFloat:多个单精度浮点数,空格或逗号 分割.如:[0.1 0.5]

#VRML V2.0 utf8 DEF qiuti Transform { children [ Shape { appearance Appearance { material Material {diffuseColor 0 1 1}} geometry Sphere {radius 1.1} } ] } DEF time TimeSensor { #时间传感器 cycleInterval 2.0 loop TRUE} DEF bianhua PositionInterpolator { #移动位置节点 key [0.0,1.0] #相对时间的逻辑值 keyValue [ 0 0 -10 #空间坐标的位置值与相对时间的逻辑值对应 0 0 6] } ROUTE time.fraction_changed TO bianhua.set_fraction ROUTE bianhua.value_changed TO qiuti.set_translation
天空色1,2,……对应天空角1,2,……
地面色1,2,……对应地面角1,2,…… 系统自动过渡相邻位置的颜色 角度的单位为弧度 颜色由r、g、b分量合成 颜色分量的数值范围:0.0~1.0



制作VRML网页bk.wrl。(空间背景)
参考源代码
#VRML V2.0 utf8 Group { children [ Background { skyAngle [1.047 1.570] # 60度 , 90度 skyColor [0.0 0.0 1.0 , 0.2 0.2 0.8 , 1.0 1.0 1.0] groundAngle [1.396 1.570] #80度 ,90度 groundColor [0.0 1.0 0.0 , 0.0 0.5 0.2 , 1.0 1.0 1.0] } ] }
二、VRML的语法结构
VRML语法主要包括有文件头、节点、原型、脚本和 路由等。只有文件头是必须的。 在VRML文件中,节点是核心,没有节点,VRML也就 没有意义了。VRML场景可以由一个或多个节点组成, VRML中还可以通过原型节点创建新的节点。 节点之间过路由实现动态的交互与感知,或是使用 脚本文件或外部接口进行动态交互。
VRML的编辑器
• VrmlPad是由Parallel Graphics 公司开发的基于文本 式的、支持即时预览的VRML专用开发工具,另外还有 如Cosmo World、Internet3D Space Builder等可视化 场景创作工具。 • 主流的三维建摸软件如3DSmax、Maya、Blender等通 过插件的方式都支持场景的VRML格式输出。文件/导出, 选择wrl格式即可.
VrmlPad常用版本是2.0.
VrmlPad编辑器的主界面
VrmlPad编辑器的主要功能有:
⑴ 文件管理功能
(2)文件编辑功能 (3) 具有预览功能 (4) 方便快捷的材质编辑功能 (5) 方便下载VRML资源
7.2.2 VRML场景的浏览器
要在浏览器中观察VRML场景,需要安装VRML浏 览器插件。下面的清单列出了目前常用的VRML/X3D 浏览器插件。
一些常用角度的弧度值(弧度=角度*π/180)
(4)空间立体着色 • 在VRML三维空间中,无论是背景、 光线的颜色、物体,它们的颜色都是由红、 绿、蓝(RGB)组合而成, • 对应3个浮点数,其域值为0.0-1.0之 间,由这三原色组合成各种颜色。 • 常用颜色组合P13
空间背景结点
在这个VRML文件结构中,包括有以下几个内容。它是一个 很典型的VRML文件。它表达了下述几个方面的含义:
1.文件头 VRML文件中的第一行#VRML V2.0 utf8,这是 VRML文件头,任何VRML文件都必须有这样的文 件头,并且必须放在第一行. (1)# ,这个#不是注释,而是VRML文件的一个 部分; (2)VRML表示告诉浏览器,这是个vrml文件; (3)V2.0表示告诉浏览器,这个文件使用 vrml2.0版的规范完成; (4)utf8表示文件是使用国际UTF-8的字符集。
Ch2 VRML基本知识
开发及运行VRML所需工具 示例程序 基本概念
VRML的运行环境
VRML对硬件与软件的环境要求都较低,一般计算机都可以 运行,配置较高,运行速度较快。一般推荐配置为: (1)硬件环境:建议采用Pentium 4以上的计算机,主 频2G以上、内存128M以上、显存64M以上、硬盘10G以 上。 (2)软件环境:操作系统可采用 Windows2000/XP/2003等,安装VRML相关浏览插件。 (3)网络环境:浏览VRML场景时可以采用拨号、宽带 、无线等网络接入方式,网络浏览器可采用IE浏览器或 Netscape浏览器。
BitManagement BS Contact X3D/VRML97插件, 支持Internet Explorer(Windows) Octaga X3D/VRML浏览器,支持Internet Explorer(Windows) CRC FreeWRL X3D/VRML浏览器,基于C语言开 发,开源,支持MacOSX, Linux平台 Xj3D for X3D/VRML97 开源浏览器,是用于制定 X3D规范的试验工具,2.0版本采用Java
其它浏览器:
• Parallel Graphics Cortona3D VRML97 插 件,支持Netscape与Internet Explorer cortnaPlayer Version 4.2 。 • blaxxun Contact VRML97 插件,支持 Netscape or Internet Explorer • Cosmo Player VRML 插件,是对VRML97标准 支持程度最高的一款浏览器,已停止开发,支持 Firefox 与 Internet Explorer • OpenVRML 一个跨平台的VRML/ X3D运行环境 (MacOSX, Linux, FreeBSD)
同一个节点中的域的特点
①无序性 ②可选性(有默认值) ③域名的唯一性 ④具有不同的类型

#VRML V2.0 utf8 Shape { appearance Appearance { material Material { diffuseColor 1 0 0 } } geometry Sphere { radius 1.5 } }
相关主题