VRML的基本知识

合集下载

第3章 VRML(虚拟现实建模语音)基本造型及其属性

第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 简介

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基本知识

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

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概述

第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程序设计

虚拟现实vrml程序设计
拇指的指向是Z方向。在默认情况下, X坐标向
右为正;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简介

第二讲 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

4.2-VRML
foo 1
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基本知识

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是什么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 # 球体的半径}以上语法中的值,是缺省值,下同。

VRML的基础教程

VRML的基础教程

1、VRML 发展历史网络三维技术的出现最早可追朔到VRML。

VRML(Virtual Reality Modeling Language)即虚拟现实建模语言。

VRML开始于20世纪90年代初期。

1994年3月在日内瓦召开的第一届WWW大会上,首次正式提出了VRML这个名字。

1994年10月在芝加哥召开的第二届WWW大会上公布了规范的VRML1.0草案。

1996年8月在新奥尔良召开的优秀3D图形技术会议-Siggraph\'96上公布通过了规范的VRML2.0第一版。

它在VRML1.0的基础上进行了很大的补充和完善。

它是以SGI公司的动态境界Moving Worlds提案为基础的。

1997年12月VRML作为国际标准正式发布,1998年1月正式获得国际标准化组织ISO批准简称VRML97。

VRML97只是在VRML2.0基础进行上进行了少量的修正。

VRML规范支持纹理映射、全景背景、雾、视频、音频、对象运动、和碰撞检测--一切用于建立虚拟世界的所具有的东西。

但是VRML并没有得到预期的推广运用,不过这不是VRML的错,要知道当时14.4k 的modems是普遍的。

VRML是几乎没有得到压缩的脚本代码,加上庞大的纹理贴图等数据,要在当时的互连网上传输简直是场噩梦。

1998年。

VRML组织把自己改名为Web3D组织,同时制订了一个新的标准,Extensible 3D (X3D),到了2000年春天,Web3D组织完成了VRML到X3D的转换。

X3D整合正在发展的XML、JAVA、流技术等先进技术,包括了更强大、更高效的3D计算能力、渲染质量和传输速度。

在此期间,一场Web3D格式的竞争正在进行着。

在去年SIGGRAPH上,展示了超过30种Web3D格式。

当然,只会有其中的一小部分能够脱颖而出最终生存下来。

在本文后半部分将会对一些有实力且目前已经取得了一定市场的格式作介绍。

最近一些厂商瞄准了一个市场,就是从二维图像生成三维物体。

虚拟现实技术——VRML篇

虚拟现实技术——VRML篇

虚拟现实技术――VRML篇一、VRML介绍1.什么是VRML?VRML是“Virtual Reality Modeling Language”的缩写形式,意思是“虚拟现实造型语言”。

第一代Web是以HTML为核心的二维浏览技术,受HTML语言的局限性,VRML 之前的网页只能是简单的平面结构,而且实现环境与参与者的动态交互是非常烦琐的。

第二代Web是以VRML为核心的三维浏览技术。

第二代Web把VRML与HTML、Java、媒体信息流等技术有机地结合起来,形成一种新的三维超媒体Web。

VRML是用来描述三维物体及其行为的,可以构建虚拟境界(Virtural World), 可以集成文本、图像、音响、MPEG影像等多种媒体类型,还可以内嵌用Java、ECMAScript等语言编写的程序代码。

以VRML为核心构建的虚拟世界中用户如身处真实世界,可以和虚拟物体交互,人们可以以习惯的自然方式访问各种场所,在虚拟社区中“直接”交谈和交往。

事实上,目前采用VRML技术取得成功的案例已经很多,例如探路者到达火星后的信息就是利用VRML在因特网上即时发布的,网络用户可以以三维方式随探路者探索火星。

2.VRML的工作原理VRML定义了一种把3D图形和多媒体集成在一起的文件格式。

从语法角度看,VRML文件是显式地定义和组织起来的3D多媒体对象集合;从语义角度看,VRML 文件描述的是基于时间的交互式3D多媒体信息的抽象功能行为。

VRML文件描述的基于时间的3D空间称为虚拟境界(Virtual World),简称境界,所包含的图形对象和听觉对象可通过多种机制动态修改。

VRML文件可以包含对其他标准格式文件的引用。

可以把JPEG、PNG和MPEG 文件用于对象纹理映射,把WAV和MIDI文件用于在境界中播放的声音。

另外,还可以引用包含Java或ECMAScript代码的文件,从而实现对象的编程行为。

VRML使用场景图(Scene Graph)数据结构来建立3D实境,VRML的场景图是一种代表所有3D世界静态特征的节点等级:几何关系、质材、纹理、几何转换、光线、视点以及嵌套结构。

VRML基本知识

