计算机图形学基础教程
2008-5
清华大学
孔令德
227
373000
无
《高等学校计算机专业教材精选·图形图像与多媒体技术:计算机图形学基础教程(Visual
C++版)》采用面向对象语言Visual
C++6.o的MFC框架作为开发平台,系统讲解“基本图形的扫描转换”、“多边形填充”、“二维变换和裁剪”、“三维变换和投影”、“自由曲线和曲面”、“分形几何”、“动态消隐”和“真实感图形”的实现原理和算法。
《高等学校计算机专业教材精选·图形图像与多媒体技术:计算机图形学基础教程(Visual
C++版)》原理讲解透彻、知识点覆盖全面。以生成真实感光照模型为主线,引导读者重点掌握直线的扫描转换原理、多边形面片的有效边表填充原理、三维物体的旋转变换原理和透视投影原理、Z-Buff动态消隐原理、基于Gouraud和Phong明暗处理的真实感光照原理等内,容。通过《高等学校计算机专业教材精选·图形图像与多媒体技术:计算机图形学基础教程(Visual
C++版)》的学习,读者可以制作出具有光照和纹理的动态消隐的三维旋转物体,从而实现对图形的交互式操作。
第1章 导论
1.1 计算机图形学的应用领域
1.1.1 计算机辅助设计
1.1.2 计算机艺术
1.1.3 虚拟现实
1.1.4 计算机辅助教学
1.2 计算机图形学的概念
1.3 计算机图形学的相关学科
1.4 计算机图形学的确立和发展
1.5 图形显示器的发展及其工作原理
1.5.1 阴极射线管
1.5.2 随机扫描显示器
1.5.3 直视储存管显示器
1.5.4 光栅扫描显示器
1.5.5 液晶显示器
1.5.6 等离子显示器
1.5.7 三维显示器
1.6 图形软件标准的形成
1.7 计算机图形学的最新技术
1.7.1 交互技术
1.7.2 造型技术
1.7.3 真实感图形显示技术
1.8 小结
习题1
2.3 基本绘图函数
2.3.1 CDC类结构和GDI对象
2.3.2 映射模式
2.3.3 CDC类的主要绘图成员函数
2.3.4 设备上下文的调用和释放
2.3.5 VC++绘制图形的几种方法
2.4 小结
习题2
第3章 基本图形的扫描转换
3.1 直线的扫描转换
3.1.1 算法原理
3.1.2 构造中点偏差判别式
3.1.3 递推公式
3.2 圆的扫描转换
3.2.1 算法原理
3.2.2 构造中点偏差判别式
3.2.3 递推公式
3.3 椭圆的扫描转换
3.3.1 算法原理
3.3.2 构造上半部分I中点偏差判别式
3.3.3 上半部分I的递推公式
3.3.4 构造下半部分Ⅱ中点偏差判别式
3.3.5 下半部分Ⅱ的递推公式
3.4 反走样技术
3.5 直线距离加权反走样算法
3.5.1 算法原理
3.5.2 构造距离判别式
3.5.3 计算机化
3.6 小结
习题3
第4章 多边形填充
4.1 实面积图形的概念
4.1.1 多边形的定义
4.1.2 多边形的表示
4.1.3 多边形的填充
4.1.4 区域填充
4.2 有效边表填充算法
……
第5章 二维变换和裁剪
第6章 三维变换和投影
第7章 自由曲线和曲面
第8章 分形几何
第9章 动态消隐
第10章 真实感图形
版权页: 插图: 从定义可以看出采用八邻接点算法比四邻接点算法可以填充更为复杂的多边形区域。 4.4.3 四连通域和八连通域 种子填充算法要求多边形区域内部必须是连通的,才能将种子像素的颜色扩散到多边形区域内部的所有像素点,一般将多边形区域划分为四连通域和八连通域两种。 1.四连通域定义 从多边形区域内部任意一个种子像素点出发,通过访问其左、上、右、下这4个邻接点可以遍历区域内的所有像素点,该多边形区域称为四连通域,如图4—27和图4—28所示。其中图4—27的四连通域具有四连通边界,图4—28的四连通域具有八连通边界。对于四连通域,其边界既可以使用四连通边界也可以使用八连通边界。 2.八连通域定义 从多边形区域内部任意一个种子像素点出发,通过访问其左、左上、上、右上、右、右下、下、左下这8个邻接点可以遍历区域内的所有像素点,该多边形区域称为八连通域,如图4—29和图4—30所示。其中图4—29的八连通域具有四连通边界,图4—30的八连通域具有八连通边界。对于八连通域,其边界必须使用八连通边界,而不能使用四连通边界。 对于图4—30所示的八连通域,假定种子像素位于多边形区域的左下部区域内,则四邻接点算法只能填充其左下部区域,不能进入其右上部区域,如图4—31所示。八邻接点算法则可以从其左下部区域进入右上部区域,填充完整个多边形区域,如图4—32所示。 4.4.4四邻接点填充算法和八邻接点填充算法 1.算法定义 从种子像素点开始,使用四邻接点方式搜索下一像素点的填充算法称为四邻接点填充算法。 从种子像素点开始,使用八邻接点方式搜索下一像素点的填充算法称为八邻接点填充算法。 四邻接点填充算法的缺点是不能通过狭窄区域,即不能填充八连通域。八邻接点填充算法既可以填充四连通域,也可以填充八连通域。八邻接点填充算法的设计和四邻接点填充算法基本相似,只要把搜索方式由四邻接点修改为八邻接点即可。 2.算法原理 种子填充算法一般要求区域边界色和填充色不同,输人参数只有种子坐标位置和颜色。种子填充算法一般需要使用堆栈数据结构来实现。 算法原理为,先将种子像素入栈,种子像素为栈底像素,如果栈不为空,执行如下3步操作。 (1)栈顶像素出栈。 (2)按填充色绘制出栈像素。 (3)按左、上、右、下(或左、左上、上、右上、右、右下、下、左下)顺序搜索与出栈像素相邻的四(八)个像素,若该像素的颜色不是边界色并且未置成填充色,则把该像素入栈;否则丢弃该像素。
《高等学校计算机专业教材精选•图形图像与多媒体技术:计算机图形学基础教程(Visual C++版)》不仅可以作为大学本科生理论教材和实训教材,还可供计算机图形学爱好者的自学使用。
无
典型的抄袭,我不信自己看能看懂