第1章 VRML的概述 1
1.1 VRML的诞生、现状及前景 1
1.2 VRML虚拟现实实例 2
1.3 VRML2.0的功能和应用 4
1.4 VRML常用浏览器及使用 5
1.4.1 World View2.0的浏览方式控制 6
1.4.1 World View2.0的浏览视点控制 7
1.4.3 World View2.0的弹出菜单 7
2.1.1 节点和域 9
2.1 VRML约定及基本概念 9
第2章 VRML基本概念 9
2.1.2 事件、路由和原型 10
2.1.3 场景、场景结构图、交互及脚本 11
2.2 VRML空间计量单位 11
2.2.1 VRML空间坐标系 11
2.2.2 长度单位 11
2.2.3 角度单位 12
2.3 VRML文件基本要素 12
2.3.1 文件头 12
2.3.2 节点 12
2.4 VRML的节点与域 13
2.4.1 外形节点Shape 14
2.4.2 组节点Group 14
2.4.3 造型节点 15
2.4.4 父节点和子节点 15
2.5 创建第一个VRML场景 15
第3章 基本造型及其属性 19
3.1 提供三维物体对象(Shape节点) 19
3.2 创建基本几何造型 21
3.2.1 长方体造型(Box节点) 21
3.2.2 圆锥体造型(Cone节点) 22
3.2.3 圆柱体造型(Cylinder节点) 24
3.2.4 球体造型(Sphere节点) 26
3.2.5 组合造型 27
3.3 创建文本造型 30
第4章 虚拟环境的设置 40
4.1 光源的使用 40
4.1.1 头顶灯的开关 40
4.1.2 点光源PointLight 42
4.1.3 平行光源DirectionalLight 46
4.1.4 聚光光源SpotLight 49
4.2 环境背景的设置 53
4.3 如何控制视点 57
4.4 信息节点的使用 67
第5章 造型分组 70
5.1 Group节点 70
5.2 Transform节点 74
第6章 复杂造型的结构 87
6.1 用于复杂造型的几何体属性节点 87
6.1.1 坐标参数节点Coordinate 87
6.1.2 颜色参数节点Color 88
6.2.1 PointSet节点 89
6.2 基于顶点的几何造型 89
6.2.2 IndexedLineSet节点 91
6.2.3 IndexedFaceSet节点 95
6.3 创建标高网格 111
6.4 创建挤压造型 120
第7章 VRML中的动画与交互 124
7.1 VRML中的事件和路由 124
7.1.1 事件和路由 124
7.1.2 VRML中的事件操作 124
7.1.3 时间传感器 126
7.1.4 完整的例子 127
7.2 VRML中的插入器 130
7.2.1 ColorInterpolator(色彩插入器) 130
7.2.2 ScalarInterpolator(梯度插入器) 132
7.2.3 CoordinateInterpolator(坐标插入器) 134
7.2.4 OrientationInterpolator(方向插入器) 137
7.3 VRML中的传感器 140
7.3.1 CylinderSensor(圆柱体传感器) 140
7.3.2 PlaneSensor(平移传感器) 142
7.3.3 SphereSensor(球面传感器) 143
7.3.4 TouchSensor(接触传感器) 145
7.3.5 VisibilitySensor(视觉传感器) 147
7.3.6 ProximitySensor(接近传感器) 149
第8章 VRML脚本 154
8.1 脚本的概念 154
8.2 VRMLScript语法规则 155
8.2.1 脚本语言的结构和基础 155
8.2.2 VRMLScript常用语句 160
8.2.3 对象与函数 165
8.3 VRML中的事件处理 174
8.3.1 事件输入 174
8.3.2 事件输出 175
8.4.1 Script节点语法 176
8.4 Script节点 176
8.4.2 Script节点应用举例 177
8.5 扩展用户交互功能 179
8.5.1 单事件处理 179
8.5.2 多事件处理 181
第9章 Java语法 188
9.1 Java简介 188
9.1.1 Java简史 188
9.1.2 Java的现状 189
9.2.1 声明一个类 193
9.2 Java程序的结构 193
9.2.2 注释 194
9.2.3 声明一个方法 194
9.3 数据类型 194
9.3.1 变量 194
9.3.2 变量的声明 194
9.3.3 常量 195
9.3.4 变量的命名约定 196
9.3.5 变量的作用域 197
9.4.1 数组的创建 199
9.4 数组 199
9.4.2 数组的访问 200
9.4.3 多维数组 201
9.5 字符串 201
9.5.1 字符串的定义 201
9.5.2 字符串的连接 202
9.5.3 取子串 202
9.5.4 编辑 202
9.5.6 比较 203
9.6.1 转换 204
9.6 类型转换和数值提升 204
9.6.2 转换上下文 206
9.7 运算符和表达式 208
9.7.1 赋值运算符 208
9.7.2 数学运算符 209
9.7.3 其它运算符 212
9.7.4 运算符的优先级、结合方向 213
9.8 语句和块 213
9.8.1 条件语句 214
9.8.2 分支语句 215
9.8.3 循环语句 216
9.8.4 标号和转移语句 218
第10章 Java进阶 220
10.1 面向对象的程序设计 220
10.1.1 对象与类 220
10.1.2 属性与方法 220
10.1.3 继承 224
10.1.4 接口和包 225
10.2 异常处理 228
10.2.1 调用堆栈 228
10.2.2 抛出异常 229
10.2.3 捕获异常 231
10.3 JDK 233
10.3.1 JDK的安装 233
10.3.2 JDK的使用 236
10.3 JavaApplet 237
10.4.1 JavaApplet的安全性 238
10.4.2 将JavaApplet程序嵌入html文件 238
10.4.3 关于JavaApplet使用的建议 240
第11章 通过Java实现特效 241
11.1 运动 241
11.2 翻转 245
11.3 颜色选择 248
11.4 残像 254
第12章 通过Java动态创建VRML场景 262
12.1 删除和添加路由 262
12.2 动态添加物体 269
第13章 Java在VRML场景中的高级应用 274
13.1 输出字符串 274
13.2 弹出窗口 278
13.3 控制窗口 282
14.1 网上发布的注意事项 294
第14章 网上发布 294
14.2 申请主页空间 295
14.2.1 到哪里申请 295
14.2.2 申请过程 295
14.3 主页的上传 296
14.3.1 文件传输协议 296
14.3.2 主页上传后无法显示的原因 301
14.4 加入搜索引擎 301
第15章 VRML开发资源 303
15.1 VRML浏览器 303
15.2 VRML开发工具 306