《计算机图形学基础(OpenGL版)》第2版前言

    本书计划于2019年底由清华大学出版社出版。

随着虚拟现实和5G技术的发展,计算机图形学将会发挥更加重要的基础作用,因此,越来越多的高校开设了图形学课程,同时也有更多的技术爱好者加入了图形学的学习队伍。为了更好地帮助读者学习和掌握计算机图形学,作者用心地改版了这本书。下面对本书的指导思想进行一些介绍,希望在这些重要问题上和读者取得共识,之后介绍下本书内容组织及改版情况。

1.指导思想

(1)自顶向下

图形学内容繁多复杂,很容易让学生在学习一学期后仍不得要领。针对此问题,本书在整体上采用自顶向下原则来组织内容,从计算机图形学定义出发,紧紧围绕图形绘制流水线这条主线进行图形学内容介绍,让读者在各章内容学习的同时,头脑中始终明确该章内容在图形绘制流水线中的定位和作用,从而能更整体、全面地学习与掌握计算机图形学。

(2)循序渐进

另一方面,学习是一个循序渐进的过程,一本教材也应当尽可能按照循序渐进的原则和方式来组织教材内容。因此,本书在整体上遵循图形绘制流水线这条主线的同时,在具体内容组织则遵循循序渐进的原则来处理。首先,循序渐进介绍图形绘制流水线。我们分别在第1、2、7章从不同层面、不同角度对图形绘制流水线进行介绍,让读者逐渐深入地了解图形绘制流水线这一主线。其次,按照由易到难、由外而内的顺序介绍图形绘制流水线各部分知识。为了帮助读者更好地从整体上理解和认识图形绘制流水线,本书首先在第2章介绍了图形系统,再由外而内,从图形显示的光栅化入手,介绍了基本图形的光栅化。之后再介绍变换与观察,到三维造型与真实感图形,完成整个图形绘制流水线的介绍。

(3)OpenGL定位

对本书而言,OpenGL定位于学习辅助工具,即通过OpenGL来辅助学习与掌握图形学相关知识与技术。因此,本书没有像OpenGL编程指南一样地把它的各方面知识都一一介绍,而是仅介绍了对于学习图形学来说必要的那些部分。也正是基于这一考虑,本书没有基于最新基于可编程流水线的OpenGL版本,而是采用了学习难度与台阶较小的基于固定流水线的OpenGL版本来介绍,这样可以使读者更好地聚焦到图形学内容上。同时我们相信,如果读者以本书为台阶,再去学习最新版的OpenGL会更加容易和高效。

2.内容组织

本书的图形学内容体系,如图0.1所示。其中,图形学基础模块是学习计算机图形学的一些数学与相关软硬件的基础知识;建模模块是为了解决图形学的建模与表示任务;绘制模块用来解决图形学的绘制任务。各知识模块及相应章节内容简要介绍如下。
《计算机图形学基础(OpenGL版)》第2版前言_第1张图片
图0.1. 本书的图形学内容体系

(1) 基础模块:

图形学基础主要包括数学以及与之相关软、硬件基础知识。数学基础知识包括向量、矩阵、齐次坐标和几何变换等,是计算机图形学中重要的计算工具,它们被大量地运用到真实感图形生成过程中的法向计算,还有直线、平面及各种曲面的计算,曲线曲面的构造与光顺等。其中向量、矩阵等知识请读者自行查阅相关书籍,本书不作介绍。几何变换知识将在第4章详细介绍。
软、硬件基础知识包括常见图形API,如OpenGL、Direct3D等,图形输出设备与输出技术的简单基础知识如光栅显示器基本原理、图形流水线等知识将在第2章中介绍。

(2)建模模块:

主要集中在本书的第6章,主要介绍多边形网格模型表示、曲线曲面表示方法等,为图形绘制流水线的应用程序阶段服务。

(3)绘制模块:

绘制模块主要为图形绘制流水线后两个阶段即几何处理和光栅阶段服务,其中几何处理主要负责大部分多边形和顶点的变换操作,这将在第5章介绍三维观察和有关顶点坐标变换问题。光栅阶段主要负责光栅化和像素着色任务,其中光栅化将在第3章介绍,而像素着色则会在第8章介绍。
附录A是含有12个实验的实验教程。

3.相对第1版的变化
  • 总体修改:删去第5章二维观察,第9章交互技术,第10章计算机动画。附录B内容移至线上课程相关网站,供读者参考。具体修改情况如下:
  • 第1章将原内容按照图形学的4W(What, Why, Where, When)方面来整理,使原内容逻辑更清晰;增加“1.1.2什么是计算机图形学”、“1.1.3图形绘制两种策略”和“1.1.4图形绘制流水线”;
  • 第2章增加“2.4.4 显卡和图形处理器”、“2.5图形流水线”,将原“8.3颜色模型”提前为“2.3颜色模型”;
  • 第3章:将原第5章中的裁剪内容移至“3.7裁剪”,并改写了“3.2直线段光栅化”、“3.3圆弧光栅化”和“3.6反走样技术”;
  • 第4章增加“4.1.4二维几何变换通式与总结”和“4.4.3变换应用实例——正方形旋转动画”;
  • 第5章原“6.1三维观察流水线”改为“5.1三维观察流程”并增加大量新内容,改写了“5.2观察变换”、“5.3.3透视投影”节内容;
  • 第6章按某一类曲线曲面来介绍,如Bezier曲线曲面,不再按Bezier曲线和Bezier曲面分开介绍,增加“6.4.5 NURBS曲线曲面”;
  • 第7章进行了大量的精简和改写,同时增加“7.8图形流水线再分析”;
  • 附录实验指导在原有实验基础上,增加了4个实验: “实验7 3D机器人”、“实验8 OpenGL太阳系动画”、“实验10 OpenGL纹理映射”和“实验12 B样条曲面生成”。
4.适用对象

本书旨在服务于32~48学时的本科图形学教学与学习。它具有以下特点:以经典图形学知识为主,同时注重结合OpenGL图形应用编程来详细介绍相关技术实例;以OpenGL为教学平台与实验平台,提供实验指导书,以更好地满足教学需要;内容精炼,服务本科教学需要,不过多涉及最新技术。
在阅读本书之前,读者应该了解C或者C++语言,了解简单的数据结构知识,有一些线性代数的初步知识。
欢迎读者在阅读本书的过程中,对本书存在的缺点和问题提出批评与建议。在此提供以下方式供读者联系或反馈我:作者个人博客:http://blog.csdn.net/wpxu08/;个人网站https://wpxu08.com/;微信公众号:wpxnew;邮箱:[email protected]。欢迎大家留言,同时上述网站中会有一些与本教材相关的教学建议、章节代码、实验指导、模拟试题等内容。

你可能感兴趣的:(计算机图形学基础(第2版))