第1章 VRML简介 1
1.1 VRML的发展历史 1
目录 1
1.2 VRML的特点 2
1.3 VRML的发展前景 2
1.4 VRML运行环境要求(建议) 3
1.5 VRML浏览器 3
1.6.1 用记事本来编写VRML源程序 6
1.6.2 用VRML的专用编辑器来编写源程序 6
1.6 VRML编辑器 6
1.7 VRML程序运行和调试 9
1.7.1 VRML程序运行 9
1.7.2 VRML程序调试 9
思考题 10
第2章 VRML编程语法基础 11
2.1 VRML基本概念 11
2.1.1 VRML节点、事件、原型、场景、脚本和路由 11
2.1.2 VRML立体空间计量单位 12
2.2 VRML文件语法 13
2.2.3 VRML文件头 14
2.2.2 VRML文件结构 14
2.2.1 VRML文件 14
2.2.4 VRML文件注释 15
2.3 节点(Node)和域 15
2.4 节点名的重定义和重用 19
2.4.1 重定义节点:DEF 19
2.4.2 重用节点:USE 19
2.5 事件、路由和脚本 20
2.5.1 事件(Event) 20
2.5.2 路由(Route) 20
2.6 VRML节点集 21
2.5.3 脚本(Script) 21
思考题 23
第3章 VRML基本节点编程 25
3.1 Background立体空间背景节点编程 25
3.1.1 室内空间背景设计 25
3.1.2 室外空间背景设计 26
3.1.3 Background背景节点语法 27
3.1.4 Background立体空间背景设计与编程实例 28
3.2 Shape空间物体造型模型节点 33
3.2.1 Shape空间物体造型模型节点 33
3.2.3 Material节点空间造型外观节点设计 34
3.2.2 Appearance节点物体造型的外观属性节点 34
3.2.4 空间物体造型外观颜色设计 35
3.2.5 Shape空间物体造型模型节点设计实例 36
3.3 Box盒子节点 37
3.4 Sphere球体节点 39
3.5 Cone圆锥体节点 41
3.6 Cylinder圆柱体节点 43
3.7 Text文本造型节点 45
3.7.1 Text文本造型节点 45
3.7.2 FontStyle文本外观节点 47
3.8 PointSet“点”节点 53
3.8.1 PointSet“点”节点语法 53
3.8.2 PointSet“点”节点实例 54
3.9 IndexedLineSet“线”节点 57
3.9.1 IndexedLineSet“线”节点语法 57
3.9.2 IndexedLineSet“线”节点实例 58
3.10 IndexedFaceSet“面”节点 62
3.10.1 IndexedFaceSet“面”节点语法 62
3.10.2 IndexedFaceSet“面”节点实例 64
3.11.1 ElevationGrid海拔栅格节点语法 67
3.11 ElevationGrid海拔栅格节点 67
3.11.2 ElevationGrid海拔栅格节点实例 69
3.12 Extrusion挤出造型节点 72
3.12.1 Extrusion挤出造型节点语法 73
3.12.2 Extrusion挤出造型节点实例 75
3.13 Normal法向量节点 81
3.14 Color颜色节点 82
思考题 82
第4章 群节点创建VRML立体空间造型 83
4.1 Transform空间坐标变换节点 83
4.1.1 空间物体造型平移 85
4.1.2 空间物体造型旋转 86
4.1.3 空间物体造型缩放 87
4.2 Group编组节点 91
4.2.1 Group编组节点语法 91
4.2.2 Group编组节点实例 92
4.3 Inlie内联节点(调用节点型群节点) 97
4.3.1 Inlie内联节点语法 98
4.3.2 Inlie内联节点实例 98
4.4 Switch开关节点 100
4.4.1 Switch开关节点语法 100
4.4.2 Switch开关节点实例 101
4.5 Billboard广告、警示牌、海报节点 102
4.5.1 Billboard广告、警示牌、海报节点语法 103
4.5.2 Billboard广告、警示牌、海报节点实例 104
4.6 Anchor锚节点(超级链接群节点) 105
4.6.1 Anchor锚节点语法 105
4.6.2 Anchor锚节点实例 107
4.7 LOD细节层次节点(分级型群节点) 112
4.7.1 LOD细节层次节点语法 113
4.7.2 LOD细节层次节点实例 114
思考题 118
5.1.1 Fog雾节点语法 119
第5章 VRML场景效果节点编程设计 119
5.1 空间大气效果 119
5.1.2 Fog雾节点语法实例 120
5.2 纹理效果节点 122
5.2.1 ImageTexture图像纹理节点 123
5.2.2 PixelTexture像素纹理节点 126
5.2.3 MovieTexture影像纹理节点 130
5.2.4 TextureCoordinate纹理坐标节点 133
5.2.5 TextureTransform纹理坐标变换节点 138
5.3.1 Viewpoint视点节点 142
5.3 视点效果节点 142
5.3.2 NayigationInfo视点导航信息节点 145
5.4 光照效果节点 149
5.4.1 PointLight点光源节点 150
5.4.2 DirectionalLight定向光源节点 153
5.4.3 SpotLight聚光灯光源节点 155
5.5 音响效果节点 158
5.5.1 AudioClip音响剪辑节点 159
5.5.2 MovieTexture影像文件节点 161
5.5.3 Sound声音节点 162
5.6 WorldInfo信息化节点 168
思考题 169
第6章 VRML最具特色的动态感知虚拟现实节点 171
6.1 时间传感器节点 171
6.2 VRML动画控制节点 173
6.2.1 PositionInterpolator位置插补器节点 174
6.2.2 OrientationInterpolator朝向插补器节点 179
6.2.3 ScalarInterpolator标量插补器节点 182
6.2.4 ColorInterpolator颜色插补器节点 187
6.2.5 CoordinateInterpolator坐标插补器节点 193
6.2.6 NormalInterpolator法线插补器节点 199
6.3 VRML触摸检测器节点 203
6.3.1 TouchSensor触摸传感器节点 203
6.3.2 PlaneSensor平面检测器节点 207
6.3.3 CylinderSensor圆柱检测器节点 210
6.3.4 SphereSensor球面检测器节点 214
6.4 VRML感知检测器节点 217
6.4.1 VisibilitySensor能见度传感器节点 218
6.4.2 ProximitySensor亲近度传感器节点 221
6.4.3 Collision碰撞传感器节点 226
思考题 229
第7章 VRML通用接口节点 231
7.1 Script脚本节点 231
7.1.1 Script脚本节点语法 231
7.1.2 Script脚本节点实例 234
7.2 创建用户自己的新节点 239
7.2.1 PROTO创建用户新节点 240
7.2.2 创建外部定义的新节点EXTERNPROTO 243
7.3 使用VRML直接上网 247
7.4 HTML网页与VRML 249
7.5 VRML三维立体网络语言与Cult3D 253
7.6 Word 2000与VRML 255
思考题 258
第8章 VRML实例编程 259
8.1 红帆船造型 259
8.2 潜水艇造型 261
8.3 音响造型 264
8.4 杠铃造型 266
8.5 警示牌造型 269
8.6 风扇造型 272
8.7 手枪造型 274
8.8 射击靶造型 277
8.9 现代算盘造型 279
8.10 太空飞船造型 285
8.11 雨伞造型 288
8.12 转动的齿轮造型 291
8.13 月球围绕地球转动造型 297
8.14 公路和山脉造型 300
8.15 小结 304
思考题 304
附录A VRML节点参考 305
附录B 参考网站 321