VRML基本知识
VRML基本知识
研发部专业技术培训
T 1
(0,0)
(1,1)
1
S
可编辑
可编辑
• 功能描述 从一个点向一个方向照射,但只有在照明锥体中的造型才能被完全 照亮。
• SpotLight { on TRUE #exposedField SFBool location 0.0 0.0 0.0 #exposedField SFVec3f direction 0.0 0.0 -1.0 #exposedField SFVec3f radius 100.0 #exposedField SFFloat cutOffAngle 0.785398 #exposedField SFFloat beamWidth 1.570796 #exposedField SFFloat color 1.0 1.0 1.0 #exposedField SFColor intensity 1.0 #exposedField SFFloat ambientIntensity 0.0 #exposedField SFFloat attenuation 1.0 0.0 0.0 #exposedField SFVec3f
}
平面传感器在激活状态下,VRML其他指点设备传感器不产生任何事 件输出。
• 功能描述 用来检测用户操纵指点设备的动作,并将该动作转换成 造型在围绕以某一点为中心的一个球体表面上所产生的 旋转,使浏览者像是在一个转动的球体上进行观察,该 中心点为SphereSensor节点所在局部坐标系的坐标原点。
}
• 功能描述 用来从浏览者所在的方位(包括空间位置及空间朝向)检测用户何 时与该组中的任何子节点造型发生了碰撞。 Collision节点作为编组节点,既可以单独使用,也可以作为其他 编组节点的子节点使用。 Collision节点兼具编组和感知传感双重 功能。

VRML基础学习

VRML基础学习

VRML基础学习第二章基本形体的生成VRML程序的主体是节点语句,当然它还有文件头,一些复杂的程序还有路由语句。

程序的各个节点通过节点花括弧里的参数(参数有两类:字段及事件,但只有字段写在程序的节点语句中)定义了三维世界的形体及其属性。

动画及交互作用则是通过传感器节点、内插器节点、路由语句等完成的。

程序的主体是节点,因而VRML程序在需要某一个节点时,就写出这个节点名,节点名后花括弧里,则根据需要给出相应的参数名(字段名),参数名后面给出参数的具体数值。

大量阅读VRML程序后,我们就可以在程序中看到我们熟悉的节点名及参数名。

由于许多节点的参数给出的是另外一个节点,因而,在VRML程序中,我们可以看到程序中有较多的花括弧对,有时花括弧里还有花括弧,形成多重的花括弧。

一·VRML的坐标系统VRML定义有下列四个基本形体:Box、Sphere、Cylinder、Cone。

利用这些基本体,我们可以编写最简单的VRML程序,例如下面的程序只有两行语句:EX2_01:#VRML V2.0 utf8Shape {geometry Box{}}这是一个显示立方体的程序,如果我们将Box替换成Cylinder 、Sphere、Cone,就可以分别得到圆柱、球、圆锥。

我们可以用任何的文本编辑器编辑上面的程序,如利用Window95的记事本,DOS的EDIT。

要注意,第一行的第一列必须是#,不能有空格。

程序在存盘时,文件的扩展名必须为wrl(world的缩写)。

VRML文件显示的是三维空间的物体,上例生成的物体放置在一个符合右手螺旋法则的三维坐标系中,可以将这个坐标系看成是程序的总体的坐标系,国际标准规定:物体从+Z轴方向投影在一个+X轴向右、+Y轴向上的二维坐标系统中,+Z轴朝外,人的眼睛即观察点的坐标为(0 0 10),人的眼睛朝原点看去,这是缺省时的观察位置及观察方向,见后面BOX节点给出的示意图。

一些VRML程序中的Transform、Group节点可以使多个物体组成一个节点组,节点组可以放置在空间的任意地方,也可以在程序中移动或旋转节点组的坐标,一个大节点组里可以有小节点组,小节点组里可以有小小节点组,每个节点组拥有一个坐标系,称为这个组的局部坐标系。

虚拟现实技术之VRML简介(PPT 256页)

虚拟现实技术之VRML简介(PPT 256页)
每一个节点一般都有两种事件, 即一个“入 事件”和一个 “出事件”。
在多数情况下,事件只是一个要改变域值的 请求:
1. “入事件”请求节点改变自己某个域的值 2. “出事件” 则是请求别的节点改变它的某个域值。
什么是原型?
原型是用户建立的一种新的节点类型,而不是一 种“节点”。
进行了原型定义就相当于扩充了VRML的标准节 点类型集。
2.2 VRML立体空间计量单位
虚拟现实建模语言(VRML)要创建立体背景空间和立 体造型空间就需要
定位 需要立体空间坐标系 相应的长度 角度单位 颜色
2.2.1 VRML立体空间坐标系
VRML立体空间物体造型定位依靠VRML立体空间坐 标系来实现。这些坐标轴为每个空间物体的造型定 义了一个坐标系。它包括:X轴、Y轴、Z轴
VRML给网络带来了什么?
VRML支持功能大大改变了原来万维网上单调、交互性较
差的弱点,创建一个全新的可进入、可参与的三维虚拟现 实世界。
VRML的重要性?
是虚拟现实三维立体网络程序设计语言,是宽带网络、多 媒体与人工智能相融合的高科技产品,是把握未来网络、 多媒体及人工智能的关键技术。
VRML 虚拟现实建模语言用来在网络上创建逼真的 三维虚拟场景。
1.2 VRML的特点
虚拟现实三维立体网络程序设计语言具有4大特点。 (1) VRML具有强大的网络功能,可以通过运行VRML程序 直接接入Intemet。可以创建立体网页与网站。 (2) 具有多媒体功能,能够实现多媒体制作,合成声音、 图像以达到影视效果。 (3) 创建三维立体造型和场景,实现更好的立体交互界面 (4) 具有人工智能,主要体现在VRML具有感知功能。可 以利用感知传感器节点来感受用户及造型之间的动态交互 感觉。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第二节 示例程序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 } }
相关文档
最新文档