《计算机图形学及实用编程技术》PDF下载

  • 购买积分:11 如何计算积分?
  • 作  者:李春雨等编著
  • 出 版 社:北京:北京航空航天大学出版社
  • 出版年份:2009
  • ISBN:9787811245585
  • 页数:287 页
图书介绍:在多年教学、科研和科技开发的基础上,从计算机图形学的理论高度和计算机绘图的实用角度来研究、编写这本教材。全书分上、下篇,共13章。上篇介绍计算机图形学的原理、算法及实现,即从基本图形的生成,由简单到复杂,由二维到多维,循序渐进。下篇介绍基于MFC和OpenGL的实用图形编程技术,学以致用,并起到举一反三的作用。内容为:计算机图形学的概念、发展、应用和软硬件系统;直线、圆、椭圆基本图形的生成、曲线及区域的填充;几何图形的投影与变换;图形裁剪、消隐处理;光照模型和图案映射等真实感生成技术,图像处理的基本知识,并用VC++进行交互式图形设计实例。

上篇 2

第1章 计算机图形学基本知识 2

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章 基本图形的生成与计算 11

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章 图形变换 66

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章 数据接口与交换标准 97

4.1 GKS元文件标准GKSM 97

4.1.1 GKSM功能 97

4.1.2 GKSM生成 97

4.1.3 GKSM输入 99

4.2 计算机图形元文件标准CGM 100

4.2.1 CGM功能 100

4.2.2 CGM描述 100

4.3 计算机图形接口标准CGI 102

4.3.1 CGI功能 102

4.3.2 光栅功能集 104

4.4 基本图形交换规范标准IGES 104

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 产品数据表达与交换标准STEP 116

4.6.1 STEP的组成 117

4.6.2 产品模型信息结构 118

4.6.3 几何与拓扑表示 120

习题 121

第5章 三维形体的表示 122

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章 真实感图形显示 154

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 深度缓存(Z-buffer)算法 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章 图像处理 172

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

下篇 195

第8章 基于MFC的图形编程基础 195

8.1 图形软件的MFC实现方法 195

8.1.1 建立工程myvc 195

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 图形设备接口GDI 206

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的交互绘图 221

9.1 鼠标绘图 221

9.1.1 如何响应鼠标消息 221

9.1.2 绘图模式的设置 223

9.2 用鼠标绘制圆 225

9.3 通过对话框绘图 228

习题 232

第10章 OpenGL基础知识和实验框架的建立 233

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的基本图形 248

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的组合图形及光照和贴图 263

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 自定义长方体BOX 269

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的坐标变换 275

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