内容介绍
用户评论
全部咨询
内容简介
本书介绍计算机图形学的有关原理、算法及实现。主要内容包括交互式图形软件设计、基本图形的生成、图形几何变换、图形显示技术、参数曲线、几何造型、真实感图形等。本书理论与实践相结合,各种算法都尽量给出C程序,在每章后面有一个VC编程范例,并在附录中附有VC编程案例的源程序。
本书可作为高等院校各专业本科生和研究生《计算机图形学》或《计算机绘图》的教材,亦可作为广大计算机图形学爱好者的自学教材或工作参考书。
目录
- 第1章 绪论
第1节 概述
1.1.1 计算机图形学的概念
1.1.2 计算机图形学的研究内容
1.1.3 计算机图形学与图像处理的关系
第2节 计算机图形学的发展
1.2.1 计算机图形学的发展简史
1.2.2 计算机图形学的发展动向
第3节 计算机图形学的应用
第4节 计算机图形系统
1.4.1 计算机图形系统硬件
1.4.2 计算机图形系统软件
第5节 计算机图形标准
习题
第2章 交互式图形软件设计
第1节 Visual C++6.0开发环境和开发工具
2.1.1 概述
2.1.2 操作界面
2.1.3 MFC类库简介
第2节 应用程序基本框架
2.2.1 使用AppWizard生成应用程序的框架
2.2.2 常用的MFC类简介
第3节 图形用户界面设计
2.3.1 资源编辑器
2.3.2 资源符号
2.3.3 对话编辑器
2.3.4 菜单编辑器
2.3.5 图形编辑器
第4节 消息处理与交互式绘图
2.4.1 消息处理和消息映射的概念
2.4.2 消息种类
2.4.3 消息处理函数
2.4.4 消息映射
2.4.5 消息发送和接收
2.4.6 用户界面对象的更新
2.4.7 ClassWizard的使用
第5节 VC图形程序库
2.5.1 绘图工具选择函数
2.5.2 坐标系统设置与转换函数
2.5.3 绘图模式与背景设置函数
2.5.4 绘图函数
2.5.5 区域填充函数
第6节 一个简单绘图程序实例
2.6.1 建立绘图程序框架
2.6.2 在屏幕上画图
2.6.3 定义直线类并在文档类中保存直线
2.6.4 实现Undo功能
2.6.5 实现文件保存和打开
2.6.6 滚动处理
习题
第3章 基本图形生成原理
第1节 直线的生成
3.1.1 数值微分法
3.1.2 中点画线法
3.1.3 Bresenham画线算法
第2节 圆与椭圆的生成
3.2.1 圆的特性
3.2.2 中点画圆法
3.2.3 Bresenham画圆算法
3.2.4 椭圆的生成算法
第3节 区域填充
3.3.1 有序边表填充算法
3.3.2 种子填充算法
3.3.3 圆和椭圆的填充
3.3.4 图案填充
第4节 影线填充
3.4.1 影线的计算
3.4.2 影线与轮廓边求交
3.4.3 对交点排序并绘出影线
3.4.4 奇异点处理
3.4.5 影线源程序
第5节 线宽与线型的处理
3.5.1 直线线宽的处理
3.5.2 圆弧线宽的处理
3.5.3 线型的处理
第6节 编程案例
3.6.1 改造DrawLine程序
3.6.2 自定义CGraph类及其绘图函数
3.6.3 修改视图类,支持屏幕绘图
3.6.4 线宽处理
习题
第4章 图形几何变换
第1节 几何变换的方法
4.1.1 图形的基本要素及其表示方法
4.1.2 点的变换
第2节 二维基本变换
4.2.1 比例变换
4.2.2 对称变换
4.2.3 错切变换
4.2.4 旋转变换
4.2.5 平移变换与齐次坐标
4.2.6 小结
第3节 二维组合变换
4.3.1 绕任意点旋转变换
4.3.2 对任意直线的对称变换
第4节 三维基本变换
4.4.1 三维基本变换矩阵
4.4.2 比例变换
4.4.3 对称变换
4.4.4 错切变换
4.4.5 旋转变换
4.4.6 平移变换
第5节 三维组合变换
第6节 参数图形的几何变换
4.6.1 圆锥曲线的几何变换
4.6.2 参数曲线、曲面的几何变换
第7节 编程案例
4.7.1 用AppWizard生成应用程序框架
4.7.2 用资源编辑器生成菜单和对话框
4.7.3 用ClassWizard映射菜单消息,为对话框定义对话类
4.7.4 添加源代码
习题
第5章 图形显示
第1节 窗口视区变换
5.1.1 坐标系
5.1.2 窗口与视区
5.1.3 窗口-视区变换
第2节 投影变换
5.2.1 平行投影变换
5.2.2 透视投影变换
第3节 视向变换
5.3.1 世界坐标系和观察坐标系
5.3.2 视向变换矩阵
第4节 二维裁剪
5.4.1 点的裁剪
5.4.2 直线段的裁剪
5.4.3 多边形的裁剪
第5节 三维裁剪
第6节 编程案例
5.6.1 增加投影变换和直线裁剪菜单
5.6.2 进行菜单命令的消息映射
5.6.3 增加源代码
习题
第6章 曲线
第1节 概述
6.1.1 曲线的三种坐标表示法
6.1.2 参数样条曲线的常用术语
第2节 抛物样条曲线
6.2.1 过三点定义一段抛物线
6.2.2 抛物线加权合成
6.2.3 抛物样条曲线的端点条件
6.2.4 抛物样条曲线的性质
6.2.5 绘图程序
第3节 三次插值样条曲线
6.3.1 分段三次参数样条曲线的数学表达式
6.3.2 连续三次参数样条曲线的表达式
6.3.3 解题过程
第4节 贝塞尔曲线
6.4.1 贝塞尔曲线的数学表达式
6.4.2 二次贝塞尔曲线
6.4.3 三次贝塞尔曲线
6.4.4 反算Bezier曲线控制点
6.4.5 贝塞尔曲线生成算法
第5节 B样条曲线
6.5.1 从贝塞尔到B样条
6.5.2 B样条曲线的数学表达式
6.5.3 二次B样条曲线
6.5.4 三次B样条曲线
6.5.5 反求B样条曲线的确控制点及其端点性质
6.5.6 三次B样条曲线的特殊处理
第6节 编程案例
6.6.1 增加菜单及其消息映射
6.6.2 添加画抛物样条曲线和贝塞尔曲线的函数定义
6.6.3 添加调用parabola函数和bezier函数的代码
习题
第7章 三维几何造型
第1节 欧氏几何造型
7.1.1 几何形体的组成和特征
7.1.2 欧氏几何造型的三种模式
7.1.3 三维实体表示方法
7.1.4 求交运算
7.1.5 布尔运算
第2节 样条曲面造型
7.2.1 贝塞尔曲面
7.2.2 B样条曲面
第3节 分形几何造型
7.3.1 分形几何造型的基本概念
7.3.2 自相似性和维数
7.3.3 分形的应用领域
7.3.4 典型分形曲线集
第4节 编程案例
7.4.1 建立程序框架并进行OpenGL初始化
7.4.2 创建绘图菜单并进行消息映射
7.4.3 编写具体绘图函数代码
习题
第8章 真实感图形
第1节 消除隐藏线
8.1.1 平面体的消隐处理
8.1.2 曲面体的消隐处理
第2节 消除隐藏面
8.2.1 基本检测
8.2.2 画家算法
8.2.3 深度缓冲器算法(Z缓冲区算法)
8.2.4 扫描线算法
8.2.5 区域细分算法
第3节 明暗效应
8.3.1 光照的基本模型
8.3.2 明暗处理方法
8.3.3 半色调明暗处理技术
8.3.4 真实感处理的源程序
第4节 颜色模型
8.4.1 基本概念
8.4.2 CIE色度图
8.4.3 常用的颜色模型
8.4.4 颜色的选择插值和复制
第5节 纹理图案映射
8.5.1 确定映射关系
8.5.2 平面图案的确矢量化处理与离散细分
8.5.3 映射效果的三维显示
习题
附录
附录A 第2、第3章编程案例DrawLine的VC源程序
附录A.1 应用程序类的头文件
附录A.2 应用程序类的实现文件
附录A.3 文档类的头文件
附录A.4 文档类的实现文件
附录A.5 视图类的头文件
附录A.6 视图类的实现文件
附录A.7 主边框窗口类的头文件
附录A.8 主边框窗口类的实现文件
附录A.9 自定义CGraph类的头文件
附录A.10 自定义CGraph类的实现文件
附录B 第4~第6章编程案例Chap4的VC源程序
附录B.1 应用程序类的头文件
附录B.2 应用程序类的实现文件
附录B.3 文档类的头文件
附录B.4 文档类的实现文件
附录B.5 视图类的头文件
附录B.6 视图类的实现文件
附录B.7 主边框窗口类的头文件
附录B.8 主边框窗口类的实现文件
附录B.9 比例变换对话框类的头文件
附录B.10 比例变换对话框类的实现文件
附录C 第7章OpenGL编程案例Example1的VC源程序
附录C.1 应用程序类的头文件
附录C.2 应用程序类的实现文件
附录C.3 文档类的头文件
附录C.4 文档类的实现文件
附录C.5 视图类的头文件
附录C.6 视图类的实现文件
附录C.7 主边框窗口类的头文件
附录C.8 主边框窗口类的实现文件
参考文献