Visual C++图形程序设计
作者 : 许志闻 郭晓新 杨瀛涛 主编 王云霄 高占恒 徐长青 参编
出版日期 : 2009-07-23
ISBN : 978-7-111-27014-0
定价 : 35.00元
教辅资源下载
扩展信息
语种 : 简体中文
页数 : 316
开本 : 16
原书名 :
原出版社:
属性分类: 教材
包含CD :
绝版 :
图书简介

本书主要以MFC的VC++为例,全面讲述了计算机图形学相关理论以及算法的C++具体程序设计,详细介绍了所有经典图形学算法的C++程序设计方法及过程。

图书前言

计算机图形学是伴随着计算机技术在图形处理领域中的应用而发展起来的一门实践性的学科,是游戏、数字媒体、计算机视觉、图像处理、地理信息系统、计算机辅助设计等专业技术的基础。计算机图形的应用范围非常广泛,已经渗透到科研、工程、商业、艺术等社会生活和工业生产的几乎一切领域,并与这些领域的发展相互推动和促进。因此其相关知识的更新、发展亦非常快,只有及时学习和掌握新的研究成果并提高实际应用能力,才能为以后的工作与研究奠定基础。而且近几年随着计算机图形技术的不断发展,OPENGL、D3D等技术的不断成熟,在计算机游戏、计算机辅助设计等方面对计算机图形程序设计人员的需求越来越多。为了更好地培养学生的程序设计能力,本书主要以MFC的Visual C++为例,全面讲述了计算机图形学相关理论以及算法的C++具体程序设计,详细介绍了所有经典图形学算法的C++程序设计方法及过程。
本书是《计算机图形学》的配套实践教材,从实际程序设计入手,详细介绍了MFC(VC++ 6.0)计算机图形学有关的原理、算法及程序设计实现。其主要内容包括:MFC图形编程基础、 图形基元扫描转换算法的实现、图形变换、曲线和曲面、图形运算、形体的表示以及数据结构、消隐和使用MFC实现真实感图形绘制等。全面介绍了直线、圆扫描转换算法,区域填充算法,二维、三维图形变换,投影、裁剪、视见变换,埃尔米特、贝济埃、B样条曲线及曲面的绘制,线段相交、凸壳算法和多边形三角剖分,二维、三维形体的表示,分形绘图,线、面隐藏算法,深度缓存算法、扫描线算法、区域分割算法,阴影、纹理及光照模型绘制。系统分析了各种算法的数据组织,详细说明了各个算法的MFC程序设计,给出了所有程序代码,这些程序代码均通过VC++ 6.0编译。
本书可以作为高等院校本科生、研究生学习计算机图形学的实践教材,也可作为从事数字媒体、游戏、CAD、计算机辅助设计、地理信息系统、图像处理和MFC程序设计的广大科技人员的参考书。
许志闻、郭晓新、杨瀛涛、王云霄、高占恒等老师参加了本书的撰写工作,全书由徐长青老师主审。
由于编者的水平和能力所限,书中可能存在错误和不足,欢迎读者给予批评和指正。

编者
2009年4月19日于吉林大学

上架指导

计算机\图形图像

封底文字

本书根据作者多年从事计算机图形学的教学实践经验编写,以MFC的VC++为例,全面、系统地介绍了MFC(VC++ 6.0)计算机图形学有关的原理、算法及程序设计实现。本书旨在培养读者基本的图形程序设计能力,详细介绍所有经典图形学算法的C++程序设计方法及过程。
本书特色:
全面介绍VC++计算机图形程序设计方法。
系统分析各种图形算法实现的算法结构和数据组织。
详细讲解VC++程序设计代码。
全部算法程序都在VC++ 6.0编译通过。
提供全部程序代码和教学讲稿。

图书目录

前  言

