第二讲 VRML简介
- 格式:ppt
- 大小:948.50 KB
- 文档页数:60
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是几何体节点。
虚拟现实(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”的缩写形式,意思是“虚拟现实造型语言”。
熟悉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是虚拟现实造型语言(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程序的主体是节点语句,当然它还有文件头,一些复杂的程序还有路由语句。
程序的各个节点通过节点花括弧里的参数(参数有两类:字段及事件,但只有字段写在程序的节点语句中)定义了三维世界的形体及其属性。
动画及交互作用则是通过传感器节点、内插器节点、路由语句等完成的。
程序的主体是节点,因而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节点可以使多个物体组成一个节点组,节点组可以放置在空间的任意地方,也可以在程序中移动或旋转节点组的坐标,一个大节点组里可以有小节点组,小节点组里可以有小小节点组,每个节点组拥有一个坐标系,称为这个组的局部坐标系。