第1章 虚拟现实技术概述 1
1.1 虚拟现实技术基本概念 1
1.2 虚拟现实技术发展史 2
1.3 虚拟现实技术特征和系统组成 4
1.3.1 虚拟现实技术的特性 4
1.3.2 虚拟现实系统的组成 5
1.4 虚拟现实系统分类 7
1.4.1 桌面式虚拟现实系统 7
1.4.2 沉浸式虚拟现实系统 7
1.4.3 增强式虚拟现实系统 8
1.4.4 分布式虚拟现实系统 8
1.5 虚拟现实技术的应用领域 9
1.5.1 教育领域 9
1.5.2 军事领域 10
1.5.3 城市仿真 10
1.5.4 工业应用 11
1.5.5 医学领域 12
1.5.6 科学计算可视化 12
1.5.7 艺术与娱乐 13
1.6 虚拟现实技术研究现状 14
1.6.1 国外研究现状 14
1.6.2 国内研究现状 15
本章小结 16
习题1 16
第2章 虚拟现实建模语言VRML 17
2.1 VRML基本概念 17
2.1.1 VRML的发展历程 17
2.1.2 VRML的特点 18
2.2 VRML编辑器与浏览器 19
2.2.1 VRML编辑器 19
2.2.2 VRML浏览器 22
2.3 VRML的组成要素 24
2.3.1 节点(node)和域(field) 24
2.3.2 事件(Event)和路由(Route) 26
2.3.3 VRML的通用语法结构 26
2.4 VRML的空间计量 29
本章小结 30
习题2 30
第3章 基本几何模型 32
3.1 外形节点Shape 32
3.2 立方体节点的创建 34
3.3 球体节点的创建 36
3.4 圆柱体节点的创建 36
3.5 圆锥体节点的创建 38
3.6 文本节点造型 40
3.6.1 文本造型节点的基本使用 40
3.6.2 FontStyle节点 42
3.7 基本几何节点综合实例 44
本章小结 46
习题3 46
第4章 空间变换与群节点 47
4.1 坐标变换节点 47
4.2 坐标系的平移 52
4.3 坐标系的旋转 55
4.3.1 绕指定轴的旋转 55
4.3.2 绕定点的旋转 56
4.4 坐标系的缩放 57
4.4.1 按坐标轴的缩放 57
4.4.2 绕定点的缩放 58
4.5 编组节点 60
4.6 内联、选择开关与超链接节点 63
4.6.1 内联节点 63
4.6.2 选择开关节点 64
4.6.3 超链接节点 66
4.7 坐标变换与群节点综合举例 68
本章小结 72
习题4 72
第5章 复杂造型 74
5.1 点、线、面集合与Coordinate节点 74
5.2 点集合造型 74
5.2.1 点集合节点PointSet 74
5.2.2 Color节点 75
5.3 线集合造型 76
5.4 面集合造型 78
5.5 地表节点造型 81
5.6 挤出节点造型 85
5.7 复杂造型综合举例 90
本章小结 95
习题5 96
第6章 造型外观设计 98
6.1 设置造型外观 98
6.2 造型节点的材质 99
6.3 纹理节点 102
6.3.1 纹理映射的基本概念 102
6.3.2 使用静态图像实现纹理映射 103
6.3.3 像素纹理的使用 106
6.3.4 动态纹理的使用 108
6.3.5 纹理变换 111
6.4 细节层次的控制 113
6.5 布告牌的使用 114
6.6 造型外观综合实例 117
本章小结 117
习题6 117
第7章 环境设计与视点控制 119
7.1 添加背景 119
7.2 雾化效果 123
7.3 视点控制 124
7.4 虚拟场景的参数设置 126
7.4.1 VRML场景的附加信息 126
7.4.2 VRML场景参数的控制 127
7.5 综合实例 129
本章小结 131
习题7 131
第8章 光照与声音 133
8.1 虚拟场景中的光源 133
8.2 光源节点 134
8.2.1 点光源PointLight 134
8.2.2 平行光源DirectionalLight 137
8.2.3 汇聚光源SpotLight 139
8.3 添加阴影 141
8.4 声音节点 142
8.4.1 Sound节点 142
8.4.2 AudioClip节点和MovieTexture节点 144
8.5 综合实例 147
本章小结 149
习题8 149
第9章 动画与交互 150
9.1 事件与路由 150
9.2 时间传感器节点 151
9.3 插补器节点 152
9.3.1 颜色插补器ColorInterpolator 152
9.3.2 位置插补器PositionInterpolator 154
9.3.3 法线插补器NormalInterpolator 157
9.3.4 方位插补器OritationInterpolator 158
9.3.5 坐标插补器CoordinatorInterpolator 160
9.3.6 标量插补器ScalarInterpolator 162
9.3.7 时间传感器与插补器实现动画综合实例 164
9.4 交互传感器 167
9.4.1 接触检测器TouchSensor 167
9.4.2 平面移动型传感器PlaneSensor 169
9.4.3 单轴旋转型检测器CylinderSensor 172
9.4.4 定点旋转型检测器SphereSensor 174
9.4.5 可见感知节点VisibiltyySensor 176
9.4.6 接近感知器节点Proximity 179
9.4.7 碰撞节点Collision 181
9.5 动画与交互综合实例 184
本章小结 186
习题9 186
第10章 脚本设计 187
10.1 脚本语言 187
10.2 脚本节点Script 188
10.3 原型的使用 202
10.3.1 定义原型 202
10.3.2 外部原型 205
10.4 综合实例 207
本章小结 210
习题10 211
第11章 虚拟现实编辑器VRP-Builder 212
11.1 VRP的软件特性 212
11.2 VRP编辑器的下载与安装 215
11.3 VRP与3ds Max的接口 217
11.4 VRP与VRML的接口 219
11.5 设置运行窗口与运行预览 226
本章小结 230
习题11 230
第12章 材质、动态贴图与时间轴 231
12.1 材质属性的设置 231
12.2 ATX动态贴图的制作 241
12.3 时间轴的使用 249
本章小结 255
习题12 255
第13章 初级交互界面的使用 256
13.1 相机的创建与使用 256
13.2 角色动画的创建与使用 262
13.3 初级交互界面的使用 272
13.4 场景特效 278
本章小结 281
习题13 281
第14章 高级交互界面的使用 282
14.1 窗口和控件的使用 282
14.1.1 窗口的使用 282
14.1.2 控件的使用 283
14.2 菜单的使用 299
14.3 粒子系统 303
14.4 VRP与数据库的连接 305
本章小结 310
习题14 310
第15章 VRP脚本设计 311
15.1 VRP脚本编辑器 311
15.2 常用的交互式脚本实例 313
15.3 综合实例——基于VR太空授课系统的设计 332
15.3.1 系统功能模块设计 332
15.3.2 模型的设计 333
15.3.3 实验动画的实现 337
15.3.4 系统设计注意事项 340
15.3.5 系统运行 341
本章小结 344
习题15 344
参考文献 345