第十章_VRML环境下图形系统设计

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

2020/6/1
计算机图形学
14
10.4.3 添加球体
• 在场景中添加球体造型要用到Sphere节点, Sphere节点创建的是一个以坐标原点为中 心的球体,有一个域,即radius域。
• 域值类型为SFFloat类型,球体的半径由 域radius的域值确定,radius的默认域值 为1.0个单位。
• 虚拟现实技术有3个基本特征:沉浸感, 交互感,构想。
2020/6/1
计算机图形学
2
10.2 VRML概述
• VRML(Virtual Reality Modeling Language) 即虚拟现实建模语言。该语言就是通过创建 一个虚拟场景以达到现实中的效果。VRML被 广泛应用于Internet上创建虚拟三维空间, 利用VRML可以随意创建任何虚拟的物体,像 建筑物、城市、山脉、星体等对象。当然也 可以在虚拟空间中添加声音、动画,使之更 加生动,更接近现实。
• 1. 在不同方向上的缩放
通过对Transform节点的scale和 scaleOrientation域的使用,可以沿任何方 向缩放需要的造型
• 2. 围绕中心点的缩放
使用Transform的center域可以指定一个 缩放中心,使要创建的造型根据需要相对 该点来进行缩放,像旋转中心一样,围绕 点的缩放有时会对造型的创建提供比在不 同方向上的缩放更大的方便。
• Plan的浏览方式为模拟在虚拟三维世界中的一个平 面内的平移。
• Pan的浏览方式为模拟在三维世界中的垂直的上下或 者左右的平移。
2020/6/1
计算机图形学
4
10.2 VRML概述
• Turn的浏览方式为改变浏览者的视角 • Roll的浏览方式为在虚拟三维世界中的一
个垂直平面上实现顺时针或者逆时针方向 的视角变化。 • Goto的浏览方式为走近你所要观察的对象 • View试点控制。 • Restore视点控制。
• 2. 域和域值 域定义节点的属性,域值是对属性的具体描述。
• 3. 事件 事件是按照指定的路由从一个节点发往另一个节 点的消息。
• 4. 路由 • 5. 交互和脚本
2020/6/1
计算机图形学
8
10.3.3 VRML空间计量单位
• 1) 长度单位 长度单位也叫VRML单位,简称单位,用 来计量造型的尺寸和位置。
2020/6/1
计算机图形学
26
10.6 真实感场景创建
• 10.6.1 光照 • 在VRML中添加并控制光照是通过
PointLight节点、DirectionalLight节点和 SpotLight节点来实现的。 • VRML通过对物体表面的明暗分布的计算, 使物体同环境产生明暗对比,这样,物体 看起来就像是在发光。
2020/6/1
计算机图形学
29
10.6.2 纹理
• 1. ImageTexture节点 • ImageTexture是图像纹理节点,指定了纹
理映射属性,通常作为Appearance节点的 texture域的域值。
2020/6/1
计算机图形学
30
10.6.2 纹理
• 例10.17,我们为正方体贴上了黄山松的图 片,如图10.16所示。
• 一个MFFLoat域含有零个或多个ANSI C格式的 单精度浮点数。即允许空白,不赋任何值。
2020/6/1
计算机图形学
12
10.4 在场景中添加几何体
• 10.4.1 Shape节点对几何体的封装 • Shape节点对几何体的封装是通过
geometry域来实现的。即geometry + 几 何体造型节点。 • 不仅如此,Shape节点还可以实现对文本 造型的封装。
2020/6/1
计算机图形学
27
10.6.1 光照
• 1. PointLight节点
PointLight节点生成一个点光源,即生成的光线 是向四周发散的。
• 2. DirectionalLight节点
DirectionalLight节点生成一个平行光源,即生成 的光线是平行向前发射的。
• 3. SpotLight节点
• 2) 角度单位 角度单位是用来计量坐标旋转角度的大小 的。在VRML中,角度单位通常使用的是 弧度制。
2020/6/1
计算机图形学
9
10.3.4 VRML的节点简介
• 1. 外形节点Shape • 在创建一个造型时,必须使用Shape节点,
它有两个域,分别为appearance域和 geometry域。Appearance节点将定义造型 外观的颜色和纹理。geometry域值是一个 定义空间造型几何尺寸大小的造型节点, 它包括Box、Cylinder、Cone、Sphere等 基本的几何节点
23
10.5.4 旋转几何体
• 旋转几何体是通过使用节点Transform的 rotation和center域,指定旋转轴或者旋转 点、旋转角度,形成新的旋转子坐标系, 再在子坐标系中创建需要的造型。
• 1. 绕轴的旋转 • Transform节点的rotation域设定父子坐标
系原点的连线作为旋转轴,同时还设定了 旋转的角度 。
锥面(side)。该节点有4个域,即 bottomRadius域、height域、side域和 bottom域
2020/6/1
计算机图形学
18
10.4.6 添加文本
• 在场景中添加文本是通过使用Shape节点 实现的,将Text节点作为geometry域的域 值,下面看一个在场景中添加文本造型的 例子。
2020/6/1
计算机图形学
13
10.4.2 添加长方体
• 在场景中添加一个立方体造型要用到Box 节点,Box节点是创建一个以坐标原点为 中心的长方体的节点,有一个域,即size 域。
• size域的域值类型为SFVec3f类型,size 域值为长方体的长、宽、高的大小,通过 改变长、宽、高的大小可以创建不同的长 方体,如果长、宽、高的大小相同,则该 长方体是立方体。
SpotLight节点创建了一个锥光源,即从一个光 点位置呈锥状向一个特定的方向照射。
2020/6/1
计算机图形学
28
10.6.2 纹理
• 大多数的VRML浏览器所支持的表面材质 的几种图像格式为JPEG、MPEG、GIF和 PNG,被称为VRML材质贴图文件的标准 格式。
• 在VRML中,用于指定材质表面贴图的节 点主要有ImageTexture(图片纹理节点)、 MovieTexture(影象纹理节点)、 PixeTexture(像素纹理节点)。下面分别介 绍这三种节点。
2020/6/1
计算机图形学
22
10.5.3 平移几何体
• 几何体的平移实际上是坐标系的平移,而 将几何体平移实际上就是通过使用节点 Transform的translation域,相对原坐标 系形成新的子坐标系,再在子坐标系中创 建所要平移的几何体就达到了我们平移几 何体的目的。
2020/6/1
计算机图形学
2020/6/1
计算机图形学
3
10.2 VRML概述
• 用cortvrml插件在Microsoft的IE 6.0浏览器中可 以浏览VRML网页。
• Walk的浏览方式为模拟人在虚拟三维世界中的走动 和转向等
• Fly的浏览方式为模拟人在虚拟三维世界中的飞行和 转向等
• Study的浏览方式为在浏览者的面前以不同的方向和 不同的角度来旋转一个或多个漂浮在空间中的对象
图10.16 表面贴上纹理图的正方体
2020/6/1
2020/6/1
计算机图形学
11
10.3.5 域
• 域有两种类型:单值类型和多值类型。单值类型 的命名以“SF”开头,只包含单一的值,像一个 数字、一种颜色、一个向量等。多值类型的命名 以“MF”开头,包含多个值,像一组数字的列表、 一组颜色的列表。
• 例:SFFloat 和 MFFloat
• 一个SFFloat域含有一个ANSIC格式的单精度浮 点数。
2020/6/1
计算机图形学
15
10.4.4 添加圆柱体
• 在场景中添加圆柱体造型要用到Cylinder 节点,Cylinder节点创建的是一个以坐标 原点为中心,由底面(bottom),顶面(top) 和侧面(side)三个部分组成的圆柱体。该 节点有5个域,即radius域、height域、 bottom域、top域和side域。
2020/6/1
计算机图形学
16
10.4.5 添加圆锥体
• 先看一个在三维空间场景中添加圆锥体的 实例。
图10.6 在场景中添加的圆锥体造型
2020/6/1
Leabharlann Baidu
计算机图形学
17
10.4.5 添加圆锥体
• 在场景中添加圆锥体造型要用到Cone节点,
Cone节点创建的是一个以空间坐标系y轴
为对称轴,原点为中心的圆锥体。 • 该圆锥体由两部分组成:底面(bottom)和
• VRML文件对语法有以下几条约定:
• ① 每个VRML文件都必须以#VRML V2.0 utf8 作为文件头。
• ② 文件中的任何节点的第一个字母都要大 写
• ③ 节点的域都必须位于括号里面。
2020/6/1
计算机图形学
7
10.3.2 VRML的基本概念
• 1. 节点 节点用来描述造型和造型的属性。
2020/6/1
计算机图形学
20
10.5.1 理解VRML空间
• 1. 平移坐标系的理解
• 平 移 坐 标 系 是 通 过 对 Transform 节 点 的 translation域的使用创建的一个新的子坐 标 系 , 每 次 平 移 通 过 Transform 节 点 的 translation域指定平移距离,平移距离是 指新的子坐标系原点和父坐标系原点的分 别在x、y、z三个坐标轴的距离(这里的距 离 是 以 VRML 单 位 度 量 的 ) 。 新 的 子 坐 标 系确定后,要在新坐标系创建的造型的位
2020/6/1
计算机图形学
24
10.5.4 旋转几何体
• 2. 围绕中心的旋转 • 有时候单一地围绕某个轴旋转来创建造型
并不很方便,通过使用Transform节点的 center域,就可以使几何体围绕某个中心 点旋转,这种旋转有时会比围绕轴旋转更 自然灵活。
2020/6/1
计算机图形学
25
10.5.5 缩放几何体
2020/6/1
计算机图形学
10
10.3.4 VRML的节点简介
• 2. 组节点Group
• Group节点有5个域,分别是children域、 bboxCenter域、bboxSize域、addChildren 域和removeChildren域。
• Group节点是将基本造型节点组织在一起, 编成一组中的多个节点将相互交迭,从而创 建复杂的空间造型,编组后的节点可以作 为一个单独的对象来进行各种操作,包括 和其他的对象一起编成一个新的组。
置也就被确定了。
2020/6/1
计算机图形学
21
10.5.1 理解VRML空间
• 2. 旋转坐标系的理解 (1) 确定旋转坐标系的两个因素。一是旋转 轴。二是旋转角度。 (2) 坐标系的旋转方向。
• 3. 缩放坐标系的理解 • 缩放坐标系是通过对Transform节点的
scale和scaleOrientation域的使用而创 建的新的子坐标系。
第10章 VRML环境 下图形系统的设计
2020/6/1
计算机图形学
1
10.1 虚拟现实简介
• 它通过计算机创建一种虚拟环境(Virtual Environment),通过视觉、听觉、触觉、 味觉、嗅觉等作用,使用户产生和现实中 一样的感觉,从而达到身临其境的感觉, 并可实现用户与该环境直接进行交互。
2020/6/1
计算机图形学
5
10.2 VRML概述
• 在浏览器窗口中的 任意位置单击鼠标 右键便会弹出如图 10.2所示的菜单
图10.2 cortvrml的弹出菜单
2020/6/1
计算机图形学
6
10.3 VRML基本语法
• 10.3.1 VRML的通用语法结构
• VRML文件是要创建的空间的文本性描述, VRML的通用语法由VRML文件来约定。
图10.7 在场景中添加文本
2020/6/1
计算机图形学
19
10.5 几何体的几何变换
• 10.5.1 理解VRML空间
• 坐标系是VRML场景创建的一个很重要的依
据,这里的坐标系由x、y、z三个坐标方
向构成,其方向可以用右手规则来确定。 有了父坐标系的嵌套,就可以在任何地方 创建自己想要的造型,这些造型通过坐标 系的嵌套,组合在一起构成各种很复杂的 VRML场景,从而形成多姿多彩的三维世 界。
相关文档
最新文档