《高等院校计算机专业系列规划教材:计算机图形学》为计算机图形学的基础性教材,重点介绍计算机图形学的基本原理、数学方法和算法。全书共分为9章,主要内容包括:计算机图形系统、计算机图形学的基本算法、裁剪与变换、曲线曲面、立体显示技术、隐藏线和面的消除、真实感图形的显示和交互式绘图技术等。本教材是作者根据《高等院校计算机专业系列规划教材:计算机图形学》课程教学基本要求和多年讲授《高等院校计算机专业系列规划教材:计算机图形学》课程的经验和科研成果,参考国内外同类教材编写而成。
本教材可作为电子(通信、计算机、电子、信息等专业)类和机械、工业设计本科生的教材,也可作为研究生的教材或参考书以及供从事计算机图形学学习和研究的人员参考。
《高等院校计算机专业系列规划教材:计算机图形学》选择计算机图形学的基础内容,并对这些内容作了较深入的讨论,给出了详细的数学推导过程和算法叙述;理论与实际、实例相结合,注意前后内容的衔接,系统性较强;力求做到文字表达清楚,深入浅出,便于学生自学;结合自己的研究成果,在教材中适当增加了其他教材中未涉及到的内容,力求反映学科的发展;教材中的所有算法都经过验证,对一些内容给出了经过上机验证的C程序,便于学生学习掌握和使用;每章后都附有习题,便于教师选择,同时也给学生留有发挥自己能力的机会。
第1章 绪论
1.1 概述
1.2 计算机图形学的发展历史
1.2.1 计算机图形学的硬件发展
1.2.2 计算机图形学的软件发展及软件标准的形成
1.3 计算机图形学的应用领域
1.3.1 计算机辅助设计与制造(CAD/CAM)
1.3.2 动画
1.3.3 艺术
1.3.4 科学计算可视化
1.3.5 虚拟现实
1.3.6 图形显示和绘制
1.3.7 计算机辅助教学
1.4 计算机图形学与相关学科的关系
作业题
第2章 计算机图形系统
2.1 系统的构成
2.2 常用图形输入设备
2.2.1 鼠标器
2.2.2 数字化仪
2.2.3 图形扫描仪
2.3 常用图形输出设备
2.3.1 图形显示器
2.3.2 绘图仪和打印机
2.4 计算机图形标准
2.4.1 计算机图形核心系统
2.4.2 程序员层次交互式图形系统
2.4.3 计算机图形接口
2.4.4 计算机图形元文件
2.4.5 OpenGL图形标准
2.4.6 基本图形转换规范
2.4.7 产品数据转换规范
2.5 基于Visual C++的图形程序开发方法
2.5.1 图形编程基础
2.5.2 CDC类常用成员函数
2.5.3 与设备环境有关的常用函数
2.5.4 绘制图形示例
2.6 OpenGL程序设计基础
2.6.1 OpenGL的绘图原理
2.6.2 OpenGL常用基本函数一览
作业题
第3章 计算机图形学的基本算法
3.1 直线的扫描转换
3.2 圆的生成
3.2.1 正多边形逼近算法
3.2.2 Bresenham算法
3.3 多边形填充
3.3.1 多边形的扫描转换
3.3.2 单向链表
3.3.3 边标志填充算法
3.3.4 种子填充算法
作业题
第4章 裁剪与变换
4.1 二维坐标系统
4.1.1 世界坐标系
4.1.2 设备坐标系
4.1.3 规格化设备坐标系
4.2 窗口-视区的变换
4.3 二维图形的裁剪
4.3.1 点的裁剪
4.3.2 直线的裁剪
4.3.3 多边形的裁剪
4.4 二维图形的几何变换
4.4.1 图形的变换方法
4.4.2 二维图形的基本变换
4.4.3 组合变换
4.5 三维形体的几何变换
4.5.1 比例变换
4.5.2 平移变换
4.5.3 对称变换
4.5.4 错切变换
4.5.5 旋转变换
4.5.6 组合变换
4.6 投影变换
4.6.1 投影的概念
4.6.2 三视图的变换矩阵
4.6.3 轴测投影的变换矩阵
4.6.4 透视投影的变换矩阵
4.7 三维形体的观察流水线
4.7.1 PHIGS坐标系统和坐标变换
4.7.2 观察方向变换
4.7.3 观察映射变换
作业题
第5章 曲线和曲面
5.1 曲线、曲面参数表示的基础知识
5.1.1 矢量
5.1.2 曲线与曲面的参数表示
5.1.3 插值、逼近、拟合与光顺
5.1.4 几何不变性
5.1.5 曲线的参数连续性和几何连续性
5.1.6 多项式基函数
5.1.7 数据点的参数化
5.2 参数三次样条曲线
5.2.1 参数三次样条曲线的力学背景
5.2.2 三次曲线方程
5.2.3 C分段的三次埃米尔特插值曲线
5.2.4 参数三次样条曲线
5.2.5 边界条件
5.2.6 计算插值
5.3 贝齐尔曲线
5.3.1 贝齐尔曲线的表示式
5.3.2 贝齐尔曲线的性质
5.3.3 贝齐尔曲线的线性运算
5.3.4 贝齐尔曲线的分割
5.4 B样条曲线
5.4.1 基本概念
5.4.2 各种类型的B样条曲线
5.4.3 计算B样条曲线上点的德布尔算法
5.4.4 B样条曲线转换为分段贝齐尔曲线的算法
5.4.5 B样条曲线的反算
5.5 NURBS曲线
5.5.1 NURBS方法的提出及其优缺点
5.5.2 NURBS曲线的定义
5.5.3 权因子对NURBS曲线形状的影响
5.6 贝齐尔曲面
5.6.1 定义贝齐尔曲面的张量积方法
5.6.2 贝齐尔曲面的性质
5.6.3 贝齐尔曲面的片分割与三角化
5.7 B样条曲面
5.7.1 B样条曲面及其性质
5.7.2 B样条曲面的正算
5.7.3 B样条曲面的反算
5.8 NURBS曲面
5.9 曲线、曲面的过渡与拼接
5.9.1 曲线、曲面过渡
5.9.2 曲线、曲面拼接
作业题
第6章 立体视技术
6.1 立体视的原理
6.2 立体视的因素
6.2.1 生理因素
6.2.2 心理因素
6.3 各种立体视技术
6.3.1 两眼式
6.3.2 多眼式
6.3.3 超多眼式
6.3.4 深度信息表示方式
6.3.5 积分照相方式
6.3.6 全息方式
6.3.7 体积表示方式
6.4 立体视的变换
6.5 立体图像的制作
6.5.1 绘制
6.5.2 3D-CG生成
6.5.3 摄影(像)
6.5.4 2D-3D变换
作业题
第7章 隐藏线和隐藏面的消除
7.1 概述
7.1.1 物体空间的消隐算法
7.1.2 图像空间的消隐算法
7.2 形体的模型
7.2.1 线框模型
7.2.2 表面模型
7.2.3 实体模型
7.3 消隐算法常用的几种几何计算方法
7.3.1 两直线段的交点
7.3.2 F面多边形的外法矢量
7.3.3 包含性检验
7.3.4 包围盒检验
7.3.5 交矩形检验
7.3.6 深度检验
7.3.7 平面和棱边的分类
7.4 凸多面体的消隐
7.5 任意平面立体的隐藏线消除
7.5.1 算法的基本思路
7.5.2 剔除朝后面和建立潜在可见面表
7.5.3 建立潜在可见棱边表
7.5.4 求每条潜在可见棱边与各个朝前面的隐藏关系
7.6 深度缓冲器算法
7.7 扫描线深度缓冲器算法
7.7.1 数据准备
7.7.2 隐藏面的消除
作业题
第8章 真实感图形的显示
8.1 基本光照模型
8.2 颜色
8.3 法线矢量的计算
8.4 镜面反射光线矢量的计算
8.5 多边形的明暗处理
8.5.1 兰伯特明暗处理法
8.5.2 古兰德明暗处理法
8.5.3 冯氏明暗处理法
作业题
第9章 交互式绘图技术
9.1 交互式绘图概述
9.2 交互式输入的基本模式
9.2.1 请求模式
9.2.2 取样模式
9.2.3 事件模式
9.3 基本交互任务和交互式绘图技术
9.3.1 定位交互任务
9.3.2 选择交互任务
9.3.3 文本交互任务
9.3.4 定量交互任务
9.3.5 定向交互任务
9.3.6 定路径交互任务
9.3.7 三维交互任务
9.3.8 组合交互任务
9.4 交互式绘图系统的构造
9.4.1 交互式绘图系统
9.4.2 用户接口及其组成
9.5 OpenGL对交互式绘图的支持
9.5.1 物体的选择
9.5.2 信息反馈
作业题
参考文献