第1章 绪论 1
1.1 关于虚拟现实的几个基本问题 1
1.2 关于Java 3D的几个基本问题 3
1.3 Java 3D与虚拟现实 6
第2章 Java 3D虚拟世界的架构 8
2.1 虚拟世界的场景图 8
2.2 虚拟世界的观察模式 10
2.3 将Java 3D与Java平台技术相结合 12
第3章 三维变换问题 16
3.1 Java 3D的坐标系统 16
3.2 虚拟世界中的顶点运算 17
3.3 虚拟世界中的向量运算 18
3.4 虚拟世界中的矩阵运算 21
3.5 虚拟世界中的三维变换 23
3.6 三维变换的工程样例 26
第4章 三维模型研究(1)——几何形状的控制 28
4.1 三维模型的显示技术概述 28
4.2 模型几何形状概述 29
4.3 图形序列的实践研究 30
4.4 图形压缩技术研究 37
4.5 光栅技术的实践 40
4.6 三维文本技术的实践 41
第5章 三维模型研究(2)——外观特征的控制 42
5.1 外观特征属性概述 42
5.2 基本外观特征属性的控制方法实践 43
5.3 纹理的深入研究 53
5.4 纹理映射的深入研究 58
5.5 设置模型纹理的方法实践 60
第6章 光源与光照算法研究 62
6.1 三维世界中的光源 62
6.2 基本光照效果的数学模型 65
6.3 光线追踪技术研究 68
6.4 光能传递技术研究 72
第7章 三维声效技术研究 76
7.1 三维声源的概念 76
7.2 声源定位技术 77
7.3 声效的空间化 80
7.4 虚拟现实系统的听觉设备 81
7.5 环境因素的建模 82
7.6 音响设计的空间化 83
7.7 声效设置实践 84
第8章 场景图中的其他节点 86
8.1 三维背景的设置实践 86
8.2 “雾化”效果实践 88
8.3 裁剪器设置实践 89
8.4 行为控制器与插值器使用实践 90
8.5 形体渐变模型研究 95
第9章 场景制作与场景管理 97
9.1 三维场景的建模方法 97
9.2 常用的三维数据文件 99
9.3 基于BSP树的场景管理 102
9.4 基于八叉树的场景管理 104
第10章 碰撞检测技术研究 108
10.1 碰撞检测概述 108
10.2 基于射线拾取的碰撞检测 109
10.3 基于包围体的碰撞检测 110
10.4 基于层次树的碰撞检测 116
10.5 基于场景管理的碰撞检测 117
10.6 碰撞检测技术实践 117
第11章 骨骼蒙皮动画 120
11.1 骨骼蒙皮技术概述 120
11.2 线性混合蒙皮算法 123
11.3 球面混合蒙皮算法 126
11.4 对偶四元数线性混合蒙皮算法 128
11.5 骨骼蒙皮动画实践 130
第12章 粒子系统及其优化算法 134
12.1 基本粒子系统技术研究 134
12.2 粒子系统的优化技术研究 138
12.3 基于GPU的粒子系统 142
第13章 几种图形特效算法 149
13.1 “拖影”特效算法 149
13.2 “光环”特效算法 153
13.3 “水波”特效算法 155
13.4 “布料”特效算法 157
13.5 “皮筋”特效算法 159
13.6 “描边”特效算法 161
第14章 人工智能技术研究 164
14.1 A-Star算法 164
14.2 蚁群算法 165
14.3 模拟退火算法 170
14.4 Dijkstra算法 172
14.5 神经网络算法 174
14.6 遗传算法 184
14.7 群聚技术 188
第15章 性能优化方法的研究 192
15.1 一般Java程序的优化方法 192
15.2 三维程序的特殊优化方法 195
参考文献 197