Internet和World Wide Web 1
第一章 VRML介绍 1
浏览Web 2
MIME内容类型 2
在三维空间浏览Web 4
配置你的Web浏览器 4
统一资源定位器 4
重要的Web网点 6
VRML2.0规范 6
总结 7
用VRML创建你自己的空间 7
第二章 关键概念 9
VRML文件 9
VRML文件的组成部分 9
语法:VRML文件头 10
定义节点名称 13
语法:DEF 13
造型编组 14
描述造型 14
语法:USE 14
使用节点名 14
在VRML文件中创建造型 14
VRML空间 15
二维创建 15
添加第三维 16
事件和路由 18
节点输入和输出 18
语法:Collision节点 18
总结 19
节点输入、输出类型 19
绑定路由 19
第三章 预定义造型的创建和编组 21
理解造型和编组 21
Shape节点语法 22
语法:Shape节点 22
Appearance节点语法 22
语法:Appearance节点 22
Cone节点语法 23
语法:Box节点 23
语法:Cone节点 23
Material节点语法 23
语法:Material节点 23
Box节点语法 23
Cylinder节点语法 24
语法:Cylinder节点 24
Group节点语法 25
语法:Group节点 25
原始造型和组的应用 25
语法:Sphere节点 25
Sphere节点语法 25
长方体的应用 26
圆锥体的应用 26
圆柱体的应用 27
球体的应用 28
组的应用 29
总结 31
第四章 创建文本造型 33
理解VRML文本 33
字符集 34
文本造型 34
字体风格 34
Text节点语法 35
语法:Text节点 35
FontStyle节点语法 36
语法:FontStyle节点 36
文本造型的应用 45
创建文本造型 45
控制文本的长度 46
控制文本的最大扩展长度 46
指定字体集和风格 46
控制字体尺寸 48
控制字体间距 48
创建多个文本造型 49
将文本和原始几何造型结合在一起 50
使用DEF和USE来共享字体风格 50
总结 51
深入理解坐标系 53
第五章 造型定位 53
在坐标系中创建造型 54
平移坐标系 55
编组和坐标系 55
Transform节点语法 55
语法:Transform节点 55
平移的应用 56
不同方向的平移 56
在多坐标系中创建造型 59
构造多个坐标系 61
坐标系的嵌套 61
总结 63
第六章 造型旋转 65
理解旋转的坐标系 65
设定旋转轴 66
设定旋转角度 67
平移和旋转 68
设定旋转中心 68
语法:Transform节点 69
Transform节点语法 69
旋转的应用 70
不同方向的旋转 70
构造多个旋转的坐标系 72
旋转坐标系的嵌套 73
坐标系的旋转和平移 73
围绕一个中心点旋转 75
总结 76
理解缩放的坐标系 79
第七章 造型的缩放 79
设定缩放因子 80
平移、旋转和缩放 81
使用缩放定向 81
使用一个缩放中心 82
Transform节点语法 82
语法:Transform节点 82
缩放的应用 83
在不同方向缩放 83
构造多个缩放的坐标系 86
平移和缩放坐标系 87
嵌套缩放的坐标系 87
围绕一个中心点缩放 89
使用一个缩放方向 90
总结 91
第八章 动画位置、方向和缩放 93
理解动画和时间 93
绝对时间 94
时刻 94
理解关键帧动画 95
关键时刻和关键值 95
时刻循环 95
线性内插 96
线性内插位置和旋转 97
使用多个关键值内插 97
缩放的动画 97
TimeSensor节点语法 98
语法:TimeSensor节点 98
PositionInterpolator节点语法 100
语法:Positionlnterpolator节点 100
语法:Orientationlnterpolator节点 101
OrientationInterpolator节点语法 101
造型动画的应用 102
动画位置 103
动画旋转 104
动画缩放 105
使用一个内插器实现多个造型动画 106
使用多个内插器 108
使用多个时间传感器 109
总结 111
理解对观察者动作的感知 113
第九章 感知观察者的动作 113
感知接触 114
感知移动 114
使用多个传感器 115
传感器偏移 116
定点设备 116
TouchSensor节点语法 117
语法:TouchSensor节点 117
语法:PlaneSensor节点 118
PlaneSensor节点语法 118
SphereSensor节点语法 120
语法:SphereSensor节点 120
CylinderSensor节点语法 121
语法:CylinderSensor节点 121
传感器的应用 123
用光标的接近来触发动画 123
用接触触发动画 124
在一个平面上平移造型 125
在一个球体中旋转造型 128
在一个圆柱体中旋转造型 129
在同一编组中使用多个传感器 130
在嵌套组中使用多个传感器 131
总结 133
第十章 使用材料控制外观 135
理解外观 135
RGB颜色 136
明暗法 137
理解材料的动画 138
透明度 138
发光效果 138
HSV颜色 139
色彩动画 139
Shape节点语法 140
语法:Shape节点 140
Material节点语法 141
语法:Material节点 141
语法:Appearance节点 141
Appearance节点语法 141
ColorInterpolater节点语法 142
语法:Colorlnterpolater节点 143
ScalarInterpolator节点语法 144
语法:Scalarlnterpolator节点 144
外观和材料的应用 145
使用Appearance和Maferial 145
为多个造型指定外观和材料 145
颜色动画 146
使造型发光 147
使造型闪烁 148
使用多个颜色内插器 149
使造型透明 151
透明度动画 152
使用分级内插控制动画 153
总结 154
基本组 157
转换组 157
理解编组 157
第十一章 编组节点 157
变换组 158
布告板组 158
约束长方体 158
Group节点语法 158
语法:Group节点 158
Switch节点语法 159
语法:Switch节点 159
语法:Transform节点 160
Billboard节点语法 160
Transform节点语法 160
语法:Billboard节点 161
编组的应用 161
造型间的转换 161
创建布告板组 163
使用约束长方体 166
总结 168
第十二章 行插入文件 169
理解行插入 169
Inline节点语法 170
语法:Inline节点 170
URL列表 170
行插入文件中的DEF和USE 170
行插入外框 170
行插入的应用 172
使用行插入来装配一个空间 172
嵌套行插入文件 174
总结 174
第十三章 利用点线面创建造型 177
理解点集 177
理解线集 178
利用坐标索引构造折线 179
利用折线构筑三维造型 180
理解面集 181
利用坐标索引构筑面 181
利用面来构筑三维造型 183
折叠面 184
构筑复杂的面 185
创建实体造型 186
平滑地绘制造型 186
语法:Coordinate节点 188
理解坐标空间动画 188
Coordinate节点语法 188
CoordinateInterpolator节点语法 189
语法:Coordinatelnterpolator节点 189
PointSet节点语法 190
语法:PointSet节点 190
IndexedLineSet节点语法 191
语法:IndexedLineSet节点 191
语法:IndexedFaceSet节点 192
IndexedFaceSet节点语法 192
利用点线面创建一个造型 193
点集、线集和面集的应用 193
创建凹面 195
创建非实体造型 197
创建光滑造型 198
汇集面造型 198
实现坐标动画 199
总结 201
ElevationGrid节点语法 203
第十四章 创建海拔栅格 203
理解海拔栅格 203
语法:ElevationGrid节点 204
海拔栅格的应用 206
创建一座高山 207
创建平滑表面 207
合并海拔栅格 208
总结 210
挤出孔 211
理解挤出 211
第十五章 创建挤出造型 211
脊线 212
沿脊线的挤出 212
开始和结束盖 213
挤出孔的缩放比例 213
自动地确定挤出孔方位 215
挤出孔的定向 216
语法:Extrusion节点 217
Extrusion节点语法 217
挤出的应用 219
使用挤出过程创建造型 219
使用开放的挤出孔 220
撤掉挤出产物的封盖 221
使用凹陷的挤出孔 221
使用弯曲脊线 222
使用封闭的脊线 223
缩放挤出孔比例 224
旋转挤出孔 225
脊线动画 227
总结 230
第十六章 把颜色连接到点、直线、平面和坐标上 231
理解颜色连接 231
颜色列表 231
对点集着色 232
对线集着色 232
对面集着色 232
对海拔栅格着色 232
PointSet节点语法 233
语法:PointSet节点 233
Color节点语法 233
语法:Color节点 233
颜色和材料 233
IndexedLineSet节点语法 234
语法:IndexedLineSet节点 234
IndexedFaceSet节点语法 235
语法:IndexedFaceSet节点 235
ElevationGrid节点语法 237
语法:ElevationGrid节点 237
对点集中的点着色 239
颜色连接的应用 239
对线集中的折线着色 240
对线集中的坐标着色 241
对面集中的面着色 243
对面集中的坐标着色 243
对海拔栅格中的栅格方块着色 245
对海拔栅格中的栅格点着色 246
总结 247
第十七章 映射纹理 249
理解纹理映射 249
纹理映象 250
映象文件格式 250
映象类型 252
透明映象 253
纹理节点 253
理解如何进行纹理映射 254
长方体造型 254
圆锥造型 255
圆柱体造型 255
球体造型 255
文本造型 255
点集造型 255
线集造型 255
语法:Appearance节点 256
Appearance节点语法 256
挤出造型 256
海拔栅格造型 256
面集造型 256
ImageTexture节点语法 257
语法:ImageTexture节点 257
PixelTexture节点语法 258
语法:PixelTexture节点 258
MovieTexture节点语法 260
语法:MovieTexture节点 261
纹理映射的应用 263
将纹理映射到原始造型上 263
将纹理映射到原始造型的各个部分上 264
将纹理映射到平面造型上 266
将纹理映射到文本造型上 266
将纹理映射到海拔栅格造型上 268
将纹理映射到挤出造型上 269
利用象素透明性生成孔洞 270
使用灰度纹理 271
给灰度纹理着色 272
在VRML文件中嵌入纹理映象 274
使用电影纹理 275
总结 277
第十八章 纹理映射控制 279
理解纹理映射控制 279
纹理坐标 280
纹理连接 282
雾堆栈 284
回绕纹理坐标 286
锁定纹理坐标 288
纹理坐标变换 289
Appearance节点语法 292
语法:Appearance节点 292
ImageTexture节点语法 293
语法:ImageTexture节点 293
PixelTexture节点语法 293
语法:PixelTexture节点 293
MovieTexture节点语法 294
语法:MovieTexture节点 294
TextureCoordinate节点语法 294
语法:TextureCoordinate节点 294
语法:TextureTransform节点 295
IndexedFaceSet节点语法 295
TextureTransform节点语法 295
语法:IndexedFaceSet节点 296
ElevationGrid节点语法 297
语法:ElevationGrid节点 297
纹理映射控制的应用 298
使用纹理坐标 298
对多个面使用纹理坐标 300
纹理坐标平移 302
纹理坐标缩放 304
纹理坐标旋转 305
在原始造型上的纹理变换 306
海拔栅格纹理映射的控制 306
动画纹理变换 307
总结 309
基于法向量的明暗控制 311
第十九章 明暗控制 311
理解法向量 311
确定法向量方向 313
法向量的计算 315
理解平滑明暗处理 318
平滑明暗处理和法向量 318
计算平滑处理法向量 321
皱折角 322
海拔栅格法向量 324
理解法向量动画 324
面集法向量 324
理解法向量连接 324
语法:Normal节点 325
NormalInterpolator节点语法 325
语法:Normallnterpolator节点 325
Normal节点语法 325
IndexedFaceSet节点语法 326
语法:IndexedFaceSet节点 327
ElevationGrid节点语法 328
语法:ElevationGrid节点 328
法向量的应用 329
使用法向量 329
平滑半柱体的明暗效果 331
平滑海拔栅格的明暗效果 334
实现法向量动画 335
总结 337
第二十章 照亮你的世界 339
理解光照 339
点光源 339
平行光源 340
聚光光源 341
光源颜色 341
环境光线 342
光线淡化 343
多光源 343
头灯 343
阴影 343
照亮平面造型 344
PointLight节点语法 344
语法:PointLight节点 345
DirectionalLight节点语法 346
语法:DirectionalLight节点 346
SpotLight节点语法 347
语法:SpotLight节点 347
光照的应用 348
生成测试空间 348
生成测试网格 349
使用点光源 350
利用点光源创建发光造型 351
实现光源动画 353
使用平行光源 354
使用平行光源模拟阳光照射 356
使用聚光光源 358
生成假阴影 360
总结 363
光线反射 365
理解如何生成闪光造型 365
第二十一章 用材料生成闪光造型 365
环境光线 367
Material节点语法 368
语法:Material节点 368
先进材料的应用 369
实现造型闪光 369
生成闪光的金属或塑料造型 371
总结 372
第二十二章 增加背景 373
天空的颜色 373
理解背景 373
地面颜色 374
背景图象 375
理解背景连接 375
背景堆栈 375
背景连接 375
Background节点语法 376
语法:Background节点 376
背景的应用 378
天空着色 378
增加背景 379
地面着色 379
背景连接的建立和解除 380
总结 382
第二十三章 添加雾的效果 383
理解雾 383
造型和雾的颜色 383
雾连接 384
理解雾连接 384
雾和背景 384
Fog节点语法 385
语法:Fog节点 385
雾的应用 386
生成一个测试空间 386
使用线性雾 387
使用指数雾 388
雾连接的建立和解除 389
使用彩色雾 389
总结 391
第二十四章 添加声音 393
理解声音 393
声源 393
声源控制 394
声音发射器 395
声音发射器的优先级 395
语法:AudioClip节点 396
AudioClip节点语法 396
声音立体化 396
MovieTexture节点语法 398
语法:MovieTexture节点 398
Sound节点语法 399
语法:Sound节点 399
声音的应用 401
生成发射器标志 401
生成环境音 403
声音的触发 404
改变声音的播放速度 404
移动声音的位置 408
控制声音的方向 410
使用MPEG声源 411
总结 413
第二十五章 细节控制 415
理解细节控制 415
理解细节层次组 416
LOD节点语法 416
语法:LOD节点 416
创建造型的多细节版本 417
细节层次的应用 417
造型间切换 423
自动地开启和关闭造型 424
总结 432
第二十六章 控制视点 435
理解视点 435
理解视点域 435
理解视点绑定 436
视点间切换 437
视点绑定 437
视点堆栈 437
理解导航信息 439
替身的导航类型 440
替身导航的速度 441
替身的大小 441
替身的头灯 442
替身能见度的限制 442
Viewpoint节点语法 443
结合使用视点和导航信息 443
导航绑定 443
导航堆栈 443
理解导航的绑定 443
语法:Viewpoint节点 444
NavigationInfo节点语法 446
语法:Navigationlnfo节点 446
视点和导航信息的应用 448
建立一个测试环境 448
视点的定位 448
视点的定向 448
视点的视域控制 449
运用多重视点 450
总结 451
第二十七章 感知观察者的接近 453
理解对观察者接近的感知 453
可见传感器 453
接近传感器 453
碰撞检测 454
VisibilitySensor节点语法 454
语法:ProximitySensor节点 455
语法:VisibilitySensor节点 455
ProximitySensor节点语法 455
Collision节点语法 456
语法:Collision节点 456
接近感知的应用 458
通过可见和接近感知来触发动画 458
由碰撞感知来触发动画 461
在碰撞检测中使用代替造型 463
总结 465
第二十八章 增加锚点 467
理解锚点 468
Anchor节点语法 468
语法:Anchor节点 468
锚点的应用 469
创建一个锚点造型 470
使用视点锚点 471
总结 471
语法:WorldInfo节点 473
WorldInfo节点语法 473
理解虚拟空间信息 473
第二十九章 提供空间信息 473
虚拟空间信息的应用 474
提供一个关于空间的标题和注解 474
总结 475
第三十章 创建程序脚本 477
理解Script节点 477
定义一个接口 478
定义一个程序脚本 481
控制程序脚本的行为 482
书写Java和JavaScript程序脚本 483
访问接口域和eventOut事件 484
数据类型间的转换 484
传递事件 485
响应多个事件 486
访问浏览器 486
Script节点语法 487
语法:Script节点 487
创建一个内插器 489
脚本的应用 489
Java和JavaScript的API 489
创建一个正弦波内插器 491
创建一个螺旋内插器 491
构造一个布尔事件过滤器 492
构造一个时间标记过滤器 497
构造一个事件路由调试器 499
用程序脚本来控制一个造型 501
总结 503
理解原型 505
第三十一章 创建新的节点类型 505
定义节点类型名 506
定义节点接口 506
定义节点体 508
创建多个新节点类型 511
理解外部原型 511
在同一文件中创建多个新节点类型 512
PROTO定义语法 512
语法:PROTO 512
语法:EXTERNPROTO 513
EXTERNPROTO声明语法 513
IS连接语法 514
语法:IS 514
尝试新节点类型 515
创建新材料节点类型 515
创建新外观节点类型 517
创建新的几何节点类型 518
创建新的过滤器节点类型 520
创建组合旋转节点类型 521
总结 522