当前位置:首页 > 工业技术
计算机图形学  原理、方法与应用
计算机图形学  原理、方法与应用

计算机图形学 原理、方法与应用PDF电子书下载

工业技术

  • 电子书积分:13 积分如何计算积分?
  • 作 者:伏玉琛,周洞汝主编;周晓峥,张竞,陈江汉编著
  • 出 版 社:武汉:华中科技大学出版社
  • 出版年份:2003
  • ISBN:7560930441
  • 页数:383 页
图书介绍:
《计算机图形学 原理、方法与应用》目录

第1章 绪论 1

1.1 计算机图形学的研究内容 1

1.1.1 图形与图像 1

目录 1

1.1.2 研究内容 2

1.1.3 相关学科 4

1.2 计算机图形学的发展 4

1.2.1 图形硬设备的发展 5

1.2.3 图形专用算法的发展 6

1.3 计算机图形学的应用 6

1.2.2 图形软件及图形软件标准的发展 6

1.3.1 计算机辅助设计及计算机辅助制造 7

1.3.2 科学计算可视化 7

1.3.3 地图制图学及地理信息系统 8

1.3.4 计算机动画 9

1.3.5 人机交互界面 9

1.3.6 计算机艺术 10

习题一 10

第2章 图形系统的组成 11

2.1 显示设备 11

2.1.1 刷新式阴极射线管 11

2.1.2 彩色阴极射线管 12

2.1.4 光栅扫描显示器 14

2.1.3 随机扫描显示器 14

2.1.5 液晶显示器 15

2.1.6 等离子显示器 16

2.2 光栅扫描显示系统 17

2.2.1 光栅扫描显示系统的基本工作原理 18

2.2.2 光栅扫描显示系统的组成 20

2.3 硬拷贝设备 22

2.3.1 打印机 22

2.3.2 绘图仪 23

2.4.1 图形软件的层次结构及功能 24

2.4 图形软件及图形软件标准 24

2.4.2 图形软件标准 25

习题二 27

第3章 OpenGL编程基础 28

3.1 概述 28

3.2 OpenGL工作结构 30

3.3 OpenGL的功能 31

3.4 OpenGL工作流程 32

3.5 OpenGL图形操作步骤 34

3.6 OpenGL的组成 35

3.8 OpenGL函数命名约定 36

3.7 OpenGL数据类型 36

3.9 OpenGL程序 37

3.9.1 头文件 39

3.9.2 主体 39

3.9.3 OpenGL图形调用 40

习题三 42

第4章 二维线画图元及属性 43

4.1 直线的扫描转换及算法 43

4.1.1 数值微分法 45

4.1.2 Bresenham画线算法 47

4.1.3 双步画线算法 49

4.2 圆和椭圆的扫描转换算法 51

4.2.1 圆的八点对称 51

4.2.2 Bresenham画圆算法 52

4.2.3 中点画圆算法 54

4.2.4 正负法画圆 57

4.2.5 椭圆的扫描转换 58

4.3 其他输出图元的生成 59

4.4 输出图元的属性 59

4.4.1 线宽控制 59

4.5 字符的生成 62

4.4.2 线型控制 62

4.5.1 字符形状表示 63

4.5.2 字符属性 64

习题四 65

第5章 多边形的扫描转换及区域填充 66

5.1 矩形填充 67

5.2 多边形扫描转换 68

5.2.1 逐点判断算法 68

5.2.2 扫描线填充算法 70

5.2.3 边缘填充算法 78

5.3.1 区域的表示 79

5.3 区域填充 79

5.3.2 递归填充算法 80

5.3.3 扫描线区域填充算法 82

5.4 多边形扫描转换与区域填充的区别 84

5.5 光栅图形的反走样 85

5.5.1 二维光栅图形的走样现象 85

5.5.2 反走样方法 86

习题五 88

第6章 OpenGL基本图元的绘制 89

6.1 概述 89

6.2.2 点的大小 91

6.2 点 91

6.2.1 点的绘制 91

6.3 线 92

6.3.1 直线的绘制 92

6.3.2 折线和封闭折线的绘制 92

6.3.3 线型 93

6.3.4 线宽 94

6.4 多边形 97

6.4.1 多边形的绘制 97

6.4.2 图案填充 97

6.5 字符 100

习题六 101

第7章 几何变换 102

7.1 二维基本变换 102

7.1.1 平移变换 102

7.1.2 比例变换 103

7.1.3 旋转变换 104

7.2 二维几何变换的齐次坐标表示 105

7.2.1 齐次坐标技术 105

7.2.2 几何变换的齐次坐标表示 106

7.2.3 其他变换 107

7.2.4 二维几何变换的一般形式 109

