第4章虚拟现实建模语言VRML7419478.pptx
《第4章虚拟现实建模语言VRML7419478.pptx》由会员分享,可在线阅读,更多相关《第4章虚拟现实建模语言VRML7419478.pptx(75页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、虚拟现实技术天津天狮学院黄金栋4-2第4章 虚拟现实建模语言虚拟现实建模语言VRML 4.1VRML语言概述语言概述4.2VRML的语法基础的语法基础4.3VRML的空间造型的空间造型4.4VRML的场景效果的场景效果4.5VRML的动态交互的动态交互4-34.1 VRML语言概述4-44.1 VRML语言概述 VRML把“虚拟世界”看做是一个“场景”,而场景中的一切都被看做是“对象”,对场景中对象的描述就构成了VRML文件。VRML文件以正文格式存储,并以.wrl或.wrz扩展名作为后缀。当用户通过浏览器访问一个VRML文件时,浏览器会将VRML中的信息解释成对目标造型和场景的描述,并根据用
2、户在场景中的不同状态实时绘制和渲染这个虚拟空间。4-54.1 VRML语言概述 HTML用于定义可与更多信息相关联的二维页面的布局和内容。VRML用于定义可与更多信息相关联的三维页面的布局和内容。VRML不仅是针对VR,也是针对Web设计的。4-64.1 VRML语言概述4.1.1 VRML的发展历程4.1.2 VRML的特点4.1.3 VRML编辑器4.1.4 VRML浏览器4-74.1VRML语言概述4.1.1 VRML的发展历程1994年,年,Mark Pesce和和Tony Parisi创建了可用来浏览创建了可用来浏览Internet上三维上三维画面的浏览器原型,称为画面的浏览器原型,
3、称为Labyrinth(迷宫),首次提出了(迷宫),首次提出了VRML一词。一词。1994年,由年,由SGI公司的工程师公司的工程师Gavin Bell组织制订了组织制订了VRML 1.0的规范的规范草案,并于同年草案,并于同年10月在芝加哥召开的第二届万维网国际会议上公布。月在芝加哥召开的第二届万维网国际会议上公布。VRML 2.0是以是以SGI公司的公司的Moving Worlds提案为基础的,节点类型被提案为基础的,节点类型被扩展为扩展为54种,支持的对象也已包括动态和静态两大类。种,支持的对象也已包括动态和静态两大类。VRML的国际标准草案于的国际标准草案于1998年年1月正式获得月正
4、式获得ISO的认定和发布,通常的认定和发布,通常被称为被称为VRML 97。1998年,年,VRML组织更名为组织更名为Web3D组织,并制订了一个新的标准组织,并制订了一个新的标准X3D(Extensible 3D)。)。4-84.1VRML语言概述4.1.2 VRML的特点基于基于Internet共享的虚拟世界共享的虚拟世界较低的配置需求较低的配置需求 真正的动态交互真正的动态交互适用于网络现状的技术适用于网络现状的技术开放式的标准开放式的标准 4-94.1VRML语言概述4.1.3 VRML编辑器 编辑VRML源程序代码,可以使用几乎任何一种文本编辑器。在此推荐一个功能强大并且使用便捷的
5、VRML编辑器VrmlPad。VrmlPad的安装与运行:VrmlPad的试用版可以从VRML的资源站点下载安装即可。VrmlPad主要功能包括文件管理、文本编辑、浏览等。4-104.1VRML语言概述4.1.4 VRML浏览器 浏览VRML虚拟空间,需要使用浏览器插件,常用的有:Cosmo Player VRML浏览器Microsoft VRML 2.0浏览器其它浏览器,如SVR(兼容VRML97),Community Place,Liquid Reality等。显示在Cosmo Player VRML浏览器中的三维虚拟会议大厅 4-114.1VRML语言概述4.1.4 VRML浏览器Par
6、allelGraphics Cortona3D VRML浏览器4-124.2 VRML的语法基础4.2.1 VRML的组成要素4.2.2 VRML的文件结构4.2.3 VRML的空间计量4-134.2 VRML的语法基础4.2.1 VRML的组成要素 1、节点(Node)和域(Field)节点是VRML文件中最基本也是最核心的组成部分。单个节点可描述造型、颜色、光照、视点、传感器等。VRML虚拟世界的对象往往是由一组具有一定层次结构关系的节点来构造。域属于节点,由节点及其相关域定义的造型或属性在VRML空间中被视为一个整体。不同的节点可包含不同的域,域之间没有次序之分。4-144.2 VRML
7、的语法基础4.2.1 VRML的组成要素 1、节点(Node)和域(Field)典型节点语法定义如下:4-154.2 VRML的语法基础4.2.1 VRML的组成要素 2、事件(Event)和路由(Route)事件的接口类型有事件入口和事件出口两种:事件入口(eventIn,也称入事件)是节点的逻辑接收器,它负责监听和接收外界事件;事件出口(eventOut,也称出事件)是节点的逻辑发送器,它负责向外界发送节点产生的事件。4-164.2 VRML的语法基础4.2.1 VRML的组成要素 2、事件(Event)和路由(Route)事件出口和事件入口通过路径相连,这就是VRML文件中的另一个基本组
8、成部分路由。路由为事件的传播提供了传输通道,使事件在事件链中依次向前传递,每经过一个节点就改变该节点的一些域,从而引发VRML世界一系列的变化。4-174.2 VRML的语法基础4.2.1 VRML的组成要素 2、事件(Event)和路由(Route)典型的事件路由定义如下:DEF SENSOR TouchSensor#定义一个触摸传感器 DEF SOUND Sound#定义一个声音对象 ROUTE SENSOR.touchTime TO SOUND.startTime#建立事件的路由4-184.2 VRML的语法基础4.2.1 VRML的组成要素 3、脚本(Script)Java、JavaS
9、cript行为脚本、插补器、C+函数、VRMLScript、LiveConnect、VRML外部制作界面等,都是用于生成动态、复杂及逼真的VRML场景的技术、语言和API(Application Programming Interface)。Script节点可以看作是一个节点的外壳:它拥有域、eventIn事件、eventOut事件。其本身没有任何动作,但可以通过程序来赋予脚本节点动作。4-194.2 VRML的语法基础4.2.1 VRML的组成要素 4、原型(Prototype)用户还可以通过原型构造机制定义新的节点类型,例如新的几何节点、新的造型、新的材料和新的声音节点等。新节点类型既可以
10、在该原型定义的文件中引用(即内部原型,PROTO),也可以在外部文件中定义后在其它VRML文件中引用(即外部原型,EXTERNPROTO)。4-204.2 VRML的语法基础4.2.2 VRML的文件结构典型的VRML文件结构如下:#VRML V2.0 utf8#VRML文件头节点名#创建VRML中各种类型的节点以构成造型 域名 域值#设置节点的各个域和域值 Script#添加脚本节点,编写脚本程序 ROUTE TO#建立出事件与入事件间的路由4-214.2 VRML的语法基础4.2.2 VRML的文件结构1、文件头头文件(#VRML V2.0 utf8)向浏览器表述了如下含义:本文件是一个V
11、RML文件。本文件遵循VRML规范的2.0版本。本文件使用国际UTF-8字符集。UTF-8是是UNICODE的一种变长字符编码又称万国码,由的一种变长字符编码又称万国码,由Ken Thompson于于1992年创建。现在已经标准化为年创建。现在已经标准化为RFC 3629。UTF-8用用1到到6个字节编码个字节编码UNICODE字符。用在网页上可以在同一页面显示中文简体繁体及其它语字符。用在网页上可以在同一页面显示中文简体繁体及其它语言言(如日文,韩文如日文,韩文)4-224.2 VRML的语法基础4.2.2 VRML的文件结构2、造型物体的造型(又称场景图)由节点按一定的层次关系组成,它用于
12、构造虚拟世界的主体各种静态和动态对象。在造型层次模型中,上下层节点之间存在两种关系:包容关系和父子关系。节点的包容关系是指后代节点作为祖先节点的一个属性域而存在。在父子关系中,子节点并不直接出现在父节点的属性域中,它们集中在父节点的MFNode(多节点数据类型)子域内,依次排列。4-234.2 VRML的语法基础4.2.2 VRML的文件结构3、路由路由不是节点,路由语句可以放置在节点内域可以出现的任何地方。建议将所有ROUTE语句集中放置在文件的末尾,以构成一个系统的事件体系。路由中引用的节点名称都应该在ROUTE语句之前被定义。4-244.2 VRML的语法基础4.2.2 VRML的文件结
13、构4、注释注释信息以符号“#”开始,结束于该行的末尾,VRML不支持多行注释。文件头中的“#”不代表注释含义。4-254.2 VRML的语法基础4.2.3 VRML的空间计量1、VRML空间坐标系 VRML的立体空间采用三维坐标系。该坐标系的原点位于VRML浏览器的中心,X轴的正向水平向右,Y轴的正向垂直向上,Z轴的正向垂直向前,即指向浏览者,如图所示。4-264.2 VRML的语法基础4.2.3 VRML的空间计量2、VRML的计量单位VRML描述长度的计量单位是VRML单位。它与现实世界或其它三维建模工具的计量单位都没有可比性。VRML描述旋转等角度的计量单位是弧度。常用角度与弧度的对应关
14、系如表所示。角角 度度030456090120135150180弧弧 度度00.523 0.785 1.047 1.571 2.094 2.356 2.618 3.1414-274.2 VRML的语法基础4.2.3 VRML的空间计量3、VRML的色彩规范VRML使用红绿蓝(RGB)颜色规范来描述造型、光线和背景等的色彩。RGB颜色包含三个域值均在0.01.0之间的浮点数,它们分别对应红、绿、蓝三种颜色的取值。0.0值表示该颜色被关闭,1.0值表示该颜色完全打开。4-284.2 VRML的语法基础红红红红绿绿绿绿蓝蓝蓝蓝合成颜色合成颜色合成颜色合成颜色0.00.00.0黑色0.00.01.0蓝
15、色0.01.00.0绿色1.00.00.0红色1.01.01.0白色1.01.00.0黄色0.01.01.0蓝绿色1.00.01.0紫红色0.750.750.75浅灰色0.250.250.25暗灰色0.50.50.5中灰色0.50.00.0暗红色0.00.50.0暗绿色0.00.00.5暗蓝色RGBRGB三基色三基色三基色三基色组合颜色示例组合颜色示例组合颜色示例组合颜色示例4-294.3 VRML的空间造型4.3.1 基本造型4.3.2 空间变换4.3.3 文本造型4.3.4 复杂造型4-304.3 VRML的空间造型 任何一个VRML虚拟场景中的空间造型都必须使用Shape(形状)节点加以
16、创建。Shape节点的语法格式如下:Shape appearance NULL#SFNode geometry NULL#SFNode 4-314.3 VRML的空间造型(1)(2)(3)父节点域名域值或子节点域值类型Shape造型节点appearance外观特征域NULL 空值SFNode单值类型Appearance 外观节点geometry几何形状域NULL 空值Box 立方体节点Sphere 球体节点Cone 圆锥体节点Cylinder 圆柱体节点PointSet 点集节点IndexedLineSet 线集节点IndexedFaceSet 面集节点Extrusion 挤出造型节点Elev
17、ationGrid 网格标高造型节点Text 文本造型节点4-324.3 VRML的空间造型(1)(2)(3)父节点域名域值或子节点域值类型Appearance 外观节点material材质域NULL 空值SFNode单值类型Material 材质节点texture纹理映像域NULL 空值ImageTexture 图像纹理节点PixelTexture 像素纹理节点MovieTexture 电影纹理节点textureTransform纹理坐标变幻域NULL 空值IndexedFaceSet 面集节点4-334.3 VRML的空间造型Box size 2.0 2.0 2.0#SFVec3fSphe
18、re radius 1.0#SFFloatCone bottomRadius 1.0#SFFloat height 2.0#SFFloat side TRUE#SFBool bottom TRUE#SFBoolCylinder radius 1.0#SFFloat height 2.0#SFFloat side TRUE#SFBool bottom TRUE#SFBool top TRUE#SFBool4-344.3 VRML的空间造型Material diffuseColor 0.8 0.8 0.8#exposedField SFColor ambientIntensify 0.2#expo
19、sedField SFFloat specularColor 0 0 0#exposedField SFColor emissiveColor 0 0 0#exposedField SFColor shininess 0.2#exposedField SFFloat transparency 0#exposedField SFFloat4-354.3 VRML的空间造型视觉效果视觉效果视觉效果视觉效果材料漫反射颜色材料漫反射颜色材料漫反射颜色材料漫反射颜色环境光反射度环境光反射度环境光反射度环境光反射度物体镜面反射颜色物体镜面反射颜色物体镜面反射颜色物体镜面反射颜色材质外观亮度材质外观亮度材质
20、外观亮度材质外观亮度diffuseColordiffuseColorambientIntensityambientIntensityspecularColorspecularColorshininessshininess黄金黄金黄金黄金0.5 0.3 0.00.5 0.3 0.00.40.40.7 0.7 0.60.7 0.7 0.60.20.2白银白银白银白银0.5 0.5 0.70.5 0.5 0.70.40.40.8 0.8 0.90.8 0.8 0.90.20.2铜铜铜铜0.4 0.2 0.00.4 0.2 0.00.280.280.8 0.4 0.00.8 0.4 0.00.10.1
21、铝铝铝铝0.3 0.3 0.50.3 0.3 0.50.30.30.7 0.7 0.80.7 0.7 0.80.10.1红塑料红塑料红塑料红塑料0.8 0.2 0.20.8 0.2 0.20.10.10.8 0.8 0.80.8 0.8 0.80.150.15绿塑料绿塑料绿塑料绿塑料0.2 0.2 0.80.2 0.2 0.80.10.10.8 0.8 0.80.8 0.8 0.80.150.15蓝塑料蓝塑料蓝塑料蓝塑料0.2 0.8 0.20.2 0.8 0.20.10.10.8 0.8 0.80.8 0.8 0.80.150.154-364.3 VRML的空间造型4.3.1 基本造型 VR
22、ML的基本几何造型节点有4种:Box(立方体)节点Cone(圆锥体)节点Cylinder(圆柱体)节点Sphere(球体)节点 例4-1 制作灯笼 参见教材P 57。4-374.3 VRML的空间造型4.3.2 空间变换 利用Transform(变换)节点可以在VRML空间创建新的坐标系,可以随意translation(平移)、rotation(旋转)和scale(缩放)。例4-2 制作茶几 参见教材P 58。4-384.3 VRML的空间造型4.3.2 空间变换Transform children#exposedField MFNode translation 0.0 0.0 0.0#exp
23、osedField SFVec3f rotation 0.0 0.0 1.0 0.0#exposedField SFRotation scale 1.0 1.0 1.0#exposedField SFVec3f 4-394.3 VRML的空间造型4.3.3 文本造型Text(文本)节点用来创建文本造型,通常使用Shape节点的geometry域的域值。VRML文本造型是一个没有厚度的平面造型,但也可以具有不同的外观和材质属性。例4-3 恭贺新年 参见教材P 60。4-404.3 VRML的空间造型4.3.4 文本造型 Text string#exposedField MFString leng
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 虚拟现实 建模 语言 VRML7419478
限制150内