VRML介绍--虚拟现实造型语言
- 格式:doc
- 大小:36.50 KB
- 文档页数:5
第五章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浏览器。
第三部分虚拟现实技术--VRML篇3 VRML基本语法及应用3.1 VRML造型VRML造型主要通过几何节点和几何属性节点来实现。
由于这些节点属于辅助节点,不能直接放进场景图,因此要实现VRML造型还需要一个Shape节点。
几何节点是通过Shape 节点的geometry域来包含的,几何属性节点是通过Shape节点的appearance域来包含的。
用于造型的节点:共22个形状(Shape)节点1个几何节点10个:Box(长方体)、Cone(圆锥)、Cylinder(圆柱)、ElevationGrid(标高格阵)、Extrusion(挤出面)、IndexedFaceSet(索引面集)、IndexedLineSet(索引线集)、PointSet(点集)、Sphere(球面)、Text(文本)几何属性节点10个:Appearance(外观、Color(颜色)、Coordinate(坐标)、ImageTexture (图像纹理)、Material(材质)、MovieTexture(影像纹理)、Normal(法线)、PixelTexture (像素纹理)、TextureCoordinate(纹理坐标)、TextureTransform(纹理变换)字型(Fontstyle)节点:1个3.1.1 基本造型由Shape节点、Appearance节点、Material节点和基本几何节点共同实现。
3.1.1.1 Shape节点3.1.1.2. 基本的几何造型节点基本的VRML造型节点有Box,Cylinder,Cone,Sphere节点。
例3-1-1:#创建一个长宽高分别为4.0,1.0,4.0个vrml单位的长方体#VRML V2.0 utf8Shape{appearance Appearance {material Material { }}geometry Box{size 4.0 1.0 4.0}}例2:#创建一个底面半径为4.0高为1.0只有底面的圆柱体#VRML V2.0 utf8Shape{appearance Appearance {material Material { }}geometry Cylinder {radius 4.0height 1.0top FALSEside FALSE}}例:#创建一个底面半径为2.0单位高为1.0单位的圆锥#VRML V2.0 utf8Shape{appearance Appearance {material Material { }}geometry Cone {bottomRadius 2.0height 1.0}}3.1.1.3 节点的编组例:航空塔模型以sphere、box、cylinder、cone为节点创建一个航空塔的三维模型,其中用DEF定义了一个名字为bwhite的appearance的节点。
VRML介绍--虚拟现实造型语言VRML是“Virtual Reality Modeling Language”的缩写形式,意思是“虚拟现实造型语言”。
熟悉WWW的人们都知道,受HTML语言的局限性,VRML之前的网页只能是简单的平面结构,就算Java语言能够为WWW增色不少,但也仅仅停留在平面设计阶段,而且实现环境与参与者的动态交互是非常烦琐的。
于是,VRML就应运而生了。
第一代Web是以HTML为核心的二维浏览技术,第二代Web是以VRML为核心的三维浏览技术。
第二代Web把VRML与HTML、Java、媒体信息流等技术有机地结合起来,形成一种新的三维超媒体Web。
RML被称为继HTML之后的第二代Web语言,它本身是一种建模语言,也就是说,它是用来描述三维物体及其行为的,可以构建虚拟境界(Virtural Worl d), 可以集成文本、图像、音响、MPEG影像等多种媒体类型,还可以内嵌用Ja va、ECMAScript等语言编写的程序代码。
VRML的基本目标是建立因特网上的交互式三维多媒体,基本特征包括分布式、三维、交互性、多媒体集成、境界*真性等。
VRML的出现使得虚拟现实象多媒体和因特网一样逐渐走进我们的生活,简单地说,以VRML为基础的第二代万维网=多媒体+虚拟现实+因特网。
第一代万维网是一种访问文档的媒体,能够提供阅读的感受,使那些对Windows风格的PC 环境熟悉的人们容易使用因特网,而以VRML为核心的第二代万维网将使用户如身处真实世界,在一个三维环境里随意探究因特网上无比丰富的巨大信息资源。
每个人都可以从不同的路线进入虚拟世界,和虚拟物体交互,这样控制感受的就不再是计算机,而是用户自己,人们可以以习惯的自然方式访问各种场所,在虚拟社区中“直接”交谈和交往。
事实上,目前采用VRML技术取得成功的案例已经很多,例如探路者到达火星后的信息就是利用VRML在因特网上即时发布的,网络用户可以以三维方式随探路者探索火星。
虚拟现实(VRML语言)摘要:虚拟现实技术是利用计算机的图形环境和电子技术外设产生逼真的视、听、触、力等伪物质三维感觉环境。
VRML 是面向实时漫游的虚拟现实造型语言。
本文简要介绍了虚拟现实技术的概念、技术特征、应用及VRML的概念、发展与构造,并讨论了VRML在虚拟现实技术应用中重要地位。
关键词:计算机;虚拟现实;VRML1 虚拟现实技术1.1虚拟现实技术的概念虚拟现实(Viamal Reality)技术是20世纪90年代以来兴起的一种新型信息技术,是一种新的人一机界面形式。
它追求的是将传统的计算机从一种需要人用键盘、鼠标对其进行操作的设备变成了人处于计算机创造的人工环境中。
用户借助物定装备(如数据手套、头盔等)以自然方式与虚拟环境交互作用、相互影响,从而获得与真实世界等同的感受以及在现实世界中难以经历的体验。
1.2虚拟现实技术的发展过程虚拟现实技术的起源可以追溯到1970年,任Ivan Suther Land领导下研制成功了第一个头盔显示器。
人们戴上头盔显示器,可以看到一个边长5厘米的立方体线框图飘浮在自己眼前。
当实验者转动头部时,可以看见这个发光的立方体的不同侧面,可以像真实世界中那样来确定这个物体的形状和位置。
1972年Nolan·Bushnell发明了电子游戏rorh;1985年,Apple公司的Macintosh开始研制Sinmet,1989年Sinmet完成。
NASA的Ames研究中心利用Radioshaek公司的袖珍式液晶显示电视的屏幕研制成为头戴式虚拟现实眼镜,并研制成第一台商用虚拟现实硬/软件,美国空军的Supemoelwit 飞行模拟器。
虚拟现实这个名词已成为平常生活话题。
1.3虚拟现实技术的特征虚拟现实技术具有以下三个基本特征:(1)沉浸性。
虚拟现实技术是根据人类的视觉、听觉的生理心理特点,由计算机产生逼真的三维立体图像,使用者戴上头盔显示器和数据手套交互设备,便可将自己置身于虚拟环境中,成为虚拟环境中的一员。
VRML 读书报告引言VRML(Virtual Reality Modeling Language)是Internet上基于www(World Wide Web)的具有交互性的虚拟现实建模语言,是HTML的三维模拟,它使用VRML 浏览器能读懂的ASCii文本格式来描述世界和链接。
VRML的出现使得虚拟现实像多媒体和因特网一样逐渐走进我们的生活,简单地说,以VRML为基础的第二代万维网=多媒体+虚拟现实+因特网。
第一代万维网是一种访问文档的媒体,能够提供阅读的感受,使那些对Windows 风格的PC环境熟悉的人们容易使用因特网,而以VRML为核心的第二代万维网将使用户如身处真实世界,在一个三维环境里随意探索因特网上无比丰富的信息资源。
每个人都可以从不同的路线进入虚拟世界,和虚拟物体交互,这样控制感受的就不再是计算机,而是用户自己,人们可以以习惯的自然方式访问各种场所,在虚拟社区中“直接”交谈和交往。
事实上,目前采用VRML技术取得成功的案例已经很多,例如“火星探路者”到达火星后的信息就是利用VRML在因特网上即时发布的,网络用户可以以三维方式随“火星探路者”探索火星。
还有,可以把将要开发建筑成的住宅小区作成VRML模型,供顾客们在虚拟空间遨游来决定自己最终需要的房间等[1]。
目录VRML 读书报告 0目录 (1)第一章VRML 简介 (3)1.1VRML的发展历史 (3)1.2VRML原理与虚拟境界 (4)1.2.1VRML文件 (4)1.2.2VRML的工作原理 (4)1.2.3VRML虚拟境界 (4)1.3VRML的制作 (5)第二章VRML 核心概念和体系结构 (6)2.1 VRML核心概念 (6)2.1.1文件头(header) (6)2.1.2场景图(scene graph) (6)2.1.3原型 (8)2.2路由(ROUTE)和事件体系 (8)第三章VRML节点技术 (10)第四章VRML基本图形原理 (42)4.1二维图形变换的基本原理 (42)4.1.1基本概念 (42)4.1.2基本变换类型 (42)4.1.3复合变换 (46)4.3.1三维图形的基本变换 (47)4.3窗视变换与裁剪 (49)4.3.2常用的坐标系 (49)4.3.3窗视变换 (49)4.3.4裁剪 (50)4.4VRML中的线性变换举例 (50)4.4.1例程一 (51)4.4.2例程二 (51)4.4.3例程三 (53)4.4.4例程四 (54)第五章场景交互 (56)5.1VRML简单交互 (56)5.2VRML扩展交互 (56)5.2.1脚本编程接口SAI交互 (56)5.2.2外部编程接口(EAI)交互 (58)5.3VRML交互举例 (58)第六章VRML展望 (62)参考文献 (63)第一章VRML 简介熟悉WWW的人都知道,受HTML的限制,网页只能是平面的结构,就算JAVA语言能够为网页增色不少,但也仅仅停留在平面设计阶段,而且实现环境与浏览者的动态交互是非常繁琐的,于是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是“Virtual Reality Modeling Language”的缩写形式,意思是“虚拟现实造型语言”。
熟悉WWW的人们都知道,受HTML语言的局限性,VRML之前的网页只能是简单的平面结构,就算Java语言能够为WWW增色不少,但也仅仅停留在平面设计阶段,而且实现环境与参与者的动态交互是非常烦琐的。
于是,VRML就应运而生了。
第一代Web是以HTML为核心的二维浏览技术,第二代Web是以VRML为核心的三维浏览技术。
第二代Web把VRML与HTML、Java、媒体信息流等技术有机地结合起来,形成一种新的三维超媒体Web。
RML被称为继HTML之后的第二代Web语言,它本身是一种建模语言,也就是说,它是用来描述三维物体及其行为的,可以构建虚拟境界(Virtural World),可以集成文本、图像、音响、MPEG影像等多种媒体类型,还可以内嵌用Java、ECMAScript等语言编写的程序代码。
VRML的基本目标是建立因特网上的交互式三维多媒体,基本特征包括分布式、三维、交互性、多媒体集成、境界*真性等。
VRML的出现使得虚拟现实象多媒体和因特网一样逐渐走进我们的生活,简单地说,以VRML为基础的第二代万维网=多媒体+虚拟现实+因特网。
第一代万维网是一种访问文档的媒体,能够提供阅读的感受,使那些对Windows风格的PC环境熟悉的人们容易使用因特网,而以VRML为核心的第二代万维网将使用户如身处真实世界,在一个三维环境里随意探究因特网上无比丰富的巨大信息资源。
每个人都可以从不同的路线进入虚拟世界,和虚拟物体交互,这样控制感受的就不再是计算机,而是用户自己,人们可以以习惯的自然方式访问各种场所,在虚拟社区中“直接”交谈和交往。
事实上,目前采用VRML技术取得成功的案例已经很多,例如探路者到达火星后的信息就是利用VRML在因特网上即时发布的,网络用户可以以三维方式随探路者探索火星。
VRML的工作原理VRML是一种用在Internet 和Web超链上的,多用户交互的,独立于计算机平台的,网络虚拟现实建模语言。
虚拟世界的显示、交互及网络互连都可以用VRML 来描述。
VRML的设计是从在WEB上欣赏实时3D图象开始的。
VRML浏览器既是插件,又是帮助应用程序,还是独立运行的应用程序,它是传统的虚拟现实中同样也使用的实时3D着色引擎。
这使得VRML应用从三维建模和动画应用中分离出来,在三维建模和动画应用中可以预先对前方场景进行着色,但是没有选择方向的自由。
VRML提供了6+1度的自由,用户可以沿着三个方向移动,也可以沿着三个方向旋转,同时还可以建立与其它3D空间的超链接。
因此VRML是超空间的。
VRML定义了一种把3D图形和多媒体集成在一起的文件格式。
从语法角度看,VRML文件是显式地定义和组织起来的3D多媒体对象集合;从语义角度看,VRML 文件描述的是基于时间的交互式3D多媒体信息的抽象功能行为。
VRML文件描述的基于时间的3D空间称为虚拟境界(Virtual World),简称境界,所包含的图形对象和听觉对象可通过多种机制动态修改。
VRML文件可以包含对其他标准格式文件的引用。
可以把JPEG、PNG和MPEG 文件用于对象纹理映射,把WAV和MIDI文件用于在境界中播放的声音。
另外,还可以引用包含Java或ECMAScript代码的文件,从而实现对象的编程行为。
所有这些都是由其他标准提供的,之所以在VRML中选用它们,是因为它们在Inte rnet上的广泛应用。
VRML 97规范描述了它们在VRML中的用法。
VRML使用场景图(Scene Graph)数据结构来建立3D实境,这种数据结构是以SGI开发的Open Inventor3D工具包为基础的一种数据格式。
VRML的场景图是一种代表所有3D世界静态特征的节点等级:几何关系、质材、纹理、几何转换、光线、视点以及嵌套结构。
几乎所有生产厂商,无论是CAD、建模、动画、VR,还是VRML,他们的结构核心都有场景图。
境界中的对象及其属性用节点(Node)描述,节点按照一定规则构成场景图(S cene Graph),也就是说,场景图是境界的内部表示。
场景图中的第一类节点用于从视觉和听觉角度表现对象,它们按照层次体系组织起来,反映了境界的空间结构。
另一类节点参与事件产生和路由机制,形成路由图(Route Graph),确定境界随时间的推移如何动态变化。
VRML文件的解释、执行和呈现通过浏览器实现,这与利用浏览器显示HTML 文件的机制完全相同。
浏览器把场景图中的形态和声音呈现给用户,这种视听觉呈现即所谓的虚拟世界(境界)。
用户通过浏览器获得的视听觉效果如同从某个特定方位体验到的,境界中的这种位置和朝向称为取景器(Viewer)。
VRML的访问方式是基于客户/服务器模式的。
其中服务器提供VRML文件及支持资源(图像、视频、声音等),客户端通过网络下载希望访问的文件,并通过本地平台上的VRML浏览器交互式地访问该文件描述的虚拟境界。
由于浏览器是本地平台提供的,从而实现了平台无关性。
下图描述了VRML的工作方式。
VRML是一个开发标准,为了加强协作,避免技术重复和市场冲突,而鼓励其他技术引用VRML或成为VRML的一部分。
与VRML关系密切的三项技术是Java3D、MPEG-4和Chrome。
其中,Java3D和VRML都把3D Web作为关键应用对象,前者的优势在于程序设计,后者的优势在于场景构造,二者在可编程性3D Web应用方面密切合作。
MPEG-4面向基于内容的交互式视讯应用,可以为VRML提供流技术、压缩和音响同步技术,而MPEG-4用VRML来描述3D内容。
在2D页面集成方面,可以探索VRML和Microsoft的Chrome协作的可能性。
VRML的应用VRML在电子商务、教育、工程技术、建筑、娱乐、艺术等领域的广泛应用,将会促使它迅速发展,并成为构建网络虚拟现实应用系统的基础。
虚拟现实作为一种全新的人机接口技术,必须研究用户和计算机之间的协调关系问题,这样一个问题只有通过大量的使用才能逐步解决,VRML以因特网作为应用平台,最有希望成为构筑虚拟现实应用的基本构架。
自从1994 年以来,欧洲数字城市会议每年举行一次,最近的数字城市的活动中加入了三维技术,基于VRML 的实验性数字城市主要有数字化赫尔辛基、柏林、华盛顿特区、洛杉矶和京都。
我国上海交通大学ICHI 实验室在这方面也作了大量研究。
国内还开发过一些基于VRML97的应用系统,如浙江公众信息产业有限公司的3Dworld。
例如在教育上,VRML不仅仅是HTML功能更强的替代品,其潜在意义在于突破上述基于WWW的教学模型建立更自然、更真实的虚拟教育环境。
在这种环境中学生可以以浏览探索的方式汲取知识,如进入虚拟太空学习天文知识,利用虚拟地球学习地理知识,穿过历史长廊与历史人物交流,进入分子世界游历化学殿堂等等,这些曾经是梦想中的学习方式都可以逐步实现。
在这个虚拟教育世界中,甚至可以有利用VRML制作的动画人物扮演教师,其面部表情和形体动作利用动作跟踪系统捕捉下来,这样得到的讲课节目将是三维的,更重要的是它不像视频节目那样需要大量的存储量和网络带宽,用户通过Modem和电话线即可收看这种节目,其有关试验最近已经取得成功。
如果把这种方式扩大到教学双方,则可实现具有实时交互性的虚拟教学——教师控制的虚拟教师和学生控制的虚拟学生就可以在一个虚拟教室中相互交流。
VRML将创造一种融多媒体、三维图形、网络通讯、虚拟现实为一体的新型媒体,兼具先进性和普及性,是关心三维图形、多媒体、新一代网页开发和虚拟现实技术的人士应密切注意的。
VRML的历史最初的三维浏览器叫做Labyrith,它诞生于1994年2月,是由Mark Pesce和T ony Parisi两人开发的。
他们把它带到几个国际大型展示会上作了演示。
1994年5月,在瑞士日内瓦召开的万维网(www)会议上,Mark Pesce和Tony Pari si在会上介绍了这个可浏览万维网上三维物体的界面。
这时,由一个情趣相投者联谊会BOF马上产生强烈的反响,决定开发一种场景描述语言,它可以连通W eb网。
当代Web的奠基人Tim Berners-Lee 提出了需要制定一个3D Web 标准,并创建了虚拟现实标记语言VRML(Virtual Reality Markup Language) 这一名字。
(BOF来自一句英语的谚语:Birds of a feather)Parisi和Pesce认为推广它的最好的方式就是免费赠送,并说服了美国《线路通》(Wired)杂志的Brian Behlendorf开始设置名为www-vrml的电子邮件列表,在一个月之内,收集到一份有意于参与开发VRML人员的电子邮箱通讯录,那只不过是开初一周内登录的志愿人员,已超过千人。
VRML的名字很快更改为“Virtual Reality Modeling Language”即“虚拟现实造型语言”,以反映它强调的是整个世界,而不是单纯的文本页。
其中有一位Gavin Bell,他是SGI(硅图公司Silicon Graphics Inc.)的工作组的工程师。
Open Inventor是SGI推出的一工具软件,便于程序员快速、简洁地开发各种类型的交互式3D图形程序。
这种工具软件的编制是基于场景结构和对象描述概念和手段。
1992年,最初发布时名称为Inventor。
工作组每周举行一次例行的午餐会,尽管外人对其中奥妙一无所知,但很多工作组的内部事务,往往在这种不拘形式的随意交谈中得以完成。
Gavin Bell 正是利用了一次这种场合,告诉他的主管经理Rill Carey关于VRML的事情,说明急需建立一种可在Web网上运行、描述3D场景的语言。
到聚餐结束时,Care y已决心从事于这场新的开拓(后来两人合办了Wasabisoft)。
1994年初夏,第一次WWW会议期间初步决定,十月份在芝加哥召开第二次W WW会议,也就是说只留出五个月的时间。
在这段时间里,能否拟出一个VRML规范的初步方案?BOF成员和自愿加入开发新规范行列的热心网客信心十足。
他们一致认为:在下次会议之前,一个内部试用语言规范一定能完成。
总的意向是:就一个业已存在的语言加以改造比较稳妥,而另起炉灶,从头开始重干一个全新,则不太可行。
事实上,不过用了两周时间,Bell就提出了SGI的方案它是一个经过修改的Open Inventor 3D模拓文件(Metafile,元文件)格式的子集,在附加一些处理网络的相应功能和措施。
SGI同意将这种新的文件格式。