基本信息·出版社:机械工业出版社 ·页码:309 页 ·出版日期:2009年08月 ·ISBN:9787111270140 ·条形码:9787111270140 ·版本:第1版 ·装帧:平装 ...
商家名称 |
信用等级 |
购买信息 |
订购本书 |
|
 |
VisualC++图形程序设计 |
 |
|
 |
VisualC++图形程序设计 |
 |

基本信息·出版社:机械工业出版社
·页码:309 页
·出版日期:2009年08月
·ISBN:9787111270140
·条形码:9787111270140
·版本:第1版
·装帧:平装
·开本:16
·正文语种:中文
·丛书名:数字媒体专业规划教材
·图书品牌:华章图书
内容简介 《VisualC++图形程序设计》主要以MFC的Visual c++(以下简称Vc++)为例,全面讲述计算机图形学相关理论以及算法,详细介绍经典图形学算法的c++程序设计方法及过程。主要内容包括:vc++6.0图形编程的基本操作,直线、圆弧等基元的绘制,扫描转换算法及区域添充,图形的二维和三维变换,投影变换和裁剪算法,曲线和曲面的绘制,图形运算,形体的表示、数据结构及分形绘图的方法,多种消隐算法的实现,使用MFC实现真实感图形绘制。
《VisualC++图形程序设计》可以作为高等院校相关专业的本科生、研究生学习计算机图形学的教材,对从事计算机辅助设计、游戏动画设计、计算机图形学技术工作年IJVC++程序设计的人员也有较大参考价值。
编辑推荐 《VisualC++图形程序设计》根据作者多年从事计算机图形学的教学实践经验编写,以MFC的VisuaI C++为例,全面、系统地介绍了MFC(VisualC++6.0)计算机图形学的有关原理、算法及程序设计实现。《VisualC++图形程序设计》旨在培养读者基本的图形程序设计能力,详细介绍了所有经典图形学算法的c++程序设计方法及过程。
《VisualC++图形程序设计》特色:
●全面介绍Visual C++计算机图形程序设计方法。
●系统分析各种图形算法实现的算法结构和数据组织。
●详细讲解Visual C++程序设计代码。
●全部算法程序都经Visual C++6.0编译通过。
●提供全部程序代码。
目录 前言
第1章 MFC图形编程基础
1.1 MFC概述
1.2 创建MFC项目
1.2.1 使用MFC AppWizarld创建MFC项目
1.2.2 MFC项目工作区窗口
1.2.3 文档/视图体系
1.3 设备环境和OnDraw函数
1.4 CDC类常用绘图函数
1.4.1 SetPixel函数和GetPixel函数
1.4.2 Linerr0函数和MoveT0函数
1.4.3 Polyline函数和P01ylineTo函数
1.4.4 Arc函数和ArcTo函数
1.4.5 AngleArc函数
1.4.6 PolyBezier函数和PolyBezierT0函数
l.4.7 Rectangle函数
1.4.8 RoundRect函数
1.4.9 Ellipse~函数
1.4.10 Pie函数
1.4.11 Chord函数
1.4.12 Polygon函数
1.4.13 PolyPolygom函数
1.5 视图重画
1.5.1 编辑应用程序菜单
1.5.2 使用classWizard为菜单项连接处理函数
1.5.3 主动视图重画
1.6 绘图工具
1.6.1 使用库存的绘图工具
1.6.2 使用自定义绘图工具
1.7 文本输出
1.7.1 文本输出函数
1.7.2 设置文本颜色及文本对齐方式
1.7.3 CFont类
1.8 绘图属性
1.8.1 映射模式和坐标变换
1.8.2 设置坐标系原点
1.8.3 设置背景模式和背景颜色
1.8.4 设置画弧方向
1.8.5 设置绘图模式
1.8.6 其他绘图属性函数及较常用的CDC成员函数
第2章 图形基元扫描转换算法的实现
2.1 直线扫描转换算法的实现
2.1.1 DDA直线扫描转换算法的实现
2.1.2 中点画线法的实现
2.1.3 Bresenham画线算法的实现
2.1.4 演示三种直线扫描转换算法
2.1.5 比较三种直线扫描转换算法的运行效率
2.1.6 线型和线宽
2.2 圆的扫描转换算法的实现
2.2.1 中点画圆法的实现
2.2.2 Bresenham画圆算法的实现
2.2.3 Bresenham画椭圆算法的实现
2.3 区域填充算法的实现
2.3.1 种子填充算法的实现
2.3.2 多边形扫描转换算法的实现
第3章 图形变换
3.1 变换的数学基础
3.2 二维图形的几何变换
3.3 投影变换
3.3.1 平行投影
3.3.2 透视投影
3.4 三维图形变换
3.5 裁剪
第4章 曲线和曲面
4.1 埃尔米特多项式
4.1.1 三次埃尔米特多项式
4.1.2 埃尔米特曲线绘制的程序设计
4.2 孔斯曲面
4.2.1 孔斯双三次曲面片
4.2.2 孔斯曲面绘制的程序设计
4.1.3贝济埃曲线
4.3.1 直接绘制法
4.3.2 几何作图法
4.3.3 分裂法
4.3.4 贝济埃曲线绘制的程序设计
4.4 贝济埃曲面
4.4.1 双三次贝济埃曲面
4.4.2 贝济埃曲面绘制的程序设计
4.5 B样条曲线
4.5.1 直接绘制法
4.5.2 几何作图法(de Boor算法)
4.5.3 de Boor算法的几何意义
4.5.4 均匀B样条曲线
4.5.5 准均匀B样条曲线
4.5.6 B样条曲线绘制的程序设计
4.6 B样条曲面
4.6.1 双三次B样条曲面
4.6.2 B样条曲面绘制的程序设计
第5章 图形运算
5.1 线段的交点计算
5.2 平面中的凸壳算法
5.3 包含与重叠
5.4 简单多边形的三角剖分
5.4.1 程序代码
5.4.2 程序运行方法
第6章 形体的表示以及数据结构
6.1 分形图的递归算法
6.1.1 康托尔集
6.1.2 Koch曲线和:Koch雪花
6.1.3 Sierpinski垫和Sierpinski地毯
6.2 分形图的L-S文法构造算法
6.2.1 单一规则的L-S文法生成
6.2.2 多规则L-S文法生成
6.2.3 具体程序实现
6.3 时间逃逸算法
6.3.1 Julia集
6.3.2 Mandelbrot集
第7章 消隐
7.1 外法向量法消除隐藏线
7.2 浮动水平线法消除隐藏线
7.3 画家算法
7.4 z缓冲算法
7.5 扫描线算法
第8章 使用MFC实现真实感图形绘制
8.1 演示程序使用的场景造型
8.1.1 球体造型
8.1.2 生成球体表面参数点
8.1.3 球体表面三角剖分
8.2 局部光照模型
8.2.1 局部光照模型概述
8.2.2 Lambert漫反射光照模型概述
8.2.3 Lambert漫反射光照模型的实现
8.2.4 Phong局部光照模型概述
8.2.5 Phong局部光照模型的实现
8.3 色彩模型
8.4 多边形网格明暗处理的实现
8.5 阴影绘制的实现
8.6 简单纹理映射的实现
8.7 Whitted整体光照模型的实现
参考文献
……
序言 计算机图形学是伴随着计算机技术在图形处理领域中的应用而发展起来的一门实践性的学科,是游戏、数字媒体、计算机视觉、图像处理、地理信息系统、计算机辅助设计等专业技术的基础。计算机图形的应用范围非常广泛,已经渗透到科研、工程、商业、艺术等社会生活和工业生产的几乎一切领域,并与这些领域的发展相互推动和促进。因此其相关知识的更新、发展亦非常快,只有及时学习和掌握新的研究成果并提高实际应用能力,才能为以后的工作与研究奠定基础。而且近几年随着计算机图形技术的不断发展,OPENGL、D3D等技术的不断成熟,在计算机游戏、计算机辅助设计等方面对计算机图形程序设计人员的需求越来越多。为了更好地培养学生的程序设计能力,本书主要以MFC的Visual C++为例,全面讲述了计算机图形学相关理论以及算法的C++具体程序设计,详细介绍了所有经典图形学算法的C++程序设计方法及过程。
本书是《计算机图形学》的配套实践教材,从实际程序设计入手,详细介绍了MFC(VC++6.0)计算机图形学有关的原理、算法及程序设计实现。其主要内容包括:MFC图形编程基础、 图形基元扫描转换算法的实现、图形变换、曲线和曲面、图形运算、形体的表示以及数据结构、消隐和使用MFC实现真实感图形绘制等。全面介绍了直线、圆扫描转换算法,区域填充算法,二维、三维图形变换,投影、裁剪、视见变换,埃尔米特、贝济埃、B样条曲线及曲面的绘制,线段相交、凸壳算法和多边形三角剖分,二维、三维形体的表示,分形绘图,线、面隐藏算法,深度缓存算法、扫描线算法、区域分割算法,阴影、纹理及光照模型绘制。系统分析了各种算法的数据组织,详细说明了各个算法的MFC程序设计,给出了所有程序代码,这些程序代码均通过VC++6.0编译。
本书可以作为高等院校本科生、研究生学习计算机图形学的实践教材,也可作为从事数字媒体、游戏、CAD、计算机辅助设计、地理信息系统、图像处理和MFC程序设计的广大科技人员的参考书。
许志闻、郭晓新、杨瀛涛、王云霄、高占恒等老师参加了本书的撰写工作,全书由徐长青老师主审。
由于编者的水平和能力所限,书中可能存在错误和不足,欢迎读者给予批评和指正。
文摘 插图:

