目录 1
第1章 Java的图形功能 1
1.1 Java图形基础 2
1.Applet描画 3
2.Applet的运行原理 4
3.AWT包的描画原理 5
1.2 使用offscreen buffer的双重缓存 6
1.不使用offscreen buffer 6
3.offscreen buffer使用与否的区别 7
2.使用offscreen buffer 7
◇本节的程序集 8
1.3 使用MemoryImageSource光栅图形的基础知识 12
第2章 二维图形 15
2.1 准备自己喜欢的大小的窗口 16
1.在用户坐标系中定义图形 16
2.制作能定义用户坐标系和视图的类 17
3.从用户坐标系到视图的转换原理 20
4.用MyCanvas类画线 21
5.用MyCanvas类描画统计数据 22
6.关于剪切 24
◇本节的程序集 25
2.2 直线 36
将直线光栅化 37
◇本节的程序集 39
2.3 曲线 42
1.各种函数的表示方法 42
2.显式曲线的描画 42
3.参数曲线的描画 43
◇ 本节的程序集 43
2.4 多边形填充 46
1.多边形的填充技巧 46
2.构成bucket数组 47
3.构成activeEdgeList 48
4.扫描转换算法的实现 49
5.作成activeEdgeList用的类 51
6.作成交互式的填充多边形的Applet 51
◇ 本节的程序集 54
2.5 显示图像的Applet 64
从URL加载图像数据 64
◇ 本节的程序集 66
第3章 三维图形 67
1.定义三维物体的坐标系 68
2.定义三维图元 68
3.1 定义三维物体 68
3.定义场景图 72
◇本节的程序集 76
3.2 将三维物体投影到二维窗口上 83
1.1点透视投影的原理 83
2.平行投影的原理 85
3.安装Camera类 86
4.三维直线的透视投影描画Applet 86
◇ 本节的程序集 88
3.3 透视 98
1.光源的设定 99
3.4 准备透视的环境 99
2.定义材质数据 101
◇ 本节的程序集 106
3.5 光线跟踪 113
1.扩展ObjectNode类设定材质 113
2.光线跟踪的原理 114
3.安装Ray类 117
4.反射光线和透视光线的原理 117
5.制作光线跟踪的Applet 118
◇ 本节的程序集 119
3.6 纹理的转换 130
2.制作Texture类 131
1.图形纹理绘制的原理 131
3.在三角形IndexFaceSet中追加纹理坐标以及和计算光线的交点的方法 132
4.追加可以进行球体的纹理绘制的方法 133
5.纹理绘制的Applet 135
◇ 本节的程序集 136
第4章 二维和三维图形的应用例子 149
4.1 二维动画 150
1.二维动画的分类 151
2.用Java(AWT)制作精灵动画 151
2.制作程序的动作数据 154
4.2 制作三维动画 154
1.三维动画的动作的生成方法的分类 154
3.制作“蝴蝶”的场景图动画 155
◇ 本节的程序集 159
附录 177
附录1 取得Java的开发工具包的方法 178
附录2 Java用语集 179
附录3 CG用语集 183
附录4 向量和矩阵 189
附录5 CG的历史和标准化趋势 197
译后记 200