7.3 组合变换 110

7.3.1 单个基本变换的组合变换 110

7.3.2 多个基本变换的组合变换 111

7.3.3 变换矩阵的级联特性 113

7.4 三维几何变换 114

7.4.1 三维坐标系的建立 114

7.4.2 三维图形几何变换 115

7.4.3 三维坐标系变换 121

7.5.1 矩阵操作函数 122

7.5 OpenGL几何变换命令及应用 122

7.5.2 几何变换 124

7.5.3 OpenGL图形变换实例 124

习题七 129

第8章 开窗口及二维裁剪 130

8.1 开窗口及裁剪的基本概念 130

8.1.1 坐标系 130

8.1.2 窗口与视区 132

8.1.3 窗口在图形显示中的应用 133

8.1.4 裁剪 133

8.2 窗口到视区的变换 134

8.3.1 直线裁剪的基本原理 136

8.3 直线裁剪算法 136

8.3.2 Cohen-Sutherland直线裁剪算法 137

8.3.3 中点分割算法 141

8.3.4 Liang-Barsky算法 142

8.4 多边形裁剪 145

8.4.1 Sutherland-Hodgman算法 146

8.4.2 Weiler-Atherton算法 149

8.5.1 以串为单位的裁剪 152

8.5.2 以字符为单位的裁剪 152

8.5 文本裁剪 152

8.5.3 矢量裁剪 153

8.6 二维图形显示流程 153

8.7 OpenGL视区变换 154

习题八 154

第9章 图形用户接口与交互技术 156

9.1 交互输入的硬件设备 156

9.1.1 键盘 156

9.1.2 光笔 157

9.1.3 图形板 158

9.1.4 控制棒及跟踪球 158

9.1.6 数据手套 159

9.1.5 鼠标 159

9.2 交互设备的逻辑功能 160

9.2.1 定位 161

9.2.2 笔划 162

9.2.3 字符串 162

9.2.4 赋值 162

9.2.5 选择 163

9.2.6 检图 163

9.3 基本交互技术 163

9.3.1 基本定位方法 164

9.3.2 方向约束及网格约束定位方法 164

9.3.4 橡皮带方法 166

9.3.3 引力场定位方法 166

9.3.5 草图勾勒法 167

9.3.6 图形拖移法 168

9.3.7 交互式绘图中的反馈技术 168

9.4 交互输入的基本方式 169

9.4.1 交互输入方式及其定义 169

9.4.2 请求方式 170

9.4.3 采样方式 171

9.4.4 事件方式 171

9.5 设计人机交互及用户界面的一般原则 172

9.5.1 用户界面的一般风格 172

9.5.2 设计用户界面的一般原则 173

9.6 OpenGL中的交互操作 174

9.6.1 物体的选择 174

9.6.2 反馈 176

习题九 183

第10章 三维观察与裁剪 184

10.1 平面几何投影 184

10.1.1 投影与投影变换 184

10.1.2 平面几何投影的分类 184

10.1.3 透视投影 185

10.1.4 平行投影变换 188

10.2 三维观察空间 191

10.2.1 观察坐标系 192

10.2.2 观察空间与视见体 193

10.2.3 规范视见体 195

10.3 三维裁剪 196

10.4 三维图形显示流程 198

10.4.1 建模变换 198

10.4.2 观察变换 199

10.4.3 裁剪空间到规格化裁剪空间的变换 200

10.4.4 规格化图像空间 205

10.4.5 三维图形输出流水线 206

10.5 OpenGL观察流程和函数 207

10.5.1 常用的变换函数 207

10.5.2 模视变换 208

10.5.3 投影变换 210

10.5.4 视区变换 212

10.5.5 附加裁剪面 213

10.5.6 OpenGL三维观察程序 213

习题十 217

11.1 概述 218

第11章 三维形体的表示 218

11.2 形体的表示 219

11.2.1 线框模型 219

11.2.2 表面模型 220

11.2.3 实体模型 221

11.3 物体的CSG树表示 226

11.4 边界表示法 227

11.4.1 物体的边界表示 227

11.4.2 边界表示的数据结构 229

11.4.3 欧拉操作 232

11.5.1 平移Sweep 233

11.5.2 旋转Sweep 233

11.5 扫描表示 233

11.5.3 广义Sweep 234

11.6 八叉树法 234

11.7 分型几何方法——自然景物的模拟 235

11.7.1 分形几何 236

11.7.2 分形造型对模型的基本要求 237

11.7.3 分形造型的常用模型 237

习题十一 240

第12章 曲线曲面造型 241

12.1.1 位置矢量 242

12.1 曲线表示的基本知识 242

12.1.2 切矢量 243

12.1.3 曲率 243

