图书前言

计算机图形学(computer graphics, CG)是研究如何利用计算机算法来生成、处理和显示图形的一门学科,主要的算法原理包括基于光栅扫描显示器的基本图形的扫描转换原理;基于齐次坐标的二维、三维变换矩阵的几何变换原理;基于几何造型的自由曲线、曲面的生成原理;基于分形几何学的分数维造型原理;基于像空间和物空间的三维实体动态消隐原理;基于颜色模型、光照模型和纹理映射技术的真实感图形显示原理。

本书有以下特色。

 (1)  编程环境的先进性。本书采用Visual C++ 6.0编程环境进行算法讲解。目前市面上的计算机图形学教材大多采用Turbo C语言作为编程环境,但面向过程语言Turbo C开发的程序是基于DOS界面的,图形操作基本不具备交互性,而且只能显示16种颜色。本书选用Microsoft公司的面向对象语言Visual C++ 6.0的MFC框架作为编程环境。

 (2)  所有原理算法的案例化。计算机图形学算法复杂、原理众多。作为省级精品课程“C++程序设计”和院级精品课程“计算机图形学”的第一负责人,笔者在十多年的计算机图形学教学实践中,使用Visual C++ 6.0的MFC框架自主开发了所有原理的算法实现程序,做到了本书所讲解到的每个原理在配套的实践教程中都有相应的算法实现案例。

 (3)  编写内容的系统化。本书配有实践教程。本书分为10章,实践教程包含和本书对应的43个案例。两本书的内容均由同一作者独立编写,保证了编写体系的一致性。

本书各章节主要内容如下。

第1章 导论。介绍了计算机图形学的应用领域,以及图形显示设备的发展历程。

第2章 Visual C++ 6.0 绘图基础。介绍面向对象程序设计基础、MFC上机操作步骤,以及Visual C++ 6.0的基本绘图函数。

第3章 基本图形的扫描转换。讲解直线、圆和椭圆的像素级扫描转换原理,以及直线的反走样技术。

第4章 多边形填充。讲解了实面积图形的概念,有效边表填充原理和算法,边缘填充原理和算法,以及区域填充原理和算法。

第5章 二维变换和裁剪。讲解齐次坐标,平移、比例、旋转、反射和错切的二维基本几何变换矩阵,Cohen-Sutherland直线裁剪原理和算法,中点分割直线裁剪原理和算法,以及梁友栋-Barsky直线裁剪原理和算法。

第6章 三维变换和投影。讲解平移、比例、旋转、反射和错切的三维基本几何变换矩阵,三视图、斜等侧图以及透视投影的变换矩阵。

第7章 自由曲线和曲面。讲解样条曲线、Bezier曲线曲面和B样条曲线曲面的生成原理和算法。

第8章 分形几何。讲解分形曲线的递归模型、植物的L系统模型,以及IFS迭代函数系统的原理和算法。

第9章 动态消隐。讲解动态凸多面体和曲面体的隐线原理和算法,动态Z-Buffer的隐面原理和算法,以及画家算法的隐面原理和算法。

第10章 真实感图形。讲解RGB模型、Gouraud明暗处理、光照模型,以及纹理映射技术的实现原理和算法。

实践教程的案例设置和与本书的对应关系见附录A. 

经过历时3年的编写,本书终于要和读者见面了,其间的艰辛一言难尽。由于要用算法实现本书讲到的所有原理,程序调试花费了很长时间。幸喜在博创研究所的工作人员的协助下,使用Visual C++的MFC框架完成了本书的所有原理,本书也得以完稿。

在此,感谢我院刘宇君、樊孝仁、郭芸俊和杨慧炯等教师的大力支持。

感谢在博创研究所先后工作的人员廖小谊、彭贺亮、刘鹏、申明达、杨晓亮、傅立群和杨铭等在程序调试方面作出的贡献。

本书及其配套实践教程适合作为计算机科学与技术专业的教材。欢迎访问笔者负责的C++精品课程网址:http://210.31.100.100/c++jpkc/default.asp和“计算机图形学”精品课程网址:http:// www.tit.edu.cn /jsjtxx/welcome.html. 

希望本书的出版对从事交互式图形图像处理的读者有所帮助,同时也请计算机图形图像处理方面的专家提出宝贵的意见。E-mail: klingde@163.com.