第1章 VRML概述 1
l.l 虚拟现实 1
1.2 VRML的诞生及发展 2
1.3 VRML与Web 3
1.4 VRML 2.0的功能和应用 3
l.5 VRML虚拟现实实例 4
l.6 VRML编辑器及播放器 6
小结 8
第2章 基本概念 9
2.1 VRML的约定及其基本概念 9
2.l.1 VRML的通用语法结构 9
2.l.2 VRML的基本概念 10
2.2 VRML空间计量单位 11
2.3 VRML文件的基本要素 11
2.4 VRML节点的简介 12
2.5 域 14
2.6 几个简单VRML场景的创建 16
第3章 在场景中添加几何体 20
3.l shape节点对几何体的封装 20
3.2 添加立方体 24
3.3 添加球体 25
3.4 添加圆锥体 26
3.5 添加圆柱体 28
3.6 在同一场景中设置多个造型 30
小结 35
第4章 几何体的平移、旋转与缩放 36
4.l 理解VRML空间 36
4.1.l 平移坐标系的理解 36
4.1.2 旋转坐标系的理解 38
4.1.3 缩放坐标系的理解 41
4.2 Transform节点的语法 43
4.3 平移几何体 43
4.4 旋转几何体 45
4.4.1 绕轴的旋转 45
4.4.2 围绕中心的旋转 47
4.5 缩放几何体 50
4.5.l 在不同方向上的缩放 50
4.5.2 围绕中心点的缩放 51
4.6 综合应用举例 55
小结 57
第5章 在多坐标系下的空间变换 58
5.l 理解局部坐标系 58
5.2 构造多坐标系世界 58
5.3 多坐标系下的空间变换 59
5.3.l 在多坐标系下坐标系的平移 59
5.3.2 在多坐标系下坐标系的旋转 61
5.3.3 在多坐标系下坐标系的缩放 64
5.4 组合应用 65
小结 71
第6章 为几何体添加纹理 72
6.l 理解纹理 72
6.2 纹理坐标 73
6.3 使用纹理 74
6.3.l 纹理图的格式 74
6.3.2 光源和材质对纹理的影响 74
6.3.3 纹理的重复 76
6.3.4 纹理图的引入(url) 77
6.4 Texture节点 77
6.4.1 ImageTexture 77
6.4.2 MovieTexture 80
6.4.3 PixelTexture 82
6.5 纹理映射 86
6.6 纹理变换 88
6.6.1 translation 89
6.6.2 scale 89
6.6.3 rotation 90
6.6.4 transformation Center 91
小结 92
第7章 材质、色彩与法向量 93
7.l 理解材质 93
7.2 Appearance节点 93
7.3 Material节点 94
7.3.l 改变几何体的颜色 95
7.3.2 为几何体设置透明度 97
7.3.3 改变发光效果 97
7.3.4 材质的综合应用 99
7.4 色彩 101
7.4.1 对不同平面填充颜色 101
7.4.2 对不同顶点填充颜色 104
7.4.3 对线造型填充颜色 108
7.4.4 对ElevationGid造型填充 109
7.5 法向量 111
7.5.1 角向量和面向量 111
7.5.2 creaseAngle域 114
7.5.3 ccw域和normalIndex域 114
小结 115
第8章 造型的编组和内联 116
8.l 组节点 116
8.l.1 Group基本组 116
8.1.2 Transform变换组 120
8.1.3 布告牌组 120
8.1.4 创建开关组 122
8.2 内联 125
8.2.1 什么是内联 125
8.2.2 Inline节点 126
8.2.3 应用内联 126
小结 128
第9章 添加文本选型 129
9.l 什么是VRML中的文本 129
9.2 Text节点语法 129
9.3 FontStile节点语法 130
9.4 构造文本造型 131
9.4.1 控制文本串的长度 132
9.4.2 控制字体尺寸 133
9.4.3 控制字体风格 134
小结 135
第10章 原型的应用 136
1O.l 理解原型 136
10.2 PROTO节点语法 137
10.3 定义原型 137
10.3.l 定义节点类型名 137
1O.3.2 定义节点接口 138
10.3.3 定义节点体 139
10.4 EXTERNPROTO外部原型 142
10.5 创建新节点 143
10.5.1 构造新的几何体 143
10.5.2 动画节点 147
10.5.3 创建不同外观的原型 152
小结 157
第11章 复杂造型 158
11.l 基于定点的几何造型 158
11.l.l 理解点、线、面集 160
11.1.2 Coordinate节点语法 160
11.1.3 构造离散点 161
11.1.4 用索引面集节点构造不规则面 162
11.2 创建标高网格 166
11.3 创建挤出造型 169
11.4 应用举例 178
小结 181
第12章 添加背景 182
12.l 理解背景 182
12.2 Background节点 182
12.3 创建天空 184
12.4 创建地面 190
12.5 创建全景图 196
12.6 Woridinfo 197
12.7 NavigatlonInfo 198
12.7.l speed域 198
12.7.2 type域 199
12.7.3 headlight 202
12.7.4 visibilityLimit 203
12.7.5 avatarSize 203
小结 206
第13章 在场景中添加光源 208
13.l 什么是光源 208
13.1.l 光源颜色 208
13.1.2 直接光线和环境光线 208
13.2 光源类型 209
13.2.1 DirectionalLight 209
13.2.2 PointLight 211
13.2.3 SpotLight 219
13.3 产生阴影 222
13.4 光源的综合应用 224
小结 229
第14章 添加声音 230
14.l 基本知识 230
14.1.l 声音文件 230
14.1.2 声音的立体化及优先级 231
14.2 声音节点 232
14.2.1 AlldioClip节点 232
14.2.2 Sound节点 234
14.3 声音节点的应用 237
小结 247
第15章 添加动画效果 248
15.l 理解事件和路由 248
15.2 Timesenor节点 249
15.3 插补器 251
15.3.l 颜色插补器 251
15.3.2 坐标插补器 258
15.3.3 法线插补器 260
15.3.4 朝向插补器 264
15.3.5 位置插补器 266
15.3.6 标量插补器 266
15.4 动画的实现 271
小结 282
第16章 脚本 283
16.1 Script节点语法 283
16.2 处理事件 284
16.3 用Script节点控制动画 295
小结 301
第17章 控制视点 302
17.l 理解视点控制 302
17.2 Viewpoint节点 302
17.3 视点的应用 304
17.4 视点绑定 311
小结 319
第18章 性能优化和在网上发布 320
18.l 优化VRML文件 320
18.1.l 删除程序中不必要的间隔 320
18.1.2 优化文件中的导入模型 320
18.1.3 使用命名 321
18.1.4 使用原型 322
18.1.5 利用gzip压缩VRML文件 324
18.2 优化场景的渲染 325
18.2.1 有效使用纹理 325
18.2.2 适当使用光源 331
18.2.3 运用LOD(Level of detail) 332
18.2.4 使用Group,Transform对场景进行规划 339
18.2.5 使用简单节点取代复杂节点 339
18.2.6 优化碰撞 339
18.3 网上发布 339
18.3.1 VRML的网上实现 339
18.3.2 VRML与 HTML的结合 340
18.4 外部创作界面 342
小结 346
第19章 场景的雾化 347
19.l 理解雾化 347
19.2 Fog节点语法 347
19.3 雾化的应用 348
小结 353