12.1.4 法矢量 244

12.1.5 挠率 245

12.1.6 型值点和控制点 246

12.1.7 连续性 246

12.1.8 插值、逼近、光顺和拟合 247

12.2 Bézier曲线 248

12.2.1 Bézier曲线的定义 248

12.2.2 Bézier曲线的性质 249

12.2.3 三次Bézier曲线的矩阵表示 251

12.2.4 Bézier曲线的拼接 252

12.3 B样条曲线 253

12.3.1 B样条的定义 253

12.3.2 B样条曲线的性质 254

12.3.3 B样条曲线分类 256

12.4 非均匀有理B样条曲线 257

12.4.1 NURBS曲线的定义 258

12.4.2 NURBS的齐次坐标表示 258

12.5 Bézier曲面 259

12.5.1 定义 259

12.4.3 NURBS的优缺点 259

12.5.2 Bézier曲面片的拼接 261

12.6 B样条曲面 263

12.6.1 B样条曲面的数学表示 263

12.6.2 B样条曲面片的优点 263

12.7 非均匀有理B样条曲面 263

12.8 OpenGL中自由曲线和曲面的绘制 264

12.8.1 Bézier曲线的绘制 264

12.8.2 Bézier曲面的绘制 268

12.8.3 NURBS曲线的绘制 272

12.8.4 NURBS曲面的绘制 277

习题十二 283

13.1 消隐算法及其分类 284

第13章 隐藏面的消除 284

13.2 画家算法 285

13.3 深度缓冲算法 287

13.4 扫描线算法 289

13.5 BSP树算法 290

13.5.1 构造BSP树 291

13.5.2 BSP树遍历 292

13.6 区域子分算法 293

13.7 光线投射算法 295

13.8 OpenGL中的多边形的消除与消隐 295

习题十三 303

第14章 真实感图形绘制 304

14.1 颜色 304

14.1.1 颜色的概念及描述 304

14.1.2 三色学说 306

14.1.3 CIE色度图 307

14.1.4 常见颜色模型 310

14.1.5 OpenGL颜色 313

14.2 简单光照模型 317

14.2.1 环境光 317

14.2.2 漫反射和Lambert模型 318

14.2.3 镜面反射和Phong模型 320

14.2.4 OpenGL光照 322

14.3 明暗效应 326

14.3.1 恒定亮度法 326

14.3.2 Gouraud明暗算法 327

14.3.3 Phong明暗算法 328

14.3.4 OpenGL明暗处理 329

14.4 阴影的生成 331

14.4.1 影域多边形方法 332

14.4.2 曲面细节多边形方法 333

14.5 透明 333

14.5.1 非折射透明 334

14.5.2 考虑折射的透明 335

14.6 纹理映射 336

14.6.1 颜色纹理 337

14.6.2 几何纹理 339

14.6.3 OpenGL纹理映射 341

习题十四 349

附录A Turbo C图形函数 350

A.1 图形模式的初始化 350

A.2 独立图形运行程序的建立 353

A.3 屏幕颜色的设置和清屏函数 354

A.4.1 画点 355

A.4 基本图形函数 355

A.4.2 画线 356

A.5 封闭图形的填充 359

A.5.1 先画轮廓再填充 359

A.5.2 设定填充方式 360

A.5.3 任意封闭图形的填充 362

A.6 有关图形窗口和图形屏幕操作函数 363

A.6.1 图形窗口操作 363

A.6.2 屏幕操作 364

A.7 图形模式下的文本输出 365

A.7.1 文本输出函数 365

A.7.2 有关文本字体、字型和输出方式的设置 366

A.7.3 用户对文本字符大小的设置 368

附录B OpenGL核心库函数 370

B.1 颜色 370

B.2 绘制几何图原及物体 370

B.3 坐标变换 371

B.4 堆栈操作 371

B.5 显示列表 371

B.6 使用光照和材质 372

B.7 像素操作 372

B.8 纹理映射 372

B.10 帧缓存操作 373

B.9 特殊效果操作 373

B.12 查询函数 374

B.11 绘制曲线和曲面 374

附录C GLU库函数 376

C.1 绘制NURBS曲线和曲面 376

C.2 绘制二次几何物体 376

C.3 网格化 377

C.4 坐标变换 377

C.5 多重映射 378

C.6 查询函数 378

D.2 窗口管理 379

附录D GLUT库函数 379

D.1 初始化和启动事件处理 379

D.3 重叠层管理 380

D.4 菜单管理 380

D.5 注册回调函数 381

D.6 颜色索引映射表管理 381

D.7 状态检索 382

D.8 字体绘制 382

D.9 几何图形绘制 382

参考文献 383

返回顶部