第1章 FC图形编程基础
1.1 MFC概述
MFC(Microsoft Foundation Classes)库是微软为利用VC++开发Windows应用程序而提供的应用程序框架。在这个框架下,编程的主要任务是填写应用程序特殊部分的代码。MFC库由130多个类组成,封装了2 000多个APl函数。
使用MFC编程具有很多优点:用类编程,将代码和数据封装在类中,大大减少了编程的复杂性;通过继承实现了基本的代码重用,在开发应用程序的过程中,可以通过继承来使用MFC中已经定义的大量类,在保留它们原有特性的同时,可以根据我们的需要来修改它们,使其具有新的特性;在使用MFC进行编程的过程中,可以利用其提供的各种工具提高编程的效率;借助MFC库中设计良好的类资源可以减小代码规模。使用MFC库,编程者只需要注意应用程序与通用的Windows程序所不同的特性,而几乎所有的应用程序与Windows之间的接口都是由应用程序框架来实现的,这大大降低了编程的难度。
Windows区别于DOS的一个重要的特征就是它的图形界面,所以在Windows的程序中,绘图就成为了Windows编程的一个非常重要的内容。为了满足编程者在程序中绘图的需要,MFC提供了许多与绘图相关的类和函数,用这些类和函数可以绘制出想要的各种图形。
1.2 创建MFC项目
使用MFC框架编程,首先需要创建一个MFC项目,MFC的应用程序开发都是在一个MFC项目中完成的。在本教程中,我们使用的开发平台是Microsoft Visual Studi0 6.0中的VisualC++6.0。