上篇第1章 计算机图形学基本知识1.1 概述21.1.1 计算机图形学的概念21.1.2 计算机图形学的研究内容21.1.3 计算机图形学与图像处理的关系31.2 计算机图形学的发展31.2.1 计算机图形学的发展简史31.2.2 计算机图形学的发展动向51.3 计算机图形学的应用71.4 计算机图形系统91.4.1 计算机图形系统硬件91.4.2 计算机图形系统软件10习题10第2章 基本图形的生成与计算2.1 直线的生成算法112.1.1 直线的DDA算法112.1.2 直线的Bresenham算法122.2 二次曲线152.2.1 圆弧和椭圆弧的拟合法152.2.2 二次曲线的参数拟合法232.3 自由曲线282.3.1 抛物线参数样条曲线292.3.2 Hermite曲线302.3.3 三次参数样条曲线342.3.4 Bezier曲线372.3.5 B样条曲线412.4 字符的生成442.4.1 基础知识442.4.2 扫描线填色算法452.4.3 种子填色算法512.5 区域填充522.5.1 点阵式字符532.5.2 矢量式字符532.5.3 方向编码式字符532.5.4 轮廓字型技术542.6 图形的剪裁552.6.1 直线的剪裁552.6.2 多边形的剪裁592.6.3 字符串的剪裁63习题64第3章 图形变换3.1 二维图形的几何变换663.1.1 二维图形的几何基本变换663.1.2 二维图形几何变换的表示693.1.3 错切变换713.1.4 组合变换713.2 窗口视图变换733.2.1 用户域和窗口区733.2.2 显示器域和视图区743.2.3 窗口区和视图区的坐标变换743.2.4 从规格化坐标(NDC)到设备坐标(DC)的变换753.3 三维图形的几何变换773.3.1 变换矩阵773.3.2 平移变换773.3.3 比例变换783.3.4 绕坐标轴的旋转变换783.3.5 绕任意轴的旋转变换793.4 形体的投影变换813.4.1 投影变换分类813.4.2 正平行投影(三视图)813.4.3 斜平行投影823.4.4 透视投影833.4.5 投影空间883.4.6 用户坐标系到观察坐标系的转换893.4.7 规格化裁剪空间和图像空间903.5 三维线段裁剪94习题95第4章 数据接口与交换标准4.1 GKS元文件标准GKSM974.1.1 GKSM功能974.1.2 GKSM生成974.1.3 GKSM输入994.2 计算机图形元文件标准CGM1004.2.1 CGM功能1004.2.2 CGM描述1004.3 计算机图形接口标准CGI1024.3.1 CGI功能1024.3.2 光栅功能集1044.4 基本图形交换规范标准IGES1044.4.1 IGES功能1044.4.2 IGES元素1054.4.3 IGES文件结构1094.5 DXF数据接口1114.5.1 DXF文件结构1114.5.2 阅读图形交换文件1124.5.3 利用图形交换文件提取实体数据1144.6 产品数据表达与交换标准STEP1164.6.1 STEP的组成1174.6.2 产品模型信息结构1184.6.3 几何与拓扑表示120习题121第5章 三维形体的表示5.1 曲面的表示1225.1.1 孔斯(Coons)曲面1235.1.2 贝塞尔(Bezier)曲面1275.1.3 B样条曲面1305.1.4 曲面片的连接1315.2 实体的表示1315.2.1 几何元素的定义1325.2.2 实体的线框表示1335.2.3 实体的定义和正则形体1345.2.4 正则集合运算及集合成员分类1365.2.5 实体的边界表示1385.2.6 扫描表示法1435.2.7 构造的实体几何法1445.2.8 八叉树表示法1465.3 其他三维造型法1475.3.1 特征表示1475.3.2 分形几何表示1485.3.3 体绘制技术1515.3.4 从二维图像信息构造三维形体152习题152第6章 真实感图形显示6.1 线消隐1546.1.1 消隐的基础知识1546.1.2 凸多面体的隐藏线消除1556.1.3 凹多面体的隐藏线消除1556.2 面消隐1576.2.1 区域排序算法1576.2.2 深度缓存(Zbuffer)算法1576.2.3 扫描线算法1586.3 光照模型1596.3.1 光源特性和物体表面特性1596.3.2 光照模型及其实现1606.3.3 明暗的光滑处理1636.4 表面图案与纹理1646.4.1 表面图案的描绘1646.4.2 表面纹理的描绘1666.5 颜色空间1676.5.1 颜色的基本概念1676.5.2 CIE色度图1686.5.3 几种常用的颜色模型169习题171第7章 图像处理7.1 图像基础1727.1.1 图像的表示1737.1.2 采样和量化1747.1.3 图像文件的数据结构1757.2 图像变换1777.2.1 离散傅里叶变换1777.2.2 快速傅里叶变换1787.3 图像增强1807.3.1 空域增强1807.3.2 频域增强1817.4 图像恢复与压缩编码1827.4.1 图像恢复1837.4.2 图像编码1847.5 图像分割1867.5.1 四类图像分割技术1867.5.2 阈值分割法1887.6 应用实例——储粮害虫图像识别189习题193下篇第8章 基于MFC的图形编程基础8.1 图形软件的MFC实现方法1958.1.1 建立工程myvc1958.1.2 0nDraw成员函数1978.2 CDC类1988.2.1 CDC类中常用的成员函数1998.2.2 CDC类的派生类2008.2.3 CDC类的调用函数2018.3 基本图元的绘制方法2028.3.1 绘制点、直线、矩形2028.3.2 绘制简单曲线2048.3.3 文本的绘制2058.4 图形设备接口GDI2068.4.1 GDI对象2068.4.2 库存GDI对象2078.4.3 CPen类的使用2088.4.4 CBrush类的使用2108.4.5 CFont类的使用2128.5 Windows映射模式与窗口视区变换2148.5.1 Windows中定义的映射模式2148.5.2 Windows映射模式设置2158.5.3 窗口和视口219习题220第9章 基于MFC的交互绘图9.1 鼠标绘图2219.1.1 如何响应鼠标消息2219.1.2 绘图模式的设置2239.2 用鼠标绘制圆2259.3 通过对话框绘图228习题232第10章 OpenGL基础知识和实验框架的建立10.1 OpenGL基础知识和功能介绍23310.1.1 OpenGL的简单介绍23310.1.2 OpenGL工作流程23410.1.3 OpenGL图形操作步骤23510.1.4 Windows下的OpenGL函数23510.1.5 OpenGL基本功能23610.1.6 Windows下OpenGL的结构23710.2 OpenGL的程序框架23710.2.1 建立非控制台的Windows程序框架23810.2.2 建立OpenGL框架23910.2.3 建立OpenGL框架的类文件23910.2.4 完善Windows框架24310.2.5 程序间的相互关系246习题247第11章 OpenGL的基本图形11.1 OpenGL库函数命名方式24811.2 基本图形24911.3 几何变换25411.4 辅助库物体25511.5 在OpenGL中显示图形25511.6 建立物体类文件25811.7 本章程序结构260习题262第12章 OpenGL的组合图形及光照和贴图12.1 飞机模型26312.1.1 构造飞机26412.1.2 程序注释26512.1.3 增加动感26512.2 贴图26612.2.1 调入图形文件26612.2.2 给模型贴图26712.2.3 自定义长方体BOX26912.3 又一个组合图形27012.4 使用灯光27112.4.1 OpenGL光组成27112.4.2 创建光源27212.4.3 启动光照27312.4.4 在程序中使用光源27312.5 本章程序结构274习题275第13章 摄像漫游与OpenGL的坐标变换13.1 摄像机+漫游27613.1.1 原理27613.1.2 漫游程序27713.1.3 漫游程序注释27813.1.4 漫游相关定义27813.2 地面27913.2.1 网格地面27913.2.2 边界设定28013.2.3 使用摄像机28113.3 OpenGL中的坐标变换28213.3.1 从三维空间到二维平面——相机模拟28213.3.2 视点变换28213.3.3 模型变换28413.3.4 投影变换28413.3.5 视口变换28513.3.6 其他必要的矩阵操作285习题286参考文献