⑴ 学习计算机图形学的书籍介绍
目录
计算机图形学基础教程(Visual C++版)
第1章 导论1
1.1 计算机图形学的应用领域1
1.1.1 计算机辅助设计1
1.1.2 计算机艺术1
1.1.3 虚拟现实3
1.1.4 计算机辅助教学3
1.2 计算机图形学的概念4
1.3 计算机图形学的相关学科5
1.4 计算机图形学的确立和发展5
1.5 图形显示器的发展及其工作原理7
1.5.1 阴极射线管7
1.5.2 随机扫描显示器8
1.5.3 直视储存管显示器8
1.5.4 光栅扫描显示器9
1.5.5 液晶显示器13
1.5.6 等离子显示器15
1.5.7 三维显示器15
1.6 图形软件标准的形成18
1.7 计算机图形学的最新技术18
1.7.1 交互技术18
1.7.2 造型技术18
1.7.3 真实感图形显示技术19
1.8 小结19
习题119第2章 Visual C++6.0绘图基础21
2.1 面向对象程序设计基础21
2.1.1 类和对象21
2.1.2 构造函数和析构函数22
2.1.3 对象的动态建立和释放24
2.1.4 继承与派生25
2.2 MFC上机操作步骤28
2.3 基本绘图函数31
2.3.1 CDC类结构和GDI对象32
2.3.2 映射模式33
2.3.3 CDC类的主要绘图成员函数34
2.3.4 设备上下文的调用和释放50
2.3.5 VC++绘制图形的几种方法51
2.4 小结52
习题252第3章 基本图形的扫描转换55
3.1 直线的扫描转换55
3.1.1 算法原理56
3.1.2 构造中点偏差判别式56
3.1.3 递推公式57
3.2 圆的扫描转换57
3.2.1 算法原理58
3.2.2 构造中点偏差判别式59
3.2.3 递推公式60
3.3 椭圆的扫描转换60
3.3.1 算法原理61
3.3.2 构造上半部分I中点偏差判别式62
3.3.3 上半部分I的递推公式62
3.3.4 构造下半部分II中点偏差判别式64
3.3.5 下半部分II的递推公式64
3.4 反走样技术66
3.5 直线距离加权反走样算法67
3.5.1 算法原理67
3.5.2 构造距离判别式69
3.5.3 计算机化69
3.6 小结69
习题369第4章 多边形填充72
4.1 实面积图形的概念72
4.1.1 多边形的定义73
4.1.2 多边形的表示73
4.1.3 多边形的填充74
4.1.4 区域填充74
4.2 有效边表填充算法75
4.2.1 填充原理75
4.2.2 边界像素的处理原则75
4.2.3 有效边和有效边表76
4.2.4 边表79
4.3 边缘填充算法80
4.3.1 填充原理80
4.3.2 填充过程80
4.4 区域填充算法82
4.4.1 填充原理82
4.4.2 四邻接点和八邻接点82
4.4.3 四连通域和八连通域83
4.4.4 四邻接点填充算法和八邻接点填充算法84
4.5 小结85
习题485第5章 二维变换和裁剪89
5.1 图形几何变换基础89
5.1.1 规范化齐次坐标89
5.1.2 矩阵相乘89
5.1.3 二维变换矩阵90
5.1.4 二维几何变换90
5.2 二维图形基本几何变换矩阵91
5.2.1 平移变换矩阵91
5.2.2 比例变换矩阵91
5.2.3 旋转变换矩阵92
5.2.4 反射变换矩阵93
5.2.5 错切变换矩阵94
5.3 二维复合变换95
5.3.1 复合变换原理95
5.3.2 相对于任一参考点的二维几何变换95
5.3.3 相对于任意方向的二维几何变换96
5.4 二维图形裁剪98
5.4.1 图形学中常用的坐标系98
5.4.2 窗口和视区及窗视变换99
5.4.3 窗视变换矩阵100
5.5 Cohen-Sutherland直线裁剪算法101
5.5.1 编码原理101
5.5.2 裁剪步骤102
5.5.3 交点计算公式102
5.6 中点分割直线裁剪算法103
5.6.1 中点分割直线裁剪算法原理103
5.6.2 中点计算公式103
5.7 梁友栋-Barsky直线裁剪算法103
5.7.1 梁友栋算法原理103
5.7.2 算法分析104
5.7.3 算法的几何意义104
5.8 小结106
习题5106第6章 三维变换和投影108
6.1 三维几何变换108
6.1.1 三维变换矩阵108
6.1.2 三维几何变换108
6.2 三维基本几何变换矩阵109
6.2.1 平移变换109
6.2.2 比例变换109
6.2.3 旋转变换110
6.2.4 反射变换111
6.2.5 错切变换112
6.3 三维复合变换113
6.4 投影变换115
6.4.1 三视图115
6.4.2 斜等侧图118
6.5 透视变换120
6.5.1 透视变换坐标系120
6.5.2 坐标系变换121
6.5.3 用户坐标系到观察坐标系的变换122
6.5.4 观察坐标系到屏幕坐标系的变换124
6.5.5 透视投影分类125
6.6 小结127
习题6128第7章 自由曲线和曲面130
7.1 基本概念130
7.1.1 样条曲线曲面130
7.1.2 曲线曲面的表示形式130
7.1.3 拟合和逼近131
7.1.4 连续性条件131
7.2 三次参数样条曲线132
7.2.1 参数样条曲线定义132
7.2.2 系数求解133
7.2.3 边界条件133
7.3 Hermite样条曲线135
7.4 Bezier曲线137
7.4.1 Bezier曲线的定义137
7.4.2 Bezier曲线的性质139
7.4.3 Bezier曲线的可分割性139
7.5 Bezier曲面141
7.5.1 Bezier曲面的定义141
7.5.2 双三次Bezier曲面的定义141
7.6 B样条曲线142
7.6.1 B样条曲线的定义143
7.6.2 二次B样条曲线143
7.6.3 三次B样条曲线144
7.6.4 B样条曲线的性质146
7.6.5 构造特殊的三次B样条曲线的技巧148
7.7 B样条曲面149
7.7.1 B样条曲面的定义149
7.7.2 双三次B样条曲面的定义149
7.7.3 双三次B样条曲面的连续性150
7.8 小结152
习题7152第8章 分形几何156
8.1 分形和分维156
8.1.1 分形的诞生156
8.1.2 分形的基本特征157
8.1.3 分形的定义158
8.1.4 分形维数的定义158
8.2 递归模型160
8.2.1 Cantor集160
8.2.2 Koch曲线161
8.2.3 Peano-Hilbert曲线162
8.2.4 Sierpinski垫片、地毯和海绵164
8.2.5 C字曲线168
8.2.6 Caley树168
8.3 L系统模型169
8.3.1 L系统文法169
8.3.2 Koch曲线170
8.3.3 分形草171
8.3.4 Peano-Hilbert曲线171
8.3.5 分形灌木丛173
8.4 IFS迭代函数系统模型174
8.4.1 仿射变换174
8.4.2 IFS175
8.4.3 Koch曲线178
8.4.4 Sierpinski垫片180
8.4.5 枫叶生成182
8.5 小结183
习题8183第9章 动态消隐187
9.1 图形的数据结构187
9.1.1 图形的几何信息和拓扑信息187
9.1.2 基本图形的数据结构187
9.1.3 立体表示模型188
9.2 消隐算法分类190
9.3 隐线算法190
9.3.1 凸多面体消隐算法190
9.3.2 曲面体消隐算法192
9.4 隐面算法194
9.4.1 Z-Buffer算法194
9.4.2 画家算法197
9.5 小结198
习题9198第10章 真实感图形201
10.1 颜色模型201
10.1.1 基本概念201
10.1.2 RGB颜色模型202
10.1.3 Gouraud颜色渐变203
10.2 材质模型和光照模型205
10.2.1 物体的材质205
10.2.2 环境光模型206
10.2.3 漫反射光模型206
10.2.4 镜面反射光模型207
10.2.5 光强的衰减208
10.3 纹理映射209
10.3.1 纹理定义209
10.3.2 纹理映射210
10.4 OpenGL简介210
10.4.1 案例效果210
10.4.2 TestView.h文件210
10.4.3 TestView.cpp文件213
10.4.4 程序说明220
10.5 小结222
习题10222附录A 配套实践教程的案例设置及与本书的对应关系225
⑵ 简述梁友栋-Barsky线段裁剪算法的基本思想
利用线段的参数表达形式直接判别落在窗口内的部分线段。
大体上有以下几步,有些步骤依据中间的判断结果可以省略或跳转。
第一步:计算出Qi和Di(i=L,R,B,T)
第二步:看Qi的符号进行判断
第三步:计算tL=max(0,ti(始边参数)), tU=min(1,ti(终边参数))
如果,tU>tL,则可见线段区间[tL,tU]
第四步:利用tL和tU计算端点坐标
实际上很简单,不要想象的太难。网上有很多博客有介绍,可以看看。
⑶ 系统的学习计算机图形学,有哪些不同阶段的书籍的推荐
目录计算机图形学基础教程(VisualC++版)第1章导论11.1计算机图形学的应用领域11.1.1计算机辅助设计11.1.2计算机艺术11.1.3虚拟现实31.1.4计算机辅助教学31.2计算机图形学的概念41.3计算机图形学的相关学科51.4计算机图形学的确立和发展51.5图形显示器的发展及其工作原理71.5.1阴极射线管71.5.2随机扫描显示器81.5.3直视储存管显示器81.5.4光栅扫描显示器91.5.5液晶显示器131.5.6等离子显示器151.5.7三维显示器151.6图形软件标准的形成181.7计算机图形学的最新技术181.7.1交互技术181.7.2造型技术181.7.3真实感图形显示技术191.8小结19习题119第2章VisualC++6.0绘图基础212.1面向对象程序设计基础212.1.1类和对象212.1.2构造函数和析构函数222.1.3对象的动态建立和释放242.1.4继承与派生252.2MFC上机操作步骤282.3基本绘图函数312.3.1CDC类结构和GDI对象322.3.2映射模式332.3.3CDC类的主要绘图成员函数342.3.4设备上下文的调用和释放502.3.5VC++绘制图形的几种方法512.4小结52习题252第3章基本图形的扫描转换553.1直线的扫描转换553.1.1算法原理563.1.2构造中点偏差判别式563.1.3递推公式573.2圆的扫描转换573.2.1算法原理583.2.2构造中点偏差判别式593.2.3递推公式603.3椭圆的扫描转换603.3.1算法原理613.3.2构造上半部分I中点偏差判别式623.3.3上半部分I的递推公式623.3.4构造下半部分II中点偏差判别式643.3.5下半部分II的递推公式643.4反走样技术663.5直线距离加权反走样算法673.5.1算法原理673.5.2构造距离判别式693.5.3计算机化693.6小结69习题369第4章多边形填充724.1实面积图形的概念724.1.1多边形的定义734.1.2多边形的表示734.1.3多边形的填充744.1.4区域填充744.2有效边表填充算法754.2.1填充原理754.2.2边界像素的处理原则754.2.3有效边和有效边表764.2.4边表794.3边缘填充算法804.3.1填充原理804.3.2填充过程804.4区域填充算法824.4.1填充原理824.4.2四邻接点和八邻接点824.4.3四连通域和八连通域834.4.4四邻接点填充算法和八邻接点填充算法844.5小结85习题485第5章二维变换和裁剪895.1图形几何变换基础895.1.1规范化齐次坐标895.1.2矩阵相乘895.1.3二维变换矩阵905.1.4二维几何变换905.2二维图形基本几何变换矩阵915.2.1平移变换矩阵915.2.2比例变换矩阵915.2.3旋转变换矩阵925.2.4反射变换矩阵935.2.5错切变换矩阵945.3二维复合变换955.3.1复合变换原理955.3.2相对于任一参考点的二维几何变换955.3.3相对于任意方向的二维几何变换965.4二维图形裁剪985.4.1图形学中常用的坐标系985.4.2窗口和视区及窗视变换995.4.3窗视变换矩阵1005.5Cohen-Sutherland直线裁剪算法1015.5.1编码原理1015.5.2裁剪步骤1025.5.3交点计算公式1025.6中点分割直线裁剪算法1035.6.1中点分割直线裁剪算法原理1035.6.2中点计算公式1035.7梁友栋-Barsky直线裁剪算法1035.7.1梁友栋算法原理1035.7.2算法分析1045.7.3算法的几何意义1045.8小结106习题5106第6章三维变换和投影1086.1三维几何变换1086.1.1三维变换矩阵1086.1.2三维几何变换1086.2三维基本几何变换矩阵1096.2.1平移变换1096.2.2比例变换1096.2.3旋转变换1106.2.4反射变换1116.2.5错切变换1126.3三维复合变换1136.4投影变换1156.4.1三视图1156.4.2斜等侧图1186.5透视变换1206.5.1透视变换坐标系1206.5.2坐标系变换1216.5.3用户坐标系到观察坐标系的变换1226.5.4观察坐标系到屏幕坐标系的变换1246.5.5透视投影分类1256.6小结127习题6128第7章自由曲线和曲面1307.1基本概念1307.1.1样条曲线曲面1307.1.2曲线曲面的表示形式1307.1.3拟合和逼近1317.1.4连续性条件1317.2三次参数样条曲线1327.2.1参数样条曲线定义1327.2.2系数求解1337.2.3边界条件1337.3Hermite样条曲线1357.4Bezier曲线1377.4.1Bezier曲线的定义1377.4.2Bezier曲线的性质1397.4.3Bezier曲线的可分割性1397.5Bezier曲面1417.5.1Bezier曲面的定义1417.5.2双三次Bezier曲面的定义1417.6B样条曲线1427.6.1B样条曲线的定义1437.6.2二次B样条曲线1437.6.3三次B样条曲线1447.6.4B样条曲线的性质1467.6.5构造特殊的三次B样条曲线的技巧1487.7B样条曲面1497.7.1B样条曲面的定义1497.7.2双三次B样条曲面的定义1497.7.3双三次B样条曲面的连续性1507.8小结152习题7152第8章分形几何1568.1分形和分维1568.1.1分形的诞生1568.1.2分形的基本特征1578.1.3分形的定义1588.1.4分形维数的定义1588.2递归模型1608.2.1Cantor集1608.2.2Koch曲线1618.2.3Peano-Hilbert曲线1628.2.4Sierpinski垫片、地毯和海绵1648.2.5C字曲线1688.2.6Caley树1688.3L系统模型1698.3.1L系统文法1698.3.2Koch曲线1708.3.3分形草1718.3.4Peano-Hilbert曲线1718.3.5分形灌木丛1738.4IFS迭代函数系统模型1748.4.1仿射变换1748.4.2IFS1758.4.3Koch曲线1788.4.4Sierpinski垫片1808.4.5枫叶生成1828.5小结183习题8183第9章动态消隐1879.1图形的数据结构1879.1.1图形的几何信息和拓扑信息1879.1.2基本图形的数据结构1879.1.3立体表示模型1889.2消隐算法分类1909.3隐线算法1909.3.1凸多面体消隐算法1909.3.2曲面体消隐算法1929.4隐面算法1949.4.1Z-Buffer算法1949.4.2画家算法1979.5小结198习题9198第10章真实感图形20110.1颜色模型20110.1.1基本概念20110.1.2RGB颜色模型20210.1.3Gouraud颜色渐变20310.2材质模型和光照模型20510.2.1物体的材质20510.2.2环境光模型20610.2.3漫反射光模型20610.2.4镜面反射光模型20710.2.5光强的衰减20810.3纹理映射20910.3.1纹理定义20910.3.2纹理映射21010.4OpenGL简介21010.4.1案例效果21010.4.2TestView.h文件21010.4.3TestView.cpp文件21310.4.4程序说明22010.5小结222习题10222附录A配套实践教程的案例设置及与本书的对应关系225
⑷ sierpinski地毯的分形维数是多少
3 Gouraud颜色渐变203
10.1.1 算法原理56
3.1.2.3.3.3.7.1.2.1.1.4 分形维数的定义158
8.3.2.4 B样条曲线的性质146
7.2.5 C字曲线168
8.1 中点分割直线裁剪算法原理103
5.1.4 小结52
习题252第3章 基本图形的扫描转换55
3.1.4.1 三视图115
6.2 材质模型和光照模型205
10.2.2 随机扫描显示器8
1.4 Peano-Hilbert曲线171
8.5.2 Koch曲线161
8.1 纹理定义209
10.3 边界条件133
7.3.6.4 Bezier曲线137
7.3 边缘填充算法80
4.7.2.2.2 MFC上机操作步骤28
2.3 旋转变换矩阵92
5.2.1 平移变换109
6.2.4.2 Koch曲线170
8.4.4.0绘图基础21
2.4 四邻接点填充算法和八邻接点填充算法84
4.1.5.5 透视投影分类125
6.2 圆的扫描转换57
3.2 比例变换矩阵91
5.3 椭圆的扫描转换60
3.3 Hermite样条曲线135
7.2 二次B样条曲线143
7.5 小结85
习题485第5章 二维变换和裁剪89
5.2 双三次Bezier曲面的定义141
7.4 连续性条件131
7.3.5.1 规范化齐次坐标89
5.3 漫反射光模型206
10.1 直线的扫描转换55
3.3 真实感图形显示技术19
1.1.1.3 计算机图形学的相关学科5
1.2.2 构造中点偏差判别式56
3.1 填充原理82
4.3.5 枫叶生成182
8.3.4 区域填充算法82
4.2 构造上半部分I中点偏差判别式62
3.1.2 有效边表填充算法75
4.1.2.2 填充过程80
4.2.3 二维复合变换95
5.6.2.2 分形的基本特征157
8.4.4 反走样技术66
3.3.5 直线距离加权反走样算法67
3.5.2 IFS175
8.2 TestView.5.7 三维显示器15
1.5.4.2 曲面体消隐算法192
9.1 Cantor集160
8.2.3 算法的几何意义104
5.2.2.2 构造距离判别式69
3.5.4 边表79
4.5.3 三次B样条曲线144
7.1 计算机图形学的应用领域1
1.3 交点计算公式102
5.1.3 分形的定义158
8.2 三次参数样条曲线132
7.5 Bezier曲面141
7.3.4 区域填充74
4.2.1 L系统文法169
8.2 画家算法197
9.1 实面积图形的概念72
4.1 颜色模型201
10.4.6 等离子显示器15
1.1 Bezier曲线的定义137
7.5 错切变换112
6.3.3 窗视变换矩阵100
5.7 梁友栋-Barsky直线裁剪算法103
5.1.3 L系统模型169
8.1.1.4 设备上下文的调用和释放50
2.4.2 多边形的表示73
4.3 对象的动态建立和释放24
2.5 透视变换120
6.2 坐标系变换121
6.2 构造中点偏差判别式59
3.6 中点分割直线裁剪算法103
5.1 平移变换矩阵91
5.4.1 多边形的定义73
4.1 填充原理75
4.3 直视储存管显示器8
1.2 曲线曲面的表示形式130
7.2.7.1.1 计算机辅助设计1
1.3 分形草171
8.2.3.1 凸多面体消隐算法190
9.3 用户坐标系到观察坐标系的变换122
6.3.1 类和对象21
2.2 计算机图形学的概念4
1.7.3 四连通域和八连通域83
4.1.4 二维图形裁剪98
5.1.1 样条曲线曲面130
7.3.4 继承与派生25
2.2 三维基本几何变换矩阵109
6.1.5.1.5 小结198
习题9198第10章 真实感图形201
10.2 环境光模型206
10.2 系数求解133
7.3 TestView.1 交互技术18
1.4.7.4.4.4 二维几何变换90
5.1 图形的几何信息和拓扑信息187
9.2 中点计算公式103
5.1.5.4 构造下半部分II中点偏差判别式64
3.3 Bezier曲线的可分割性139
7.3 相对于任意方向的二维几何变换96
5.4 观察坐标系到屏幕坐标系的变换124
6.1 算法原理61
3.5 错切变换矩阵94
5.2 构造函数和析构函数22
2.4 反射变换111
6.1 Bezier曲面的定义141
7.4.2.2 纹理映射210
10.1 B样条曲线的定义143
7.3.3 多边形的填充74
4.3.4 IFS迭代函数系统模型174
8.4.3 隐线算法190
9.3 双三次B样条曲面的连续性150
7.3 CDC类的主要绘图成员函数34
2.3.2 窗口和视区及窗视变换99
5.2 二维图形基本几何变换矩阵91
5.2 四邻接点和八邻接点82
4.5.1.2.1 梁友栋算法原理103
5.4 光栅扫描显示器9
1.2.7.5 Cohen-Sutherland直线裁剪算法101
5.1 编码原理101
5.2.1.1 Z-Buffer算法194
9.2.2 三维几何变换108
6.1 三维变换矩阵108
6.2 比例变换109
6.6.1 面向对象程序设计基础21
2.2 造型技术18
1.6 Caley树168
8.1 算法原理67
3.3.4 投影变换115
6.6.1 图形几何变换基础89
5.1.2.1.2 Bezier曲线的性质139
7.2.5.8 小结152
习题7152第8章 分形几何156
8.5.6.3.4.4 Sierpinski垫片180
8.4 镜面反射光模型207
10.5 下半部分II的递推公式64
3.3 基本绘图函数31
2.2.3 纹理映射209
10.1.3.5 VC++绘制图形的几种方法51
2.2 计算机艺术1
1.5.3.6.1 阴极射线管7
1.7 B样条曲面149
7.3 Koch曲线178
8.3.3 计算机化69
3.7.h文件210
10.2 基本图形的数据结构187
9.4 OpenGL简介210
10.cpp文件213
10.6 B样条曲线142
7.1 分形和分维156
8.4.3.6 小结69
习题369第4章 多边形填充72
4.1.2.3 虚拟现实3
1.5.1 基本概念201
10.4 Sierpinski垫片、地毯和海绵164
8.3 递推公式60
3.4.3 Peano-Hilbert曲线162
8.2 双三次B样条曲面的定义149
7.4.1 分形的诞生156
8.1.1.4.4 计算机辅助教学3
1.6 小结127
习题6128第7章 自由曲线和曲面130
7.4.1.2.2 算法分析104
5.1 案例效果210
10.5.2 RGB颜色模型202
10.1 CDC类结构和GDI对象32
2.4 计算机图形学的确立和发展5
1.1 三维几何变换108
6.3 立体表示模型188
9.5.7.1 仿射变换174
8.2 映射模式33
2.4 反射变换矩阵93
5.7 计算机图形学的最新技术18
1.5.1.4.1 填充原理80
4.7.5 光强的衰减208
10.1 复合变换原理95
5.4.2 边界像素的处理原则75
4.5 图形显示器的发展及其工作原理7
1.5 小结183
习题8183第9章 动态消隐187
9.2 斜等侧图118
6.2.4.6.1 B样条曲面的定义149
7.5 液晶显示器13
1.5 分形灌木丛173
8.1 图形学中常用的坐标系98
5.1 物体的材质205
10.1 图形的数据结构187
9.5.1.6 图形软件标准的形成18
1.3 有效边和有效边表76
4.3 上半部分I的递推公式62
3.3 旋转变换110
6.5.4 隐面算法194
9.1 基本概念130
7.8 小结19
习题119第2章 Visual C++6.3.2.2 裁剪步骤102
5.3 拟合和逼近131
7.2 消隐算法分类190
9.3 递推公式57
3.1 算法原理58
3.8 小结106
习题5106第6章 三维变换和投影108
6.1.3 二维变换矩阵90
5.2 矩阵相乘89
5.4 程序说明220
10.5 构造特殊的三次B样条曲线的技巧148
7.2 相对于任一参考点的二维几何变换95
5.3 三维复合变换113
6.1 透视变换坐标系120
6.1 参数样条曲线定义132
7.2 递归模型160
8目录
计算机图形学基础教程(Visual C++版)
第1章 导论1
1.1