第10章 VRML(虚拟现实建模语音)视点控制

合集下载

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 实时操纵的软件实现
由于输出设备(显示器)是二维平面的,所以必须用二维来 模拟三维,即用不同的大小、不同的光线效果把一幅平面 图形“虚拟”成三维效果。当鼠标点中一个或远或近的物 体时,系统将鼠标所在位置都转化成为虚拟现实系统中的 三维坐标,这样就实现了用鼠标来定位一个三维坐标。

VRML

VRML



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 OpenGL (JOGL) 渲染,以Java WebStart或独立运行方式启动 (Windows MacOSX Linux Solaris) Vivaty X3D/VRML97 Player(以前的Flux),支持 Internet Explorer (Windows) SwirlX3D 一款免费的浏览器,由Pine Coast Software公司出品 (Windows)
下面以Bitmanagement公司的BS Contact 为例说 VRML/X3D浏览器的使用。 BS Contact插件可以在Bitmanagement公司网站上 下载免费版本,安装后会自动关联VRML文件。 由于BS Contac对VRML进行了关联,当打开一个 VRML文件时,会自动启动IE浏览器调用BS Contact渲 染三维场景,如图7-2-4所示。BS Contact 被设计为不 在屏幕上显示自身固定的用户界面。除了未注册版本的 水印,BS Contact 没有可见的东西。这可方便使用者可 以完全控制他们网站或应用程序的外观。
VRML是第二代Web语言



熟悉WWW的人都知道,受HTML的限制,网页只能是平 面的结构,就算 JAVA语言能够为网页增色不少, 但也 仅仅停留在平面设计阶段,而且实现环境与浏览者的动态 交互是非常繁琐的。 于是VRML应运而生。尤其是VRML 2.0标准,被称为第 二代Web语言,它改变了WWW上单调、交互性差的弱点, 将人的行为作为浏览的主题,所有的表现都随操作者行为 的改变而改变。 VRML创造的是一个可进入、可参与的世界。你可以在计 算机网络上看到一幅幅生动、逼真的三维立体世界,你可 以在里面自由的遨游;你可以将网络上流行的MUD游戏 转换为立体图形世界; 你可以将你公司的主页改编成三 维主页,让浏览者领略到你公司的实貌,而不仅仅是简单 的文本、表格...

第1章 VRML(虚拟现实建模语音)概述

第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 景物,但没有声音和动画,你可以在它 们之间移动,但不允许用户使用交互功能来浏览三维世界。它只有 一个可以探索的静态世界。除此之外,没有其他的功能。

第12章 VRML(虚拟现实建模语音)脚本节点

第12章 VRML(虚拟现实建模语音)脚本节点