第1章 MFC图形编程基础 1
1.1 MFC概述 1
1.2 创建MFC项目 1
1.2.1 使用MFC AppWizard
创建MFC项目 1
1.2.2 MFC项目工作区窗口 4
1.2.3 文档/视图体系 6
1.3 设备环境和OnDraw函数 7
1.4 CDC类常用绘图函数 10
1.4.1 SetPixel函数和GetPixel函数 10
1.4.2 LineTo函数和MoveTo函数 11
1.4.3 Polyline函数和PolylineTo函数 12
1.4.4 Arc函数和ArcTo函数 14
1.4.5 AngleArc函数 15
1.4.6 PolyBezier函数和
PolyBezierTo函数 16
1.4.7 Rectangle函数 17
1.4.8 RoundRect函数 17
1.4.9 Ellipse函数 18
1.4.10 Pie函数 19
1.4.11 Chord函数 19
1.4.12 Polygon函数 20
1.4.13 PolyPolygon函数 20
1.5 视图重画 21
1.5.1 编辑应用程序菜单 21
1.5.2 使用ClassWizard为菜单
项连接处理函数 24
1.5.3 主动视图重画 28
1.6 绘图工具 32
1.6.1 使用库存的绘图工具 32
1.6.2 使用自定义绘图工具 38
1.7 文本输出 53
1.7.1 文本输出函数 54
1.7.2 设置文本颜色及文本对齐方式 57
1.7.3 CFont类 60
1.8 绘图属性 63
1.8.1 映射模式和坐标变换 64
1.8.2 设置坐标系原点 68
1.8.3 设置背景模式和背景颜色 69
1.8.4 设置画弧方向 71
1.8.5 设置绘图模式 71
1.8.6 其他绘图属性函数及较
常用的CDC成员函数 73
第2章 图形基元扫描转换算法的实现 74
2.1 直线扫描转换算法的实现 74
2.1.1 DDA直线扫描转换
算法的实现 75
2.1.2 中点画线法的实现 75
2.1.3 Bresenham画线算法的实现 79
2.1.4 演示三种直线扫描转换算法 83
2.1.5 比较三种直线扫描转换
算法的运行效率 86
2.1.6 线型和线宽 87
2.2 圆的扫描转换算法的实现 90
2.2.1 中点画圆法的实现 90
2.2.2 Bresenham画圆算法的实现 92
2.2.3 Bresenham画椭圆算法的实现 94
2.3 区域填充算法的实现 97
2.3.1 种子填充算法的实现 97
2.3.2 多边形扫描转换算法的实现 100
第3章 图形变换 108
3.1 变换的数学基础 108
3.2 二维图形的几何变换 110
3.3 投影变换 122
3.3.1 平行投影 122
3.3.2 透视投影 126
3.4 三维图形变换 126
3.5 裁剪 130
第4章 曲线和曲面 140
4.1 埃尔米特多项式 140
4.1.1 三次埃尔米特多项式 140
4.1.2 埃尔米特曲线绘制的程序设计 140
4.2 孔斯曲面 144
4.2.1 孔斯双三次曲面片 144
4.2.2 孔斯曲面绘制的程序设计 145
4.3 贝济埃曲线 149
4.3.1 直接绘制法 149
4.3.2 几何作图法 150
4.3.3 分裂法 152
4.3.4 贝济埃曲线绘制的程序设计 154
4.4 贝济埃曲面 160
4.4.1 双三次贝济埃曲面 160
4.4.2 贝济埃曲面绘制的程序设计 160
4.5 B样条曲线 164
4.5.1 直接绘制法 165
4.5.2 几何作图法(de Boor算法) 165
4.5.3 de Boor算法的几何意义 168
4.5.4 均匀B样条曲线 168
4.5.5 准均匀B样条曲线 168
4.5.6 B样条曲线绘制的程序设计 169
4.6 B样条曲面 175
4.6.1 双三次B样条曲面 175
4.6.2 B样条曲面绘制的程序设计 176
第5章 图形运算 178
5.1 线段的交点计算 178
5.2 平面中的凸壳算法 183
5.3 包含与重叠 188
5.4 简单多边形的三角剖分 198
5.4.1 程序代码 199
5.4.2 程序运行方法 203
第6章 形体的表示以及数据结构 204
6.1 分形图的递归算法 204
6.1.1 康托尔集 204
6.1.2 Koch曲线和Koch雪花 205
6.1.3 Sierpinski垫和Sierpinski地毯 208
6.2 分形图的L-S文法构造算法 211
6.2.1 单一规则的L-S文法生成 211
6.2.2 多规则L-S文法生成 212
6.2.3 具体程序实现 212
6.3 时间逃逸算法 217
6.3.1 Julia集 217
6.3.2 Mandelbrot集 220
第7章 消隐 223
7.1 外法向量法消除隐藏线 223
7.2 浮动水平线法消除隐藏线 226
7.3 画家算法 232
7.4 z缓冲算法 235
7.5 扫描线算法 244
第8章 使用MFC实现真实感图形绘制 259
8.1 演示程序使用的场景造型 259
8.1.1 球体造型 260
8.1.2 生成球体表面参数点 261
8.1.3 球体表面三角剖分 261
8.2 局部光照模型 263
8.2.1 局部光照模型概述 263
8.2.2 Lambert漫反射光照模型概述 264
8.2.3 Lambert漫反射光照
模型的实现 265
8.2.4 Phong局部光照模型概述 270
8.2.5 Phong局部光照模型的实现 271
8.3 色彩模型 274
8.4 多边形网格明暗处理的实现 279
8.5 阴影绘制的实现 286
8.6 简单纹理映射的实现 293
8.7 Whitted整体光照模型的实现 297
参考文献 310

教学资源推荐
作者: (美)Gregory F. Lawler 著
作者: (美) Wayne Wolf 著
作者: 卢红 王三武 黄继雄 主编   吴飞 徐瑾 副主编
作者: (美)Randal E. Bryant; David R. O'Hallaron 著
参考读物推荐
作者: 刘西垣;周民强;李正元;林源渠
作者: (美) Stanley B. Lippman  著