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虚拟现实建模语言的功能特征
存在感 动态显示 立体感的视觉效果 动态显示与网络无关 多重使用者
4.2VRML概述
VRML定义了一种把三维图形和多媒体集 成在一起的文件格式。它与HTML一样,是 以文本或者ASCII形式编写的。一个完整的 VRML文件由五部分组成:文件头、脚本、 场景图、原型和事件路由。
节点类型可以分为基本类型和用户自定义 类型两大类,基本类型由系统提供,自定 义类型由用户在基本类型的基础上通过原 型机制构造,它们都是对虚拟世界的某些 共性的提炼。如Appearance节点描述实体 的外观、Material节点描述对象的材质、 VRML97定义了54种基本节点类型。54种 内部节点大致可以划分为以下几种类型。
VRML特殊节点
VRML97在原有节点基础上,增加了三种 类型节点,分别是传感器(Sensors)、脚 本(Scripts)和声音(Sound)。
4.3VRML场景生成器Cosmo Worlds
用VRML描述性语言来写出虚拟景象,给一般设 计人员的感觉是缺乏直观性,于是VRML虚拟空 间生成系统可以使用户通过可视化的拖拽方式, 人机交互的生成VRML虚拟空间,并保存下来, 且不需要用户掌握VRML的语法和规则。目前这 类工具最优秀的就是SGI公司的Cosmo Worlds、 Platinum Technology公司的VCRreator2.0、 Paragraph International公司的Virtual Home Space Builder(VHSB)等。
例: #VRML V2.0 utf8 Group { children [ Shape { geometry Box {}
} ]
}
场景图
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 实时操纵的软件实现
由于输出设备(显示器)是二维平面的,所以必须用二维来 模拟三维,即用不同的大小、不同的光线效果把一幅平面 图形“虚拟”成三维效果。当鼠标点中一个或远或近的物 体时,系统将鼠标所在位置都转化成为虚拟现实系统中的 三维坐标,这样就实现了用鼠标来定位一个三维坐标。
第1章 VRML(虚拟现实建模语音)概述
1.1 VRML简介
7、用户定义对象-通过创建用户定义的数据类型,可以扩展浏览器 的功能 8、脚本-通过程序或脚本语言,可以动态的改变场景 9、网络-可以用网络上的资源组成一个单一的X3D场景;可以通过 超链接对象连接到其他场景或网络上的其他资源 10、物理模拟-人性化动画;地理化数据集;分布交互模拟 (Distributed Interactive Simulation-DIS)协议整合。 从1994年的VRML开始到2004年的X3D,VRML/X3D联盟一直致力于建立一 种统一各种Web3D格式,容纳各种新技术的三维格式标准。相信X3D 将会在交互三维领域取得一定的地位。 虽然X3D是个发展趋势,但目前应用不多。
1.2 VRML2.0的功能和应用
4. 交互性 新增加的对三维对象的行为描述使得进行实时完全仿真成为可能。 碰撞检测 (collision detection) 节点包括了碰撞检测信息,这样 就避免了穿墙而过的现象发生;感知器 (sensors)节点等待一个特 定事件的发生,然后做出响应。例如,可以设计一个感知器完成当 门被打开时就自动开灯的功能。 5. 增强的静态场景 VRML2.0中一些新增的特征使得场景看上去更加真实。例如,声 音(sound)节点允许为场景加上背景音乐、动作声响、对话等等; 背景(background)节点允许为场景加一幅背景图画;雾(fog)节点 能产生逼真的雾化大气效果。
1.1 VRML简介
VRML(Virtual Reality Modeling Language)的翻译为中文就是虚拟现实 建模语言。它用来建立真实世界中各种场景的模型,当然,它也可 以建立一个与真实世界无关的虚拟世界,就像许多游戏中的一样。 VRML开始于20世纪90年代初期。1994年3月在日内瓦召开的第一届 WWW大会上,首次正式提出了VRML这个名字。1994年10月在芝加哥 召开的第二届WWW大会上公布了规范的VRML1.O标准。它是经过许多 人共同合作的结果,其中最主要的是SGI公司的工作。SGI公司同意 无偿提供这种新的文件格式并放弃对其的所有权。 VRML1.0 在设计时采用了面向对象的思想,因此由其构造的虚拟现 实模型与所用的操作平台无关,并且其程序还具有可扩展性。 VRML1.O 可以创建静态的3D 景物,但没有声音和动画,你可以在它 们之间移动,但不允许用户使用交互功能来浏览三维世界。它只有 一个可以探索的静态世界。除此之外,没有其他的功能。
虚拟现实与VRML-VRML编程
b) 域(Fields) : 节点可以有零或多个域值。 c) 节点名称 : VRML中的节点不一定要指定
名称但若指定名称则必须唯一。
d) 子节点 : 节点与节点之间可以有阶层式的 从属关系。具有子节点的节点称为「父 节点」;父节点可以有零或多个子节点。
1. 坐标系统 :VRML采用的是卡氏右手立 体 坐 标 系 统 (Cartesian Right-Handed dimensional System),测量长度和距离的 基本单位是公尺,而测量角度的基本单 位是弧度。
2. 节点(Nodes) : VRML以节点为基础,每个节 点都具有以下四项特性 。
Appearance 节点描述外观
-- 可通过Material 节点控制材料属性,如 颜色、高
4. 域 (Fields) 所含域的数目分为两类 : 只含单一的「单值」 与含多个值的「多值」,分別以“SF” 与 “MF”为名称的开头。 SF开头的数值只是 一个单一的数或数组,而MF开头的是一个 数或数组的列表。各有11个和7个种类。
例)SFBool : 开关值 SFFloat/MFFloat : 浮点值 SFString/MFString : 字符串
基本体素的建立
-- Shape节点 -- 形状几何由几何节点描述,如Box, Cone,
Cylinder等。
几何形状的建立(续1.1)
复杂形状的建立
-- 动物、植物、地表、机械零件,等等... -- 可借助点、线、面来构建 -- 对于地表等,甚至有特定的节点描述,如
ElevationGrid节点
几何形状的建立(续2.1)
Extrusion
vrml文档
VRML什么是 VRML?VRML(Virtual Reality Modeling Language)是一种用于描述3D图形和多媒体的编程语言。
它是一种基于文本的标记语言,用于创建虚拟现实(VR)环境,使用户能够在计算机中沉浸式地体验3D场景。
VRML最初由Silicon Graphics公司于1994年推出,被定义为ISO标准(ISO/IEC 14772)。
它的目标是向Web浏览器添加3D图形功能,以便人们可以通过互联网访问和交互式地浏览虚拟3D环境。
VRML的特点和功能•描述三维图形和交互性:VRML可以用于描述物体的形状、纹理、材质和位置等,以及用户与物体之间的交互行为,例如单击、拖动、旋转等。
•可移植性:VRML文件可以在多个平台和设备上运行,并且与不同的Web浏览器兼容。
这使得用户可以轻松地在不同的操作系统和设备上获取相同的虚拟现实体验。
•开放性和扩展性:VRML是一个开放标准,可以通过扩展来支持新的功能和技术。
用户可以自定义节点、传感器和动画等,以创建更复杂的3D场景和交互效果。
•轻量级和高效性:与其他3D图形格式相比,VRML 文件相对较小,加载速度快。
这对于在互联网上传输和浏览大规模3D场景非常重要。
VRML文件结构VRML文件由一系列的节点组成,每个节点都有一个节点类型和一组字段。
节点类型定义了节点的功能和属性,而字段用于存储节点的值。
以下是一个简单的VRML文件示例:#VRML V2.0 utf8#声明一个场景节点DEF SCENE Scene {#声明一个转换节点Transform {#定义平移变换属性translation 0 0 -2#定义旋转变换属性rotation 0 1 0 0#定义缩放变换属性scale 1 1 1#声明一个形状节点Shape {#定义外观属性appearance Appearance {#定义材质属性material Material {diffuseColor 1 0 0}}#定义几何体属性geometry Box {size 1 1 1}}}}在上面的示例中,SCENE是场景节点,Transform是转换节点,Shape是形状节点,Appearance是外观节点,Material是材质节点,Box是几何体节点。
第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篇一、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简介
虚拟现实开发环境与支持平台
三维图形引擎
三维图形引擎提供面向实时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的基本概念
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基本知识
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 }
2.第2章 虚拟现实建模语言——VRML
例 2.1 #VRML V2.0 utf8 Shape { appearance Appearance { material Material {} } geometry Box {} } 例 2.2 #VRML V2.0 utf8 Shape { appearance Appearance { } geometry Box {} }
造出来。例如:
Shape{ appearance Appearance{ material Material{} } geometry Cylinder{ radius 0.5 height 6.0 } }
上述的一段VRML文档描述了一个圆柱体的造型,其中 Shape、Appearance、Material以及Cylinder等等都是节 点。
第2章 虚拟现实建模语言—— VRML
本章各小节目录
2பைடு நூலகம்1 VRML的基本概念 2.2 VRML文件的基本要素 2.3 VRML的通用语法结构 2.4 VRML的空间计量单位 2.5 VRML场景的编辑与浏览 本章小结
通过前面章节的学习,对于虚拟现实技术有 了一定的了解。本章主要学习在网络上实 现虚拟现实场景建模的技术术——虚拟现实 建模语言 (Virtual Reality Modeling Language), 该技术专门用来在网络上实现三维虚拟场 景。
⑥ SFNode和MFNode 单域值节点型和多域值节点型。取值为一个或者多个节 点,用来更进一步描述该域的特征。例如:表示材 质属性的域material其域值是构建材质的节点 Material,该节点带有一些域,用来表述造型的材质。 ⑦ SFImage 单域值图像型。取值为一些描述图像特性的数值,可以 绘制造型表面的纹理图像。比如在纹理贴图中的像 素贴图。 ⑧ SFRotation和MFRotation 单域值旋转型和多域值旋转型。取值为4个浮点数构成 的一组数值,前三个确定旋转轴,第四个指定绕轴 旋转的角度。用来描述对象的旋转特征。
虚拟现实建模语言VRML
虚拟现实建模语言VRML
1.1 VRML的诞生及发展 • 1994年10月公布了VRML1.0的规范草案。 • 1996年8月公布了VRML2.0标准。 • 1997年12月VRML 97作为国际标准正式发布, 1998年1月正式获得国际标准
化组织ISO的批准。 • 1999年底,VRML的又一种编码方案X3D草案发布。 • 2000年6月世界Web3D协会发布了VRML2000国际标准(草案),2000年9月
虚拟现实建模语言VRML
1.4 VRML的应用 • VRML在电子商务、教育、工程技术、建筑、娱乐、艺术等领域中广泛应用,
VRML创造一种融多媒体、三维图形、网络通信、虚拟现实为一体的新型媒体, 兼具先进性和普及性,已成为构建网络虚拟现实系统的标准语言,是开发新一 代网页和虚拟现实系统的得力工具。 1.科技探索 2.商业宣传 3.文物保护 4.娱乐业 5. 教育
多媒体技术与应用
又发布了VRML2000国际标准。 • 2002年7月23日,Web3D联盟发布了可扩展3D(X3D)标准草案。这项技术
第4章 VRML-场景效果
主要内容
1. 创建背景
2. 创建光源 3. 创建雾化效果
4. 创建观察视点和视点导航
5. 创建音响效果
第一节 创建背景
• VRML中虚拟空间背景分为:
– 全景空间背景
• 将造型包围在里面的空间立方体,具有前、后、 左、右、上、下六个平面,可根据需要设置不同 的材质和图片。
• 光源颜色可以在color域中进行设置。 • VRML创建的光源与现实中光源的最大差别在 于,无法自动产生阴影,必须通过人为设置阴 影造型模拟阴影效果。
• 一、PointLight节点 • 可独立,也可作为子节点 PointLight{
on TRUE location 0.0 0.0 0.0 radius 100.0 intensity 1.0 ambientIntensity 0.0 color 1.0 1.0 1.0 attenuation 1.0 0.0 0.0
skyColor skyAngle groundColor groundAngle frontUrl backUrl leftUrl rightUrl topUrl bottomUrl set_bind isBound [0.0 0.0 0.0] [] [0.0 0.0 0.0] []
}
• skyAngle: 天空着色位置所需的空间角。天空角 从正上方0度开始,地平线处为90度,到正下 方180度为止,天空角必须以升序排列。
• 一、Background背景节点
• 可以是任意组节点的子节点,用于在当前坐标系中创 建全景空间或天体空间背景。 • 空间背景不受坐标系平移或缩放变换的影响,因此, 浏览者在任何情况下都不可能靠近背景,只能从不同 角度观察全景空间背景的不同侧面或天-24:本例介绍旋转视点、改变视线朝向的 另外一种方法:利用Transform,旋转 Viewpoint节点所在的坐标系,以达到改变视线 朝向的目的。这种方法只需改变视点的角度, 不必改变视点的位置。
第 11 章 VRML简介
• VRML 2.0 August 1996
-- 重新设计了VRML语法,加入了许多新的特征
• VRML 97 December 1997 • VRML 200x June 2000
VRML简单场景示例 VRML简单场景示例
VRML文件结构 VRML文件结构
• VRML文件包括:
-- 文件头 //描述版本和编码集 ------
颜色、纹理、光源及环境 ((续2.2) 续2.2)
• 纹理变换可以改变纹理在表面上的 位置、方向及大小
Shape { appearance Appearance { material Material { . . . } texture ImageTexture { . . . } textureTransform TextureTransform { translation 0.0 0.0 rotation 0.0 scale 3.0 3.0 } } }
} } }
• IndexedLineSet
Shape { appearance Appearance { . . . } geometry IndexedLineSet { coord Coordinate { point [ . . . ] } coordIndex [ . . . ] }
}
几何形状的建立(续1.3) (续1.3)
颜色、纹理、光源及环境
#VRML V2.0 utf8 # A Cylinder Shape { appearance Appearance { material Material { } } geometry Cylinder { height 2.0 radius 1.5 } }
颜色、纹理、光源及环境 ((续1.1) 续1.1)
第三讲VRML三维模型
12
造型的外观设计
Material材质节点:设置有关材质的属性,可以创建出金属、玻璃 、石头等属性。
Material节点
语法
Material {
diffuseColor 0.8 0.8 0.8 #exposedField SFColor
ambientIntensify 0.2
#exposedField SFFlot
removeChildren
#eventIn MFNode
}
19
造型的空间变换
children域(数组)
设定参与坐标变换的所有子节点; 默认值为空,表示不含任何节点;
translation域 (三维)
变换后,新坐标系的原点与原始坐标系原点在XYZ方 向上的距离。
默认值为0 0 0 ,与原始坐标系重合,没有偏移。
height
2.0
#SFFloat
side
TRUE
# SFBool
bottom
TRUE
# SFBool
top
TRUE
# SFBool
} top是否创建圆柱体的顶面,默认值为TRUE 举例:3-4cylinder.wrl
10
appearance域
Appearance节点
语法格式:
Appearance{
缩放。
22
造型的空间变换
scaleOrientation域 (4维) 用于设定旋转轴和旋转角度。 scaleOrientation域的域值类型与与rotation域的域值类型相 同,即scaleOrientation域值制定的是一个旋转轴、旋转方向 和旋转角度。与rotation域不同之处在于scaleOrientation域 并不能真正地旋转坐标系。 即: 新坐标系的旋转是为了方便缩放操作,先按照旋转后的新 坐标系进行缩放,然后再将坐标系旋转回原方位 默认值是0.0 0.0 1.0 0.0,表示旋转轴为Z轴,缩放操作前坐标 系无旋转。
虚拟现实技术之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、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Assignment 2:VRMLThis section answers many of the common questions about VRML, including: ∙What is VRML ?o Should I learn the VRML format ?∙VRML Web Pageso How do VRML Web Pages work ?o How can I make VRML Web Pages ?o What can I use VRML Web Pages for ?∙The Future for VRML1.What is VRML?VRML which stands for the Virtual Reality ModellingLanguage, is the international standard for "Virtual Reality" - 3D content on the internet/web. The VRML standard was first adopted back in October 1994 and has since undergone several version updates (VRML 1.0, VRML 2.0, VRML97 and most recently the X3D Draft Specification) to enable more complex and interactive content to be displayed. For a more thorough description of the VRML standard (tech docs) take a look at the VRML International Standard.In essence VRML is the format or language that is used/required for 3D interactive worlds. It specifies how such worlds should be described so as to work smoothly on the web as interactive 3D content.The VRML format can be used in either human readable text format form or in a compressed (non human readable) format. As the compressed format (often seen as worldname.wrl.gz) makes for smaller file sizes and hence faster downloads, it is more commonly seen on the WWW.1.1Should I learn the VRML format ?That depends, VRML is currently much like HTML was in the early days of the web. Back then it was not uncommon to see pages being written by hand in HTML. However as we have seen with HTML, over time tools have been developed to enable development of web pages using interactive graphical tools that don't require the developer to have any knowledge of the underlying HTML format.At the moment most of the interactive VRML pages that we see on the web are hand written. However easy to use interactive tools are now beginning to appear for VRML development (eg. VRMLmagic). It is likely that (as was the case with HTML) as time goes by, the need for a detailed knowledge of the specifics of the VRML standard itself will become less relevant (and experience with the higher level world building tools will become a more useful skill).2.VRML Web PagesA VRML web page is the textual description (sometimes compressed for efficiency) of a 3D world and the items that make it up. This description includes items like backgrounds, objects (ie. geometric structures), lights and cameras (ie. fixed viewpoints). This world is described textually using the rules of the VRML format. Such VRML worlds can also include interactive content (eg. objects can interact with users and move, fade, make sounds etc). When you view a VRML world in a webbrowser what you see is the browsers representation of the world as described in the VRML file.It is usually the case that a VRML web page (or world) is made up of a series of files. The main file being the descriptive world file (ie. the worldname.wrl or worldname.wrl.gz file) and other files such as images (used for texture mapping onto objects) or sound files (used for playback in the browser).2.1How do VRML Web Pages work?Having developed your VRML world (either by hand writing it or using a tool like VRMLmagic), it functions as interactive 3D content on the web based on the following system:∙From within a browser application, the user clicks a VRML world file (eg.worldname.wrl)∙Browser identifies filetype of the main world file (eg worldname.wrl) as a VRML world∙Browser recognizes that it cannot directly display VRML worlds so it seeks a plug-in application to display the VRML content∙If user has a VRML plug-in then that plug-in application takes control of the window area specified and begins to load the VRML world∙The VRML file (containing the description of the world) is parsed (read through) by the plug-in and the geometry/lighting etc as described in the file is constructed and a 3D view of that world is displayed in the window areacontrolled by the VRML plug-in.∙The user can then view and interact with items in the 3D world (as it is displayed by the plug-in application)There are several options for building VRML worlds. In simple terms they break down into two areas:∙Use a Development Tool (eg. VRMLmagic) - on the positive side these are easy to use, give you easy access to the most powerful features of VRML andallow you to begin developing immediately without needing to learn thecomplex details of the VRML format.∙Hand Write a VRML File - this is clearly the best way to learn VRML development, however it will take you a lot longer, but if your objective is tolearn the details of the format then hand writing may be for you. Keep in mind that VRML is a relatively complex format and to access many of the powerful features (eg. animation and interaction) you will also need to have experiencewith programming and/or scripting.If you're planning on hand-writing your VRML worlds, we highly recommend that you get a hold of some of the reference books on writing VRML, in fact these books are recommended reading for anyone who wants to delve into the workings of VRML.As a general rule its probably best to use Development tools where possible as they generate reliable VRML and enable you to access many features that are difficult to implement by hand. If you're looking for the best of the development tools, they fall into one of three categories:∙Enhanced Text Editors - As VRML is a text based format, most of the current VRML authoring tools are basically enhanced Text editors, allowingyou to write your world by using some "enhanced" text editing features thatenable you to textually add differing node types from within the text editingsystem. These aren't hugely different to hand writing your world but they dooffer some features that make it quicker and easier to do the actual writing.∙Static Object Modelling Tools - Many/Most of the object modelling and CAD tools now support the VRML file format as an output option. These tools are excellent for constructing the geometric shape of complex objects,however they do not target VRML and as a result they are really only usefulfor making static objects (ie. they can't access the interactivity, multi views etc that VRML can make use of).∙Interactive VRML Specific Development Tools - These tools are aimed at making interactive VRML content and as such are the most likely to be of use (eg. VRMLmagic provides an interactive 3D workspace for you to lay outyour world and then you can simply add interactions by choosing from sets of available pre-defined actions. When compared to the complex VRML work,not to mention the scripting, needed to do this by hand, these tools willcertainly make building interactive 3D VRML files easier and much faster.VRML enables you to create interactive 3D content, for example you could make something as simple as a 3D heading or you could create large complex virtual reality style environments. The VRML format itself has no limitations on size or type of 3D content, so you can use it to make whatever type of 3D content you choose. Of course if you are planning to build large/complex VRML environments or worlds, its probably worth looking into the available VRML development tools to help with this (as its a huge task to hand write large complex worlds).VRML can be used for a range of possibilities, ranging from its original objective (ie. virtual reality on the web), where you specify a "world" in VRML and the user is able to walk around inside that virtual world. But its also very suited to smaller 3D elements (eg. 3D heading that spins or interactive 3D navigation bars) for web pages.Although you can simply use VRML to create and view your own 3D worlds locally (on your personal machine), the big advantage of VRML is that it is the internationally adopted standard for 3D content on the web and as such you can publish your VRML worlds for viewing on the internet.3.The Future for VRMLWith the development of X3D (the new version of VRML) currently underway, we are just now beginning to see the next step in the evolution of 3D web content. The title VRML may fade away but interactive 3D web content is now, for the first time, poised to become more than just a niche part of the web. Many of the issues that have held 3D back in the past are now either solved or being resolved and the future looks bright for VRML (in the form of its newest version X3D). We know that there is demand out there for 3D content and with the increasing availability of high end 3D graphics hardware, the issues of 3D performance are becoming less relevant. With todays mainstream machines now more than capable of displaying the richestX3D/VRML worlds.We are also beginning to see X3D/VRML development tools becoming available. Bringing VRML/X3D development to the masses. History has shown us the enormous growth that good development tools can make, bringing a whole new set of developers into the market.。