12.4 EXTERNRPOTO创建外部定义的新节点
EXTERNPROTO NodeName [ #Any number of: Field fieldTypeName fieldName initialValue exposedField fieldTypeName fieldName initialValue EventIn eventTypeName eventName EventOut eventTypeName eventName ] “VRML外部文件名#某新节点名”或url or [urlList]
X3D的概述
X3D 是 VRML的继承。VRML(Virtual Reality Modeling Language 虚拟现实建模语言)是原来的网络3D图形的ISO标准(ISO/IEC 14772) 。X3D 相对VRML改进,提供了很多的新特性(见第一章) 在2002年3月份 X3D 第一版发布以来,已经有基于Java的源码开放的 网络3D软件问世。因此,Web3D联盟在制定标准时成立了Java 语言翻 译工作小组以便允许Java 程序能够与新的3D标准程序相协调。这也 最终结束与Sun的网络3D技术Java3D technology 之间的冲突。 Web3D联盟于2003年10月份向国际标准组织提请标准申请,x3D已正式 成为国际通用标准。
X3D的编辑器
二、 X3D的编辑器--X3D-Edit X3D-Edit 是图形化 Extensible 3D (X3D) 文件编辑器。X3D-Edit 通过 X3D 3.0 DTD 定义的 X3D 3.0 tagset 标签集来定制 Java 平台下的通用 XML 编辑器,并使用 IBM Xeena 为定制的 X3D 场景图编辑器。 在编辑 VRML 或 X3D 场景图文件时,X3D-Edit 可以提供简化的无错的创作 和编辑方式。X3D-Edit 通过 XML 文件定制了上下文相关的工具提示,提供 了每个节点和属性的概要,以方便作者对场景图的创作和编辑,如下图所示 。 X3D-Edit 具有下列特性: 1、直观的图形化的用户界面 2、建立符合规范的场景图文件:节点总是放置在合适的位置 3、验证 X3D 场景是否符合 VRML 97 概貌或 Core 概貌 4、自动转换 X3D 场景到 VRML 并启动浏览器自动察看结果 5、VRML97 文件的导入与转换

虚拟现实(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)沉浸性。

虚拟现实技术是根据人类的视觉、听觉的生理心理特点,由计算机产生逼真的三维立体图像,使用者戴上头盔显示器和数据手套交互设备,便可将自己置身于虚拟环境中,成为虚拟环境中的一员。

第11章-VRML(虚拟现实建模语音)交互与动画效果的实现

第11章-VRML(虚拟现实建模语音)交互与动画效果的实现
❖ Enabled 域 的 值 指 定 了 时 间 传 感 器 的 打 开 和 关 闭 。 如 果 该 域 值 为 TRUE,时间传感器被打开;域值为FALSE时,时间传感器被关闭。 其缺省值为TRUE。
❖ Loop域的值指定了时间传感器是否循环输出。如果该域值为TRUE, 则时间传感器将从0.0到1.0这段时间间隔内输出浮点时刻。而在时间 间隔的结尾,返回到0.0,开始新的循环。如果该域值为FALSE,时 间传感器不循环,只从0.0到1.0输出一次。
❖ 11.1.2.2 CoordinateInterpolator节点
❖ CoordinateInterpolator节点是表示坐标插值的节点,该节点在一组MFVec3f 值之间进行线性插值,通过使用该节点,一个造型的组成坐标可以变化。同 ColorInterpolator节点一样,CoordinateInterpolator节点也不创建任何造型, 在VRML场景中也是不可见的。
ExposedField SFBool
}
isActive
time
cycleTime
fraction_changed
cycleInterval 1.0
enabled
TRUE
startTime
0
stopTime
0
loop
FALSE
11.1 动画效果
❖ cycleInterval域的值指定了一个时间长度,用来说明这个时间传感器 从0.0时刻到1.0时刻之间的周期间隔,单位为秒。该域值必须大于0.0 ,其缺省值为1.0秒。
❖ 其节点语法定义如下:
CoordinateInterpolator{
ExposedField MFFloat
key []

虚拟现实(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篇

虚拟现实技术――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世界静态特征的节点等级:几何关系、质材、纹理、几何转换、光线、视点以及嵌套结构。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

10.2 节点介绍
10.2.2 NavigationInfo节点
NavigationInfo节点用来提供有关浏览者替身的信息和该替身如何使 用当前的视点导航。 其节点语法定义如下: NavigationInfo{ EventIn SFBool set_bind ExposedField MFFloat avatarSize [0.25,1.6,0.75] ExposedField SFBool headlight TRUE ExposedField SFFloat speed 1.0
10.2 节点介绍
VisibilityLimit域的值指定了用户能够观察到的最大距离。该域值的缺 省值为0.0,表示最远可以观察到无穷远处,visibilityLimit域值必须大 于0 。如果观察者在最大观察距离之内没有观察到任何对象则显示背 景图。在构造一个大的 3D 场景时,有必要修改 visibilityLimit,因为一 个大的3D场景运算量是很大的,比如虚拟城市,当远景看不到或可忽 略时,就可以利用 visibilityLimit域来定义用户能够观察到的最大距离 。 AvatarSize域的值指定了三维空间中浏览者替身的尺寸。在运行 VRML程序时,可以假设三维空间中一个不可见的浏览者替身,通过 利用该替身来进行碰撞检测。AvatarSize域有三个参数,第一个参数 用于指定替身与其他几何体发生碰撞的最小距离,第二个参数用于定 义替身距地面的高度,第三个参数用于指定替身能够跨越的最大高度 。AvatarSize定义了一个圆柱体如图10.2视点就是一个你所浏览的空间中预先定义的 观察位置和空间朝向,在这个位置上通过这个朝向,浏 览者就可以观察到虚拟世界中相应的场景。 当然,同其他节点一样,在VRML虚拟世界中可以创建多 个视点,以供浏览者选择。不过浏览者在任何时候,在 一个虚拟空间中只有一个空间视点可用,也就是说不允 许同时使用几个视点,这与人只有一双眼睛是相符合的 。视点绑定可使你控制那个可用的视点,并可从一个视 点切换到另一个视点。
10.2 节点介绍
FieldOfView 域的值指定了视点中视角的大小,其是以弧 度为单位的。大的角度产生类似广角镜头的效果,而小的 角度产生类似远焦镜头的效果。该域值在0.0和3.142之间 设定,即0度和180度之间。其缺省值为0.785398,即45度 角,这和现实中人们的视野范围接近。 Description域的域值指定了一个用于描述视点的字符串, 也可以说是该视点的名字。通过该域值,人们可以很方便 地找到自己感兴趣的视点,这些字符串会出现在空间视点 列表中,以供人们选择。该域值的缺省值为空字符串。
Viewpoint{ ExposedField 0.0 1.0 ExposedField ExposedField Field ExposedField EventIn EventOnt EventOut } SFVec3f SFRotation SFFloat SFString SFBool SFBool SFBool SFTime position 0.0
第十章 视点控制
当我们在商场或超市选购东西时,一般不是每 一件物品都要看的,而是直奔有自己所感兴趣的东 西的地方。在VRML虚拟世界中也一样,并不是每 一个场景都是浏览者所要看的,浏览者往往只会寻 找自己感兴趣的东西,但寻找有用的东西常常需要 花费大量的时间和精力则是浏览者不想的,这就涉 及到VRML的视点控制。VRML提供了两个用来创 建视点的节点:Viewpoint节点和NavigationInfo节点。
10.2 节点介绍
ExposedField ExposedField EventOut MFString SFFloat SFBool type [“WALK”,”ANY”] visilibityLimit 0.0 isBound
} speed域的值指定了浏览者在场景中行进的速度,它是以m/s为单位 的。大多数浏览器都可以通过浏览器本身的设置来改变漫游速度,漫 游的速度也会受到浏览器的设置的影响。当采用EXAMINE导航方式 时,speed域不会影响观察旋转的速度。如果type域设置的是none, 漫游速度将变为0,浏览者的位置将被固定,但浏览者改变视角将不 受影响。
10.1 基本概念
从一个视点切换到另一个视点有两种途径,一是跳跃型的 ,一是非跳跃型的。前面所说的顾客在网上虚拟超市购物 ,就是跳跃型视点,该类型视点一般用来说明那些在虚拟 世界中重要的、有趣的和顾客感兴趣的观察地点,他们提 供了一种快捷方便的机制,使浏览者不必浏览每一个景点 。而非跳跃型视点一般用来建立一种从一个坐标系到另一 个坐标系的平滑转换,也可称是快速浏览。 导航就是在VRML虚拟世界中使用一个三维的造型作为浏 览者在虚拟世界中的替身,并可使用替身在虚拟世界中行 走,通过该替身来观看虚拟世界,还可以通过替身去进行 交互。
10.2 节点介绍
Jump 域的值指定了视点是跳跃型还是非跳跃型的,该域 值为布尔型数值, TRUE 表示跳跃型的空间视点, FALSE 表 示非跳跃型的空间视点。该域值的缺省值为TRUE,即为跳 跃型的。 事件入口set_bind、事件出口isBound和事件出口 bindTime主要用于空间视点之间相互转换的时候。
10.2 节点介绍
10.2.1 Viewpoint节点 Viewpoint 节点说明了一个 VRML 空间坐标系中的观察位置 ,指定了这个观察位置在VRML空间的三维坐标,空间朝向 以及视野范围等参数。该节点既可作为独立的节点,也可 作为其他组节点的子节点。 其节点语法定义如下:
10.2 节点介绍
10.2 节点介绍
图10.2.2 定义圆柱体
10.2 节点介绍
Type域的值指定了浏览者的漫游类型,该域值可以在 ANY、WALK、FLY、EXAMINE、NONE这5种类型中进 行转换。其中WALK表示行走方式,替身会受到重力的影 响。FLY表示飞行方式,替身可飞来飞去,不受重力和地 形的影响。EXAMINE方式表示替身不能移动,为改变替 身与物体之间的距离,只能移动物体。NONE表示不提供 导航方法,浏览者只能使用所创建的活动特性来移动。 ANY表示浏览器支持以上4种浏览方式。该域值的缺省值 为WALK。
orientation 0.0 0.0 1.0 0.0 fieldOfView 0.785398 description “” jump TRUE set_bind isBound bindTime
10.2 节点介绍
position域的值指定了一个三维坐标,用来说明这个Viewpoint节点在 VRML 场景中所创建的空间视点的空间位置。该域值的缺省值为 0.0 0.0 1.0,即将视点放在Z轴正方向的距离坐标原点 1.0个单位长度的 地点上。 Orientation域的值指定了一个空间朝向,就是浏览者在虚拟世界中面 对的方向,但不是直接给出方向,而是提供了一个视点绕其旋转的旋 转轴,旋转角度指定了绕此轴旋转的数值。VRML中初始化的视点与 Z轴负方向对齐,X轴正方向指向右,Y轴正方向指向正上方。 Orientation域给出的域值是相对初始化的空间朝向的旋转角度。该域 值的前三个值说明了一个三维矢量,即X,Y和Z分量,最后一个值为弧 度度量,说明了旋转角度的正负。该域值的缺省值为0.0 0.0 1.0 0.0 ,即没有发生旋转。
相关文档
最新文档