第1章 计算机图形学综述 1
1.1 引言 1
1.2 计算机图形学编程技术的发展 2
1.2.1 硬件层 3
1.2.2 操作系统层的支持 7
1.2.3 GKS和PHIGS 9
1.2.4 OpenGL 11
1.2.5 Java 13
1.3 Java编程语言 14
1.4 Java 2D 18
1.5 Java 3D 20
1.6 相关领域 23
1.7 参考资料 23
第2章 2D图形学:基础 27
2.1 引言 27
2.2 2D图形绘制过程 27
2.3 2D几何模型与坐标系 28
2.4 Graphics2D类 29
2.5 绘图方程 33
2.6 几何模型 35
2.6.1 形状 35
2.6.2 实例 37
2.7 构造区域几何模型 43
2.8 一般路径 45
第3章 2D图形学:绘制细节 51
3.1 引言 51
3.2 颜色和涂色 52
3.2.1 颜色空间 52
3.2.2 颜色 52
3.2.3 涂色 56
3.3 笔划 58
3.4 仿射变换 61
3.5 复合变换 68
3.6 透明度和合成规则 71
3.7 裁剪 74
3.8 文本和字体 76
第4章 2D图形:高级话题(可选) 85
4.1 引言 85
4.2 样条曲线 85
4.3 自定义基元 91
4.4 图像处理 94
4.5 创建分形图像 101
4.6 动画 104
4.7 打印 112
第5章 基本3D图形 118
5.1 引言 118
5.2 3D绘制过程 118
5.3 Java 3D API概述 120
5.3.1 一个简单示例 120
5.3.2 安装Java 3D 122
5.4 Java 3D场景图 123
5.5 超结构 125
5.6 节点 126
5.6.1 组节点 126
5.6.2 叶节点 128
5.7 节点组件 129
5.8 Java 3D程序的结构 130
5.9 背景和边界 134
5.10 场景图编译和能力位 140
第6章 图形内容 148
6.1 引言 148
6.2 点和向量 148
6.3 几何特征 150
6.3.1 类GeometryArray 151
6.3.2 类GeometryStripArray 154
6.3.3 类IndexedGeometryArray 155
6.3.4 法向量 159
6.4 类GeometryInfo 161
6.4.1 使用GeometryInfo类 161
6.4.2 创建多边形网格 165
6.5 几何基元 169
6.6 字体和文本 172
6.7 外观和属性 172
第7章 几何变换 183
7.1 引言 183
7.2 3D仿射变换 183
7.2.1 变换矩阵 184
7.2.2 类Transform3D 188
7.2.3 旋转 190
7.3 场景图的变换 198
7.4 复合变换 201
7.5 用变换构造几何体 206
7.5.1 拉伸 206
7.5.2 旋转 208
7.5.3 变换和共享分支的实例 211
第8章 视图 218
8.1 引言 218
8.2 投影 219
8.3 视图的定义 220
8.4 Java 3D的视图模型 222
8.4.1 Java 3D视图配置 223
8.4.2 兼容模式 223
8.4.3 SimpleUniverse中的视图设置 227
8.4.4 建立自己的视图 230
8.5 拾取 234
8.6 头部跟踪 239
第9章 光照与纹理 248
9.1 引言 248
9.2 光源 249
9.3 光照模型 254
9.4 Java 3D光照模型 255
9.5 大气衰减和景深效果处理 259
9.6 纹理映射 263
9.6.1 创建2D纹理映射 263
9.6.2 纹理坐标 267
9.6.3 结合纹理映射与光照 268
9.6.4 纹理坐标生成 271
第10章 行为和交互 279
10.1 引言 279
10.2 行为 279
10.3 交互 286
10.3.1 鼠标行为 287
10.3.2 键盘行为 291
10.3.3 视图平台行为 293
10.4 行为和拾取 297
10.4.1 拾取和鼠标行为 297
10.4.2 数据可视化 300
第11章 动画 307
11.1 引言 307
11.2 Alpha对象 307
11.3 插值器 311
11.4 变形 322
11.5 细节层次 327
11.6 公告板 331
第12章 其他3D主题 338
12.1 引言 338
12.2 3D曲线 338
12.3 曲面 342
12.3.1 Bézier曲面 342
12.3.2 犹他茶壶 346
12.4 声音 349
12.5 阴影 352
12.6 几何变化 357
12.7 离屏绘制 363
12.8 3D纹理 367
附录A 计算机图形学的数学背景 376
附录B 用AWT和Swing进行GUI编程 394
索引 404