标题：计算机图形学原理及算法教程（Visual C++版）
图书信息
作者：和青芳 本书已经出版第2版图书详细信息： ISBN：9787302116134 定价：29元 印次：1-4 装帧：平装 印刷日期：2008-7-21
图书简介
本书在系统介绍计算机图形学算法及原理的基础上，利用Visual C++开发环境，编写相应的应用程序，较全面地把计算机图形学理论与计算机绘图的实践结合起来。本书共10章，包括基本图形的生成、二维图形、图形交互技术、简单CAD绘图系统开发实例、三维图形、曲线与曲面、几何造型、消隐技术、真实感图形绘制及计算机动画等内容。本书可作为大专院校计算机图形学理论课程教材、上机教材或工程技术人员自学计算机图形学和Visual C++的参考书，也可作为计算机图形学教师理论教学参考书和课程设计的素材。
图书前言
计算机图形技术是随着计算机技术在图形处理领域中的应用而发展起来的一门新技术，是伴随着电子计算机及其外围设备的发展而产生的，现已成为计算机应用科学中的一个重要分支，在许多行业中起着越来越大的作用。这必然促使计算机专业人员、广大非计算机专业的应用人员，从计算机图形学的理论高度和计算机绘图的实用角度来研究和开发计算机图形的生成技术及软件。在多年的教学、科研和技术开发工作中，我们深刻地体会到：计算机图形学的原理和算法是开发图形软件的基础，对高级语言中绘图工具的掌握是理解和应用计算机图形理论的翅膀。只有扎实的计算机图形学理论基础，才能开发图形软件；必须灵活运用高级语言中的绘图能力才能开发出优质的图形软件。基于这些体会，作者认为很有必要编写出版这样的一本书，把计算机图形学理论与计算机绘图的实践结合起来，在计算机理论与交互式图形软件设计之间架起一座桥梁，对图形学的理论和方法尽量用简明的算法程序描述出来，掌握用Visual C++开发工具进行交互式图形软件的设计，使学习者在掌握理论和实用知识两方面均感到应用自如。本书从计算机图形学的基本图形生成讲起，采取循序渐进的内容安排，介绍计算机图形学的有关原理、算法，由简单到复杂、由二维至三维，理论与实践相结合，对所论述的算法或原理给出了Visual C++详尽的程序设计过程。书中范例的许多算法与理论篇中的内容不尽相同，学习者须按照书中的讲解，将这些Visual C++程序移植到范例中去，举一反三，就可容易地在计算机上得到验证与提高，从而为深入理解图形学原理提供重要的保证，并为今后的计算机图形学应用打下坚实的实践基础和编程积累。本书要求学习者有线性代数和Visual C++基础知识。读者可根据自身情况，在Visual C++开发环境中上机练习，掌握和应用图形学的各种算法，并试着开发一些具有实用性的小型绘图软件。
图书目录
第1章 基本图形的生成 11.1 直线 11.1.1 DDA（数值微分）算法 21.1.2 生成直线的中点画线法 21.1.3 Bresenham算法 21.1.4 程序设计 31.2 圆 71.2.1 直角坐标法 71.2.2 中点画圆法 81.2.3 圆的Bresenham算法 81.3 椭圆扫描转换中点算法 111.4 多边形的扫描转换与区域填充 131.4.1 多边形的扫描转换 141.4.2 区域填充算法 151.5 字符的生成 221.5.1 点阵字符 221.5.2 矢量字符 231.5.3 字符属性 231.6 图形裁剪 231.6.1 线裁剪 241.6.2 多边形裁剪 251.6.3 字符裁剪 261.6.4 图形裁剪编程 261.7 Visual C++中基本绘图函数 38练习题 41第2章 二维图形 422.1 用户坐标到屏幕坐标的变换 422.1.1 窗口到视口的变换内容 422.1.2 窗口区到视口区的坐标变换 432.2 二维几何变换 442.2.1 基本变换 442.2.2 二维几何变换的级联 472.3 几何变换程序设计案例 492.4 平面曲线图 592.4.1 正叶线 602.4.2 正叶线蝴蝶结 602.5 平面曲线程序设计案例 60练习题 63第3章 交互技术 643.1 用户接口设计 643.2 逻辑输入设备与输入处理 653.2.1 逻辑输入设备 653.2.2 输入模式 663.3 交互式绘图技术 673.4 交互技术程序设计案例 68练习题 75第4章 简单CAD绘图系统开发实例 764.1 计算机图形学绘图基础 764.1.1 Visual C++开发系统基本绘图知识 774.1.2 计算机图形学绘图系统设计基本原则 794.1.3 图形程序设计步骤 794.1.4 在Visual C++集成开发环境下程序的调试 814.1.5 计算机程序结构设计基础 814.1.6 绘图程序设计基本方法 824.2 图形的数据结构 854.2.1 图形信息的分类 854.2.2 图形数据结构 854.2.3 计算机对数据的管理——数据文件 864.2.4 图形数据的存储状态 874.2.5 动态文件数据结构的组织原则 874.2.6 简单CAD绘图系统编程实例中的数据结构 874.3 简单CAD绘图系统功能简介 1034.3.1 简单CAD绘图系统运行界面 1034.3.2 简单CAD绘图系统功能 103第5章 三维图形变换 1075.1 三维图形几何变换矩阵 1075.2 三维图形基本变换矩阵 1075.2.1 平移变换 1075.2.2 比例变换 1085.2.3 绕坐标轴的旋转变换 1095.2.4 对称变换 1105.2.5 错切变换 1125.3 图形的投影变换 1135.3.1 投影变换分类 1135.3.2 平行投影 1145.4 三维变换程序设计案例 118练习题 146第6章 曲线和曲面 1476.1 曲线曲面参数表示的基础知识 1476.1.1 非参数表示和参数表示 1476.1.2 参数表示的基本特征 1486.1.3 曲线段之间的连续性 1506.1.4 曲线曲面设计中的几个概念 1516.2 常用参数曲线 1516.2.1 一般规则空间曲线 1516.2.2 Bezier曲线 1526.2.3 B样条曲线 1586.3 参数曲面 1646.3.1 函数式曲面 1646.3.2 旋转曲面 1656.4 常用曲面 1666.4.1 双曲线曲面 1666.4.2 Bezier曲面 1666.4.3 B样条曲面 1686.5 曲面与曲线编程案例 169练习题 195第7章 几何造型技术 1967.1 实体的表示模型 1967.1.1 分解表示 1977.1.2 构造表示 1987.1.3 边界表示 2007.1.4 形体的边界表示模型 2007.2 求交分类 2027.2.1 求交分类 2027.2.2 基本的求交算法 2037.3 图形相交-相切程序设计案例 2077.4 非传统造型技术 2207.4.1 基本概念 2217.4.2 分形造型对模型的基本要求 2217.4.3 分形造型的常用模型 2217.5 分形造型应用 2227.6 分形造型编程设计 223练习题 238第8章 消隐 2398.1 线消隐 2398.2 面消隐 2408.2.1 区域排序算法基本思想 2408.2.2 深度缓存（Z-buffer）算法 2418.2.3 扫描线算法 2418.3 图形几何构造 2428.4 消隐技术编程案例 245练习题 259第9章 真实感图形学 2609.1 颜色模型 2609.1.1 CIE色度图 2609.1.2 常用的颜色模型 2619.2 简单光照明模型 2639.2.1 Phong光照明模型 2639.2.2 增量式光照明模型 2659.3 局部光照明模型 2669.4 光透射模型 2679.4.1 透明效果的简单模型 2679.4.2 Whitted光透射模型 2689.4.3 Hall光透射模型 2689.4.4 简单光反射透射模型 2689.5 纹理及纹理映射 2699.6 整体光照明模型 2709.6.1 光线跟踪算法 2709.6.2 辐射度方法 2729.7 真实感图形学编程案例 272练习题 321第10章 计算机动画 32210.1 计算机动画概述 32210.2 计算机动画的应用领域 32210.3 计算机动画的分类和原理 32210.4 目前计算机动画面临的问题 32510.5 计算机动画程序设计案例 32510.5.1 帧动画 32510.5.2 实时动画 328练习题 335参考文献 336[1]