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 } }
第3章 VRML(虚拟现实建模语音)基本造型及其属性
2.1 VRML约定及基本概念
路由的作用是将各个不同的节点绑定在一起以使虚拟空间具有动感和 交互性。大多数的VRML节点都有输入和输出接口,输入接口称为 eventIn,即入事件;输出接口称为eventOut,即出事件。一个节点一 般具有多个不同的入事件和出事件,但有一些节点不同时具有这两种 事件。 在两个节点之间存在着路由,事件将可以通过路由由这个节点传递到 另外一个节点上。这样传递的事件通常可以改变相应节点的某些域值 。例如,在虚拟世界中分别创建了一盏电灯和一个开关,通过合适的 路由将两者绑定在一起,可以通过鼠标点击开关来控制等的亮和灭, 此时通过路由传输的事件就是灯的外观控制。
2.1 VRML约定及基本概念
不同的域对应不同的域值类型,例如,说明长度的域的域值和说明颜色的域 的域值明显不同,前者指需要单个的数值即可,而后者则需多个数值共同描 述才能准确地说明所要说明的对象。 域值类型: SFBOOL 单值布尔量 SFFLOT和MFInt32 单值含有32位的整数 SFString和MFString 单值字符串 SFVec2f和MFVec2f 单值二维向量 SFVec3f和MFVec3f 单值三维向量 SFTime和MFTime 单值时间值,从1970年1月1日子夜开始记时的秒数 SFRotation和MFRotation 单值绕任意轴任意角度的旋转 SFImage 非压缩的二维彩色图象或者灰度图象 SFColor和MFColor 单值颜色值 SFNode和MFNode 单节点
}
每个节点都有自己的标准语法用来说明其所可以包含的节点、字段和 事件。
2.3 VRML文件基本要素
节点并没有一定的分类方式,在计算机图形学中, VRML2.0节点可以分成两类:图形的和非图形的。图形节 点包括几何类型,例如Box和Sphere;属性节点,例如 Appearance和Material;组节点,包括Shape和 Transform。这些节点共同构造了表述的场景。VRML2.0 图形节点列表如下:
VRML 简介
一些基本的硬件介绍(5种)
1.图像生成器 2.3D鼠标 目前市场上已有了3D和6D的鼠标、跟踪球和游戏杆。由于 增加了按键和轮子,从而在用光标表示X,Y,Z坐标的同 时,还可以表示三个方向上的旋转。 3. 数据手套(Data Glove) 这种手套的手指装有传感器,整个手套装有位置/方向跟 踪器。手套的概念已经扩展到身体的其他部位。 4.头盔 大多数头盔采用双显示器产生立体景像。 5.声音发生器 声音发生器能将虚拟现实系统中的声音的改变实时地传送 到使用者的耳朵中,使他能够准确、及时地判断出声音的 出处并做出相应的反应。
7. 节点的概念
抽象地讲,VRML是一种“对象”进行对自身读写的过程。 理论上,“对象”可以指一切事物——三维几何形体、 声音或图像数据等等。VRML定义了一系列用来生成和修 饰三维形体的对象,这些对象称为节点(Node)。
8. 节点的特征
一般地,一个节点可以有以下四种特征: 节点的类型(objecttype)
五. VRML的基本概念 VRML的基本概念
1. VRML的坐标空间 VRML的坐标空间
VRML采用笛卡儿坐标系,空间上的每一个点都可 以用X,Y,Z三个坐标来表示。当面对屏幕,空间 坐标系的正X方向是向右的,正Y方向是向上的, 正Z方向是向着观察者的。
2. VRML的单位 VRML的单位
VRML的单位用来描述VRML空间环境中的大小及 距离。多数VRML作者以国际单位制来定义,如m, m/s等等。这样使得你创建的造型更容易地和其它 作者的造型相结合,创建出更大,更复杂的空间。 同时,各种浏览器的默认单位也是国际单位制。
1.3 实时操纵的软件实现
由于输出设备(显示器)是二维平面的,所以必须用二维来 模拟三维,即用不同的大小、不同的光线效果把一幅平面 图形“虚拟”成三维效果。当鼠标点中一个或远或近的物 体时,系统将鼠标所在位置都转化成为虚拟现实系统中的 三维坐标,这样就实现了用鼠标来定位一个三维坐标。
ch5 VRML基本知识
第五章VRML基本知识主要内容⏹5.1 VRML概述⏹5.2 VRML场景的编辑与浏览⏹5.3 VRML文件的语法与结构⏹什么是VRML?◆“Virtual Reality Modeling Language”缩写--“虚拟现实造型语言”◆一种三维造型和渲染得图形描述性语言,把“虚拟现实”看作一个“场景”,而场景中的一切都看作“对象”(即“节点”),对每一个对象的描述就够成了wrl文件(wrl是VRML文件的扩展名)。
◆目的主要是为了在网页中实现三维动画效果以及基于三维对象的用户交互。
同HTML语言一样,也是一种ASCⅡ的描述语言,且都支持超链接,只是HTML不支持三维图像和立体声文本的显示。
◆VRML的出现使得虚拟现实象多媒体和因特网一样逐渐走进我们的生活。
⏹VRML特点:◆语法简单,易懂,编辑操作方便,学习相对容易。
◆具有创建三维造型与场景,并可以很好实现的交互效果。
可以嵌入Java、JavaScript等程序,使其表现能力得到极大的扩充。
它能够实现人机交互,形成更为逼真的虚拟环境。
◆具有强大的网络功能,文件容量小,适宜网络传输,方便地创建立体网页与网站。
◆具有多媒体功能,在其程序中可方便地加入声音、图像、动画等多媒体效果。
◆具有人工智能功能,在VRML中具有感知功能,可以利用各种传感器节点来实现用户与虚拟场景之间的智能交互。
◆在当前各种浏览器中还不能直接运行,必须安装VRML的相关插⏹VRML的运行环境:VRML对硬件与软件的环境要求都较低,一般配置的计算机都能运行,但硬件配置较高时,运行速度较快。
一般推荐配置为: 硬件环境:建议采用Pentium4以上的计算机,主频2G以上、内存128M以上、显存64M以上、硬盘10G以上。
软件环境:操作系统可采用Windows 98/2000/XP/2003/win7等,但要求安装VRML的相关浏览插件。
网络环境:浏览VRML场景时可采用拨号、宽带等网络接入方式,网络浏览器可采用Windows操作系统自带的IE游览器或Nets cape浏览器。
2.第2章 虚拟现实建模语言——VRML
4
络所能传播的信息有了越来越高的要求。不再仅仅满足 于文字表达的信息以及传统的平面和三维技术带来的 信息表达方式,更希望以接近于现实的甚至是身临其 境的感觉交流信息。这样,以虚拟现实为特征的网络 3D 技术的出现和发展势在必行的。而 VRML就是网络 3D 的核心技术。
1994 年 5 月,第一届因特网国际会议上,有关专家发表 的在网络上运行三维立体世界的研究引起了广泛的讨 论。短短的几个月,1994 年 10 月,VRML 1.0规范正 式发布。
路由的功能是连接一个节点的接收事件eventIns和另外 一个节点的发送事件eventouts。通过简单的语法结 构,建立两个节点之间事件传送的通道。当有事件 发生时,沿着这条通道传送事件。
借助于事件和路由,可以创建动画效果以及浏览者和场 景的交互,使得所建立的虚拟场景更接近于现实。
精选完整ppt课件
1996 年,VRML 2.0规范正式确定。到 1998 年1 月被ISO 正式批准为国际标准,这就是现在我们常说的 VRML 97。从此 VRML的发展更为迅速,更为成熟。
精选完整ppt课件
6
2.2 VRML 文件的基本要素
精选完整ppt课件
7
2.2.1 节点(node)和域(field)
VRML文件的扩展名为wrl,文件中最为重要的两个基本 要素是节点和域。
精选完整ppt课件
19
出信号,颜色改变了,可以表示为:Color_changed。这 些是事件的通常用法,随情况的不同,表达也会有 些差别。事件有两种:入事件EventIn,表示接收事 件;出事件EventOut,表示发送事件。输入事件 EventIn和输出事件EventOut表示节点之间的联系方 式,也就是一种接口。许多节点中域的接口类型是 exposed field,通称为可见域,以后在具体讨论事件 和路由时再详细说明。
第1章 VRML概述
3. SFInt32 和 MFInt32
SFInt32表示一个单值具有32位精度的整数,可以用十进制 或十六进制格式(0X开头),如10或者0X0A, MFInt32表示 零个或多个具有32位精度的整数,如[15 2 12],也可以用 十六进制格式。 MFInt32类型域名也可以用数组形式引用, 同MFFlot类型。
•对象总是以坐标系的原点为中心创建的。 对象总是以坐标系的原点为中心创建的。
•默认情况 , 浏览者中心位于 ( 0, 0, 10) 点 , 视线朝 方向 。 默认情况,浏览者中心位于( , , ) 视线朝Z-方向 方向。
VRML长度单位 VRML长度单位
坐标系使用VRML长度单位, VRML单位并不是 一个绝对尺寸,因此与现实中的长度单位没有 任何可比性,只有VRML单位之间才具有可比性。 可以平移和旋转坐标系,从而在新的位置和方 向上创建其他对象。 在虚拟场景中,浏览者的化身(Avatar)有身高 和体宽(厚)特征化参数,甚至还有步高特征化 参数,默认的情况下,化身身高为1.6,体宽 为0.25,步高为0.75,均为VRML单位。
可以创建静态的3D景物, 3D景物 -- 可以创建静态的3D景物,但没有声音和动画 -- 主要支持造型、光源和纹理等 主要支持造型、 -- 主要来源于SGI的Open Inventor 主要来源于SGI的 SGI
VRML 2.0
-- 重新设计了VRML语法,加入了许多新的特征 重新设计了VRML语法, VRML语法
四、VRML简介 四、VRML简介
VRML (Virtual Reality Modeling Language) 是 Internet上描述三维几何形状与交互环境的一种 上描述三维几何形状与交互环境的一种 国际标准文本语言。 国际标准文本语言。 VRML有非常广泛的应用 有非常广泛的应用
虚拟现实vrml程序设计
右为正;Y坐标向上为正;而Z坐标指向观察者,
如图所示。
• 2.VRML长度单位
• 长度及坐标的计量单位采用VRML单位计量,在三维空
间中,它是统一的,简称为单位。需要注意的是,这
里表示的单位和实际环境中的计量没有任何可比性,
和一些三维建模软件如3DSMAX的计量单位也没有可 比性。在VRML场景中,只有物体间的大小和相对位置 都用VRML单位计量,才能模拟出真实的现实。
域值三维浮点型,取值为三个浮点数值,可用来确定一个 三维坐标。
• 事件和路由
• 在现实环境中,事物往往随着时间会有相应的变化。比如,
物体的颜色随着时间发生变化。在VRML中借助事件和路 由的概念反映这种现实。
• 1.事件
• 在VRML中,每一个节点一般都有两种事件,“入事
件”(eventIn)和“出事件”(eventOut),每个节点通过这些
差别,物体间有相对位置的不同,并且造型还
会有旋转、移动等运动。这就涉及到物体的空
间坐标系、相应的长度、角度及颜色等。在
VRML中,采用空间直角坐标系确定造型的位
置,并且用特定的计量单位定量表示长度。
• 1.VRML空间坐标系
• 在VRML场景中,空间直角坐标满足右手螺旋法
则,就是说,右手四指从X方向转到Y方向,则
•域
• 可理解为其他高级语言中的“变量”。 • 分为两种:普通域,公共域。如上例中radius
是普通域,diffuseColor,cycleInterval,loop,
key,keyValue为公共域,children也为公共域。
• VRML的空间坐标与计量单位
• 在构建虚拟场景中,构成场景的造型有大小的
第二讲 VRML简介
虚拟现实开发环境与支持平台
三维图形引擎
三维图形引擎提供面向实时VR应用的完整软件开发支 持,负责管理底层三维图形绘制的数据组织和处理, 发挥硬件的加速特性,为上层应用程序提供有效的图 形绘制支持。 图形引擎一般包括真实感图形绘制、三维场景管理、 声音管理、碰撞检测、地形匹配以及实时对象维护等 功能,并提供与三维虚拟环境绘制相关的高层API。 常见的三维绘制引擎有OpenGL Performer, OpenGVS,Vega,OSG(开源软件),VTree, WTK等。
VRML浏览器
Cortona VRML Client
下载地址: /products/cort ona/download/iexplore/ 安装,内置于IE 有Walk, Fly,Study三种标准模式 有Fit 功能,窗口显示最大化 菜栏中有:12个按钮,左边7个,下边有5个
虚拟现实开发环境与支持平台
建模工具 现有的VR建模工具主要集中在支持虚拟景
物的外观和物理建模方面
外观建模又可分为面向动画制作的建模工具和 面向实时绘制的建模工具两类 这两种建模工具的数据组织格式不同
虚拟现实开发环境与支持平台
面向动画的建模(即三维几何造型设计)工具
目前流行的三维动画制作工具有: Maya (Alias公司)高端制作工具 在影视制作行业有着应用
第二讲 VRML简介
大纲
虚拟现实开发环境与支持平台 VRML浏览器 BS Contact VRML编辑器 VrmlPad VRML工作原理 VRML的基本概念
大纲
虚拟现实开发环境与支持平台 VRML浏览器 BS Contact VRML编辑器 VrmlPad VRML工作原理 VRML的基本概念
4.2-VRML
foo [1, ]
foo [1]
(4)事件和路由
1)事件
节点通过接收事件而改变。大部分的 节点有能力处理事件(eventIns)。通过接收 事件的指示,节点可以改变目前的状态。 例如节点的颜色可以改变,set_color。当 一个节点被改变了,它会对改变的状态有 所反应。送出一些发生事件(eventOuts), 例如Color_changed。
cycleInterval 2.0
loop TRUE
},
DEF Ballpath PositionInterpolator {
key [0.0,0.20,0.65,1.0]
keyValue [
1.0 1.0 1.0,
1.5 1.5 1.5,
1.1 1.1 1.1,
1.0 1.0 1.0,
]
}
]
}
ROUTE Clock.fraction_changed TO Ballpath.set_fraction
UTF-8字符集合:标准的字符集合,只要能 在键盘上找到的字符, UTF-8字符集合都包含在 内,所以一个UTF-8的VRML的文件中能输入任 何ASCII码。UTF-8是由ISO的规范(ISO/IEC 10646.1:1993)提出的。
(2)VRML的文件注释
上例的第二行
#Draw the column
ROUTE Ballpath.value_changed TO Ball.set_scale
4、构建虚拟对象的几何模型——Geometry Nodes
模型节点——Shape
Shape节点:构建虚拟对象的轮廓,即 模型。包含两个字段,Appearance(外观) 节点和Geometry(几何)节点字段。
VRML基本知识
Box {
size 2.0 2.0 2.0 #field SFVec3f
} Sphere { radius 1.0 #field SFFloat } Cylinder { radius 1.0 #field SFFloat height 2.0 #field SFFloat top TRUE #field SFBool side TRUE #field SFBool bottom TRUE #field SFBool } Cone { bottomRadius 1.0 #field SFFloat height 2.0 #field SFFloat
VRML关键字
VRML文件体系
VRML文件类型 VRML文件头
#VRML V2.0 utf8 VRML造型 VRML事件(Event)、路由(Route)、事件体系 VRML脚本(Script) VRML原型(Proto)
VRML文件基本内容
VRML节点 造型节点 声音节点 光源节点 插补器节点 传感器节点 编组节点 脚本节点 其他节点 VRML数据类型 SFBool SFColor SFFloat SFImage SFInt32 SFNode SFRotation SFString SFTime SFVec2f SFVec3f MFColor MFFloat MFInt32 MFNode MFRotation MFString MFTime MFVec2f MFVec3f 程序注释 以“#”字符开头,结束于该行未尾 不支持多行注释 并非所有VRML编辑系统支持中文注释
任意几何造型
IndexedFaceSet { coord NULL #exposedField SFNode coordIndex [ ] #field MFInt32 texCoord NULL #exposedField SFNode texCoordIndex [ ] #field MFInt32 color NULL #exposedField SFNode colorIndex [ ] #field MFInt32 colorPerVertex TRUE #field SFBool normal NULL #exposedField SFNode normalIndex [ ] #field MFInt32 normalPerVertex TRUE #field SFBool ccw TRUE #field SFBool convex TRUE #field SFBool solid TRUE #field SFBool creaseAngle 0.0 #field SFFloat set_coordIndex #eventIn MFInt32 set_texcoordIndex #eventIn MFInt32 set_colorIndex #eventIn MFInt32 set_normalIndex #eventIn MFInt32 }
vrml基础知识简介
VRML简介和基础语法--------------------------------------------------------------------------------一、VRML是什么VRML是虚拟现实造型语言(Virtual Reality Modeling Language) 的简称。
二、VRML文件的组成部分和文件头VRML文本的文件名后缀是 .wrl,这是一种ASCII文本文件。
VRML文件可以包括四个主要成分:VRML文件头原型造型和脚本路由每个文件都有一个文件头,VRML1.0的文件头和2.0的文件头是不一样的。
VRML 1.0的文件头是#VRML V1.0 asciiVRML 2.0的文件头是,我们这里只讨论VRML 2.0#VRML V2.0 utf8 在VRML文件中可以加入注解,只要在注解前加入#即可。
下面是一个简单的VRML文件,它在三维空间中建立一个立方体。
#VRML V2.0 utf8Shape {appearance Appearance { }material Material { }}geometry Box { }}三、几个基本造型所有VRML造型都使用Shape节点创建。
Shape节点的语法是Shape {appearance NULLgeometry NULL}其中appearance域的值定义一个节点,该节点定义造型的外观,包括颜色和表面纹理等。
当它为NULL值时建立的造型是无纹理的白色有阴影物体。
它将在后面介绍。
geometry域的值定义一个节点,该节点定义造型的3D构造及几何结构。
典型的几何结构有Box,Cone,Cylinder和Sphere,它们都可以作为geometry的值。
Box节点的语法是Box {size 2.0 2.0 2.0 #长高宽(x y z 三个方向,注:2.0 2.0 2.0是缺省值,下同)}Cone节点的语法是Cone {bottomRadius 1.0 # 圆锥底部半径height 2.0 # 圆锥的高side TRUE # 是否创建圆锥的锥面bottom TRUE # 是否创建圆锥的底}Cylinder节点语法Cylinder {radius 1.0 # 园柱底的半径height 2.0 # 园柱高side TRUE # 是否创建园柱曲面top TRUE # 是否创建园柱顶bottom TRUE # 是否创建园柱底}Sphere节点语法Sphere {radius 1.0 # 球体的半径}以上语法中的值,是缺省值,下同。
