第1章 图形学基本概念 1
1.1离散点现象 1
1.2用Java2D画线 3
1.3逻辑坐标 6
1.4逻辑坐标与设备坐标间的映射 10
1.5实例:用鼠标定义一个多边形 15
习题 18
第2章 二维图形的数学基础 21
2.1行列式 21
2.2矢量 23
2.3点积与叉积 24
2.4三点定向 26
2.5多边形及其面积 28
2.6多边形内部点的测试 30
2.7点与线的关系 32
2.8多边形的三角划分 36
习题 40
第3章 经典的图形算法 42
3.1 Bresenham画线算法 42
3.2双步画线 45
3.3圆的绘制 48
3.4线裁剪 51
3.5多边形裁剪 56
3.6贝塞尔曲线 61
3.7 B样条曲线 68
习题 72
第4章 分形 75
4.1分形简介 75
4.2科赫曲线 75
4.3串文法 78
4.4串文法的扩充与变换 81
4.5 Mandelbrot集和Julia集 88
习题 95
第5章 色彩、纹理和光照明 97
5.1色觉 97
5.2加型和减型色彩 98
5.3 RGB颜色的表达方法 100
5.4 HSL色彩模型 103
5.5透明度 105
5.6纹理 107
5.7光照明模型 109
习题 113
第6章 三维图形变换与透视 114
6.1矩阵 114
6.2线性变换 115
6.3平移和齐次坐标 120
6.4绕任意点的旋转 122
6.5三维旋转 124
6.6视图变换 131
6.7透视变换 134
6.8实例:立方体透视画法 136
习题 139
第7章 数据结构与实现方法 141
7.1三维结构的类实现 141
7.2三维图形的描述 152
7.3特殊线段和面的处理 155
7.4线框模型画法 158
7.5图形描述的自动生成 161
习题 168
第8章 线消隐与面消隐 171
8.1消隐的概念 171
8.2线消隐算法 173
8.3面消隐的简便算法 176
8.4着色 181
8.5画家算法 182
8.6深度缓冲(Z-Buffer)算法 186
8.7实例:双变量函数曲面 193
习题 202
第9章Java 3D介绍 204
9.1基本概念 204
9.2编写Java 3D程序 205
9.3三维建模 209
9.4光照模型 216
9.5纹理映射 219
9.6动画模型 222
9.7关于Java 3D的更多信息 225
习题 226