书籍详情
计算机图形学及实用编程技术
作者:李春雨 等编著
出版社:北京航空航天大学出版社
出版时间:2009-03-01
ISBN:9787811245585
定价:¥28.00
购买这本书可以去
内容简介
《计算机图形学及实用编程技术》分上、下篇,共13章。上篇介绍计算机图形学的原理、算法及实现,即从基本图形的生成,由简单到复杂,由二维到多维,循序渐进。下篇介绍基于MFC和OpenGL的实用图形编程技术,学以致用,并起到举一反三的作用。内容为:计算机图形学的概念、发展、应用和软硬件系统;直线、圆、椭圆基本图形的生成、曲线及区域的填充;几何图形的投影与变换;图形裁剪、消隐处理;光照模型和图案映射等真实感生成技术,图像处理的基本知识,并用VC++进行交互式图形设计实例。在多年教学、科研和科技开发的基础上,从计算机图形学的理论高度和计算机绘图的实用角度来研究、编写《计算机图形学及实用编程技术》。《计算机图形学及实用编程技术》可作为计算机、以及航空航天领域、机械、电子、建筑等专业的本科生教材,也可作为相关工程人员的参考书。
作者简介
暂缺《计算机图形学及实用编程技术》作者简介
目录
上篇
第1章 计算机图形学基本知识
1.1 概述2
1.1.1 计算机图形学的概念2
1.1.2 计算机图形学的研究内容2
1.1.3 计算机图形学与图像处理的关系3
1.2 计算机图形学的发展3
1.2.1 计算机图形学的发展简史3
1.2.2 计算机图形学的发展动向5
1.3 计算机图形学的应用7
1.4 计算机图形系统9
1.4.1 计算机图形系统硬件9
1.4.2 计算机图形系统软件10
习题10
第2章 基本图形的生成与计算
2.1 直线的生成算法11
2.1.1 直线的DDA算法11
2.1.2 直线的Bresenham算法12
2.2 二次曲线15
2.2.1 圆弧和椭圆弧的拟合法15
2.2.2 二次曲线的参数拟合法23
2.3 自由曲线28
2.3.1 抛物线参数样条曲线29
2.3.2 Hermite曲线30
2.3.3 三次参数样条曲线34
2.3.4 Bezier曲线37
2.3.5 B样条曲线41
2.4 字符的生成44
2.4.1 基础知识44
2.4.2 扫描线填色算法45
2.4.3 种子填色算法51
2.5 区域填充52
2.5.1 点阵式字符53
2.5.2 矢量式字符53
2.5.3 方向编码式字符53
2.5.4 轮廓字型技术54
2.6 图形的剪裁55
2.6.1 直线的剪裁55
2.6.2 多边形的剪裁59
2.6.3 字符串的剪裁63
习题64
第3章 图形变换
3.1 二维图形的几何变换66
3.1.1 二维图形的几何基本变换66
3.1.2 二维图形几何变换的表示69
3.1.3 错切变换71
3.1.4 组合变换71
3.2 窗口视图变换73
3.2.1 用户域和窗口区73
3.2.2 显示器域和视图区74
3.2.3 窗口区和视图区的坐标变换74
3.2.4 从规格化坐标(NDC)到设备坐标(DC)的变换75
3.3 三维图形的几何变换77
3.3.1 变换矩阵77
3.3.2 平移变换77
3.3.3 比例变换78
3.3.4 绕坐标轴的旋转变换78
3.3.5 绕任意轴的旋转变换79
3.4 形体的投影变换81
3.4.1 投影变换分类81
3.4.2 正平行投影(三视图)81
3.4.3 斜平行投影82
3.4.4 透视投影83
3.4.5 投影空间88
3.4.6 用户坐标系到观察坐标系的转换89
3.4.7 规格化裁剪空间和图像空间90
3.5 三维线段裁剪94
习题95
第4章 数据接口与交换标准
4.1 GKS元文件标准GKSM97
4.1.1 GKSM功能97
4.1.2 GKSM生成97
4.1.3 GKSM输入99
4.2 计算机图形元文件标准CGM100
4.2.1 CGM功能100
4.2.2 CGM描述100
4.3 计算机图形接口标准CGI102
4.3.1 CGI功能102
4.3.2 光栅功能集104
4.4 基本图形交换规范标准IGES104
4.4.1 IGES功能104
4.4.2 IGES元素105
4.4.3 IGES文件结构109
4.5 DXF数据接口111
4.5.1 DXF文件结构111
4.5.2 阅读图形交换文件112
4.5.3 利用图形交换文件提取实体数据114
4.6 产品数据表达与交换标准STEP116
4.6.1 STEP的组成117
4.6.2 产品模型信息结构118
4.6.3 几何与拓扑表示120
习题121
第5章 三维形体的表示
5.1 曲面的表示122
5.1.1 孔斯(Coons)曲面123
5.1.2 贝塞尔(Bezier)曲面127
5.1.3 B样条曲面130
5.1.4 曲面片的连接131
5.2 实体的表示131
5.2.1 几何元素的定义132
5.2.2 实体的线框表示133
5.2.3 实体的定义和正则形体134
5.2.4 正则集合运算及集合成员分类136
5.2.5 实体的边界表示138
5.2.6 扫描表示法143
5.2.7 构造的实体几何法144
5.2.8 八叉树表示法146
5.3 其他三维造型法147
5.3.1 特征表示147
5.3.2 分形几何表示148
5.3.3 体绘制技术151
5.3.4 从二维图像信息构造三维形体152
习题152
第6章 真实感图形显示
6.1 线消隐154
6.1.1 消隐的基础知识154
6.1.2 凸多面体的隐藏线消除155
6.1.3 凹多面体的隐藏线消除155
6.2 面消隐157
6.2.1 区域排序算法157
6.2.2 深度缓存(Zbuffer)算法157
6.2.3 扫描线算法158
6.3 光照模型159
6.3.1 光源特性和物体表面特性159
6.3.2 光照模型及其实现160
6.3.3 明暗的光滑处理163
6.4 表面图案与纹理164
6.4.1 表面图案的描绘164
6.4.2 表面纹理的描绘166
6.5 颜色空间167
6.5.1 颜色的基本概念167
6.5.2 CIE色度图168
6.5.3 几种常用的颜色模型169
习题171
第7章 图像处理
7.1 图像基础172
7.1.1 图像的表示173
7.1.2 采样和量化174
7.1.3 图像文件的数据结构175
7.2 图像变换177
7.2.1 离散傅里叶变换177
7.2.2 快速傅里叶变换178
7.3 图像增强180
7.3.1 空域增强180
7.3.2 频域增强181
7.4 图像恢复与压缩编码182
7.4.1 图像恢复183
7.4.2 图像编码184
7.5 图像分割186
7.5.1 四类图像分割技术186
7.5.2 阈值分割法188
7.6 应用实例——储粮害虫图像识别189
习题193
下篇
第8章 基于MFC的图形编程基础
8.1 图形软件的MFC实现方法195
8.1.1 建立工程myvc195
8.1.2 0nDraw成员函数197
8.2 CDC类198
8.2.1 CDC类中常用的成员函数199
8.2.2 CDC类的派生类200
8.2.3 CDC类的调用函数201
8.3 基本图元的绘制方法202
8.3.1 绘制点、直线、矩形202
8.3.2 绘制简单曲线204
8.3.3 文本的绘制205
8.4 图形设备接口GDI206
8.4.1 GDI对象206
8.4.2 库存GDI对象207
8.4.3 CPen类的使用208
8.4.4 CBrush类的使用210
8.4.5 CFont类的使用212
8.5 Windows映射模式与窗口视区变换214
8.5.1 Windows中定义的映射模式214
8.5.2 Windows映射模式设置215
8.5.3 窗口和视口219
习题220
第9章 基于MFC的交互绘图
9.1 鼠标绘图221
9.1.1 如何响应鼠标消息221
9.1.2 绘图模式的设置223
9.2 用鼠标绘制圆225
9.3 通过对话框绘图228
习题232
第10章 OpenGL基础知识和实验框架的建立
10.1 OpenGL基础知识和功能介绍233
10.1.1 OpenGL的简单介绍233
10.1.2 OpenGL工作流程234
10.1.3 OpenGL图形操作步骤235
10.1.4 Windows下的OpenGL函数235
10.1.5 OpenGL基本功能236
10.1.6 Windows下OpenGL的结构237
10.2 OpenGL的程序框架237
10.2.1 建立非控制台的Windows程序框架238
10.2.2 建立OpenGL框架239
10.2.3 建立OpenGL框架的类文件239
10.2.4 完善Windows框架243
10.2.5 程序间的相互关系246
习题247
第11章 OpenGL的基本图形
11.1 OpenGL库函数命名方式248
11.2 基本图形249
11.3 几何变换254
11.4 辅助库物体255
11.5 在OpenGL中显示图形255
11.6 建立物体类文件258
11.7 本章程序结构260
习题262
第12章 OpenGL的组合图形及光照和贴图
12.1 飞机模型263
12.1.1 构造飞机264
12.1.2 程序注释265
12.1.3 增加动感265
12.2 贴图266
12.2.1 调入图形文件266
12.2.2 给模型贴图267
12.2.3 自定义长方体BOX269
12.3 又一个组合图形270
12.4 使用灯光271
12.4.1 OpenGL光组成271
12.4.2 创建光源272
12.4.3 启动光照273
12.4.4 在程序中使用光源273
12.5 本章程序结构274
习题275
第13章 摄像漫游与OpenGL的坐标变换
13.1 摄像机+漫游276
13.1.1 原理276
13.1.2 漫游程序277
13.1.3 漫游程序注释278
13.1.4 漫游相关定义278
13.2 地面279
13.2.1 网格地面279
13.2.2 边界设定280
13.2.3 使用摄像机281
13.3 OpenGL中的坐标变换282
13.3.1 从三维空间到二维平面——相机模拟282
13.3.2 视点变换282
13.3.3 模型变换284
13.3.4 投影变换284
13.3.5 视口变换285
13.3.6 其他必要的矩阵操作285
习题286
参考文献
第1章 计算机图形学基本知识
1.1 概述2
1.1.1 计算机图形学的概念2
1.1.2 计算机图形学的研究内容2
1.1.3 计算机图形学与图像处理的关系3
1.2 计算机图形学的发展3
1.2.1 计算机图形学的发展简史3
1.2.2 计算机图形学的发展动向5
1.3 计算机图形学的应用7
1.4 计算机图形系统9
1.4.1 计算机图形系统硬件9
1.4.2 计算机图形系统软件10
习题10
第2章 基本图形的生成与计算
2.1 直线的生成算法11
2.1.1 直线的DDA算法11
2.1.2 直线的Bresenham算法12
2.2 二次曲线15
2.2.1 圆弧和椭圆弧的拟合法15
2.2.2 二次曲线的参数拟合法23
2.3 自由曲线28
2.3.1 抛物线参数样条曲线29
2.3.2 Hermite曲线30
2.3.3 三次参数样条曲线34
2.3.4 Bezier曲线37
2.3.5 B样条曲线41
2.4 字符的生成44
2.4.1 基础知识44
2.4.2 扫描线填色算法45
2.4.3 种子填色算法51
2.5 区域填充52
2.5.1 点阵式字符53
2.5.2 矢量式字符53
2.5.3 方向编码式字符53
2.5.4 轮廓字型技术54
2.6 图形的剪裁55
2.6.1 直线的剪裁55
2.6.2 多边形的剪裁59
2.6.3 字符串的剪裁63
习题64
第3章 图形变换
3.1 二维图形的几何变换66
3.1.1 二维图形的几何基本变换66
3.1.2 二维图形几何变换的表示69
3.1.3 错切变换71
3.1.4 组合变换71
3.2 窗口视图变换73
3.2.1 用户域和窗口区73
3.2.2 显示器域和视图区74
3.2.3 窗口区和视图区的坐标变换74
3.2.4 从规格化坐标(NDC)到设备坐标(DC)的变换75
3.3 三维图形的几何变换77
3.3.1 变换矩阵77
3.3.2 平移变换77
3.3.3 比例变换78
3.3.4 绕坐标轴的旋转变换78
3.3.5 绕任意轴的旋转变换79
3.4 形体的投影变换81
3.4.1 投影变换分类81
3.4.2 正平行投影(三视图)81
3.4.3 斜平行投影82
3.4.4 透视投影83
3.4.5 投影空间88
3.4.6 用户坐标系到观察坐标系的转换89
3.4.7 规格化裁剪空间和图像空间90
3.5 三维线段裁剪94
习题95
第4章 数据接口与交换标准
4.1 GKS元文件标准GKSM97
4.1.1 GKSM功能97
4.1.2 GKSM生成97
4.1.3 GKSM输入99
4.2 计算机图形元文件标准CGM100
4.2.1 CGM功能100
4.2.2 CGM描述100
4.3 计算机图形接口标准CGI102
4.3.1 CGI功能102
4.3.2 光栅功能集104
4.4 基本图形交换规范标准IGES104
4.4.1 IGES功能104
4.4.2 IGES元素105
4.4.3 IGES文件结构109
4.5 DXF数据接口111
4.5.1 DXF文件结构111
4.5.2 阅读图形交换文件112
4.5.3 利用图形交换文件提取实体数据114
4.6 产品数据表达与交换标准STEP116
4.6.1 STEP的组成117
4.6.2 产品模型信息结构118
4.6.3 几何与拓扑表示120
习题121
第5章 三维形体的表示
5.1 曲面的表示122
5.1.1 孔斯(Coons)曲面123
5.1.2 贝塞尔(Bezier)曲面127
5.1.3 B样条曲面130
5.1.4 曲面片的连接131
5.2 实体的表示131
5.2.1 几何元素的定义132
5.2.2 实体的线框表示133
5.2.3 实体的定义和正则形体134
5.2.4 正则集合运算及集合成员分类136
5.2.5 实体的边界表示138
5.2.6 扫描表示法143
5.2.7 构造的实体几何法144
5.2.8 八叉树表示法146
5.3 其他三维造型法147
5.3.1 特征表示147
5.3.2 分形几何表示148
5.3.3 体绘制技术151
5.3.4 从二维图像信息构造三维形体152
习题152
第6章 真实感图形显示
6.1 线消隐154
6.1.1 消隐的基础知识154
6.1.2 凸多面体的隐藏线消除155
6.1.3 凹多面体的隐藏线消除155
6.2 面消隐157
6.2.1 区域排序算法157
6.2.2 深度缓存(Zbuffer)算法157
6.2.3 扫描线算法158
6.3 光照模型159
6.3.1 光源特性和物体表面特性159
6.3.2 光照模型及其实现160
6.3.3 明暗的光滑处理163
6.4 表面图案与纹理164
6.4.1 表面图案的描绘164
6.4.2 表面纹理的描绘166
6.5 颜色空间167
6.5.1 颜色的基本概念167
6.5.2 CIE色度图168
6.5.3 几种常用的颜色模型169
习题171
第7章 图像处理
7.1 图像基础172
7.1.1 图像的表示173
7.1.2 采样和量化174
7.1.3 图像文件的数据结构175
7.2 图像变换177
7.2.1 离散傅里叶变换177
7.2.2 快速傅里叶变换178
7.3 图像增强180
7.3.1 空域增强180
7.3.2 频域增强181
7.4 图像恢复与压缩编码182
7.4.1 图像恢复183
7.4.2 图像编码184
7.5 图像分割186
7.5.1 四类图像分割技术186
7.5.2 阈值分割法188
7.6 应用实例——储粮害虫图像识别189
习题193
下篇
第8章 基于MFC的图形编程基础
8.1 图形软件的MFC实现方法195
8.1.1 建立工程myvc195
8.1.2 0nDraw成员函数197
8.2 CDC类198
8.2.1 CDC类中常用的成员函数199
8.2.2 CDC类的派生类200
8.2.3 CDC类的调用函数201
8.3 基本图元的绘制方法202
8.3.1 绘制点、直线、矩形202
8.3.2 绘制简单曲线204
8.3.3 文本的绘制205
8.4 图形设备接口GDI206
8.4.1 GDI对象206
8.4.2 库存GDI对象207
8.4.3 CPen类的使用208
8.4.4 CBrush类的使用210
8.4.5 CFont类的使用212
8.5 Windows映射模式与窗口视区变换214
8.5.1 Windows中定义的映射模式214
8.5.2 Windows映射模式设置215
8.5.3 窗口和视口219
习题220
第9章 基于MFC的交互绘图
9.1 鼠标绘图221
9.1.1 如何响应鼠标消息221
9.1.2 绘图模式的设置223
9.2 用鼠标绘制圆225
9.3 通过对话框绘图228
习题232
第10章 OpenGL基础知识和实验框架的建立
10.1 OpenGL基础知识和功能介绍233
10.1.1 OpenGL的简单介绍233
10.1.2 OpenGL工作流程234
10.1.3 OpenGL图形操作步骤235
10.1.4 Windows下的OpenGL函数235
10.1.5 OpenGL基本功能236
10.1.6 Windows下OpenGL的结构237
10.2 OpenGL的程序框架237
10.2.1 建立非控制台的Windows程序框架238
10.2.2 建立OpenGL框架239
10.2.3 建立OpenGL框架的类文件239
10.2.4 完善Windows框架243
10.2.5 程序间的相互关系246
习题247
第11章 OpenGL的基本图形
11.1 OpenGL库函数命名方式248
11.2 基本图形249
11.3 几何变换254
11.4 辅助库物体255
11.5 在OpenGL中显示图形255
11.6 建立物体类文件258
11.7 本章程序结构260
习题262
第12章 OpenGL的组合图形及光照和贴图
12.1 飞机模型263
12.1.1 构造飞机264
12.1.2 程序注释265
12.1.3 增加动感265
12.2 贴图266
12.2.1 调入图形文件266
12.2.2 给模型贴图267
12.2.3 自定义长方体BOX269
12.3 又一个组合图形270
12.4 使用灯光271
12.4.1 OpenGL光组成271
12.4.2 创建光源272
12.4.3 启动光照273
12.4.4 在程序中使用光源273
12.5 本章程序结构274
习题275
第13章 摄像漫游与OpenGL的坐标变换
13.1 摄像机+漫游276
13.1.1 原理276
13.1.2 漫游程序277
13.1.3 漫游程序注释278
13.1.4 漫游相关定义278
13.2 地面279
13.2.1 网格地面279
13.2.2 边界设定280
13.2.3 使用摄像机281
13.3 OpenGL中的坐标变换282
13.3.1 从三维空间到二维平面——相机模拟282
13.3.2 视点变换282
13.3.3 模型变换284
13.3.4 投影变换284
13.3.5 视口变换285
13.3.6 其他必要的矩阵操作285
习题286
参考文献
猜您喜欢