1 VRML概述 1
1.1 VRML准备 1
1.1.1 安装插件 1
1.1.2 VrmlPad安装与使用 4
1.2 VRML基本知识 5
1.2.1 文件结构 5
1.2.2 关键词 5
1.2.3 源码结构与规则 6
1.3 第一个VRML程序 8
1.3.1 编写准备 8
1.3.2 代码编写 8
2 空间造型 12
2.1 空间背景概念 12
2.1.1 空间模型 12
2.1.2 天空角与地面角 12
2.2 空间背景节点 13
2.2.1 节点结构 13
2.2.2 使用规则 13
2.3 实例1: 虚拟车场空间背景 14
2.3.1 设计要求 14
2.3.2 参考代码 14
2.4 几何造型节点结构 15
2.5 几何造型域节点 15
2.5.1 长方体造型(Box节点) 15
2.5.2 球体(Sphere节点) 16
2.5.3 圆柱体(Cylinder节点) 17
2.5.4 圆锥体(Cone节点) 17
2.6 外观域节点 18
2.6.1 材质域节点 18
2.6.2 贴图域节点 21
2.7 实例2: 虚拟车场围墙 22
2.7.1 设计要求 22
2.7.2 设计步骤 22
3 文本造型 27
3.1 文本造型节点结构 27
3.1.1 文本概念 27
3.1.2 文本造型节点语法 27
3.2 实例3: 虚拟车场大门口字 28
32.1 设计要求 28
32 2 设计步骤 29
3.3 字型域节点 30
3.3.1 节点结构&. 30
3.3.2 使用规则 31
3.3.3 字型域节点实例 31
3.4 实例4: 虚拟车场围墙字 32
3.4.1 设计要求 32
3.4.2 设计步骤 33
4 坐标变换与视点 34
4.1 坐标变换节点结构 34
4.2 坐标变换使用规则 34
4.2.1 平移规则 34
4.2.2 旋转规则 35
4.2.3 放缩规则 37
4.3 实例5: 虚拟车场中的雕塑 39
4.3.1 设计要求 39
4.3.2 设计步骤 40
4.3.3 参考代码 43
4.4 视点设置节点结构 46
4.5 视点设置节点使用规则 46
4.5.1 位置及视线转向规则 46
4.5.2 跳转规则 48
4.5.3 视点名称和初始视点 48
4.6 实例6: 虚拟车场中车的视点设置 49
5 编组空间造型 52
5.1 Group节点 52
5.2 Anchor节点 53
5.3 Inline节点 57
5.4 实例7: 虚拟车场中的钟表设计 57
5.4.1 钟表盘 57
5.4.2 指针 58
5.4.3 表盘针 60
5.4.4 组合 62
5.5 节点调用 62
6 添加场景信息 66
6.1 光照效果节点 66
6.1.1 光照概述 66
6.1.2 点光源节点 66
6.1.3 平行光源节点 69
6.1.4 实例8: 虚拟车场的中心大灯 70
6.1.5 聚光光源节点 72
6.1.6 实例9: 汽车车灯设计 74
6.2 纹理映射控制 76
6.2.1 纹理概述 76
6.2.2 纹理使用方法 76
6.2.3 实例10: 虚拟车场围墙设计 79
6.3 雾化效果 81
6.3.1 Fog节点 81
6.3.2 实例11: 虚拟车场中的小亭 82
6.4 声音效果 84
6.4.1 声音节点 84
6.4.2 声音应用 86
6.4.3 实例12: 虚拟车场中的广播 90
6.5 动画效果 93
6.5.1 事件和路由 93
6.5.2 动画流程 94
6.5.3 动画实现 94
6.5.4 实例13: 虚拟车场中的风车 100
6.6 场景参数 103
6.6.1 场景信息 103
6.6.2 浏览者信息 105
6.6.3 实例14: 虚拟车场场景信息 106
7 传感器节点 107
7.1 接近传感器节点 107
7.1.1 语法结构 107
7.1.2 实例15: 虚拟车场中的自动门 109
7.2 可视性传感器节点 112
72.1 语法结构 112
7.2.2 实例16: 虚拟车场中的自动灯 114
7.3 碰撞检测 116
7.3.1 语法结构 116
7.3.2 实例17: 虚拟车场中的路 118
7.4 环境检测器 119
7.4.1 语法结构 119
7.4.2 实例18: 虚拟车场中的手动门 121
7.5 定点设备检测器 124
7.5.1 语法结构 124
7.52 实例19: 虚拟车场中的按钮门 126
8 第三方建模工具 130
8.1 3Dmax与VRML 130
8.1.1 3Dmax导出VRML 130
8.1.2 实例20: 创建虚拟车场中窗户 131
8.2 Pro/E与VRML 133
8.2.1 Pro/E导出VRML 133
8.2.2 实例21: 创建虚拟车场中汽车 134
9 脚本节点 140
9.1 脚本节点语法 140
9.1.1 节点语法 140
9.1.2 工作原理 141
9.1.3 专用函数 142
9.1.4 脚本语言 142
9.2 脚本与动画 143
9.2.1 自定义交互表现 143
9.2.2 实例22: 虚拟车场中的洗车中心 148
9.2.3 实例23: 虚拟车场中的手动灯 156
9.2.4 制作带有逻辑交互的原型 159
9.2.5 实例24: 虚拟车场中放置的多个手动灯 160
9.3 浏览器接口函数 163
9.3.1 只读函数 163
9.3.2 实例25: 虚拟车场中的帮助栏 165
9.3.3 动态控制函数 166
9.3.4 实例26: 虚拟车场中的派车控制台 177
10 VRML与JAVA 180
10.1 JAVA基础 180
10.1.1 JAVA概述 180
10.1.2 JAVA安装与配置 181
10.1.3 JAVA程序设计简介 187
10.2 使用JAVA实现VRML脚本 190
10.2.1 JSAI简介 190
10.2 2 JSAI应用 190
10.3 应用技巧 196
10.3.1 两种应用 196
10.3.2 实例27: 虚拟车场中手动控制灯改进 202
11 综合集成 206
11.1 总体框架 206
11.1.1 大平台设计 206
11.1.2 添加围墙 207
11.1.3 添加路 210
11.1.4 添加车场大门 211
11.1.5 添加车场文字 214
11.2 添加部件 217
11.2.1 添加雕塑 217
11.2.2 添加钟表 217
11.2.3 添加中心大灯 218
11.2.4 添加小亭 219
11.2.5 添加广播 219
11.2.6 添加风车 220
11.2.7 添加自动灯 221
11.2.8 添加洗车中心 221
11.2.9 添加帮助栏 223
11.2.10 添加汽车及派车控制栏 224