计算机显示图形原理,计算机图形学:图形的计算与显示原理

第1章 计算机图形学介绍 1

1.1 计算机图形学的发展 1

1.2 计算机图形学的应用 2

1.2.1 计算机辅助设计与制造 2

1.2.2 科学计算可视化 3

1.2.3 真实感图形绘制 3

1.2.4 计算机动画 3

1.2.5 计算机辅助教学 4

1.2.6 计算机艺术 4

1.2.7 办公自动化和电子出版技术 5

1.2.8 医疗诊断 5

1.2.9 人机接口 5

1.2.10 虚拟现实 6

第2章 计算机图形的构成及其表示 7

2.1 点阵图形及其表示 7

2.1.1 点阵图形的大小 7

2.1.2 像素点的形状 7

2.1.3 像素点的颜色表示 8

2.1.4 像素点的位置 9

2.2 点阵图形及相应文件的构成 9

2.2.1 点阵图形的坐标系统 10

2.2.2 点阵图形的精度及相关问题 11

2.2.3 BMP图形文件的结构 11

2.3 向量图形及其表示 17

2.3.1 向量图形的表示 17

2.3.2 向量图形的颜色 17

2.3.3 向量图形DXF格式文件的构成 18

2.4 点阵图形和向量图形的特点 19

2.4.1 图形的整体放大 19

2.4.2 图形的缩小 20

2.4.3 图形的局部放大 21

2.4.4 点阵图形与向量图形及其相互间的转换 22

习题 24

第3章 点阵图形的基本算法 25

3.1 基本图形的点阵转换 25

3.2 直线点阵转换算法 26

3.2.1 描绘线条图形的要求 26

3.2.2 增量DDA算法 28

3.2.3 Bresenham直线算法 30

3.3 圆的点阵图形扫描转换算法 33

3.3.1 一般方法 33

3.3.2 Bresenham圆弧算法 35

3.4 椭圆点阵图形扫描转换算法 38

3.4.1 椭圆弧正负算法 38

3.4.2 椭圆弧中点算法 39

3.5 多项式曲线的算法 42

3.5.1 多项式函数的计算法 42

3.5.2 三次多项式函数的差分计算法 42

习题 44

第4章 区域填充 46

4.1 区域的连通方式和分类 46

4.1.1 区域的连通方式 46

4.1.2 区域的分类 47

4.2 区域逐点递归填充算法 47

4.2.1 注入填充区域算法 47

4.2.2 边界填充算法 48

4.3 区域扫描线递归填充算法 49

4.3.1 种子点扫描线填充算法 49

4.3.2 压入区段端点的扫描线填充算法 50

4.4 多边形区域填充算法 52

4.4.1 扫描线上像素点的连贯性 52

4.4.2 不同扫描线与边的交点在边上的连贯性 54

4.4.3 扫描线算法的处理步骤 56

4.5 图案填充 56

4.5.1 像素图案填充 57

4.5.2 位图图案填充 58

4.5.3 扫描转换后填充图案 59

4.6 有宽度和线型的线条 59

4.6.1 线条的宽度处理 59

4.6.2 线型的处理方法 63

习题 64

第5章 图形变换 66

5.1 二维图形的基本变换 66

5.1.1 平移变换 66

5.1.2 比例变换 68

5.1.3 旋转变换 69

5.2 齐次坐标与基本变换的矩阵表示 70

5.2.1 齐次坐标的概念 70

5.2.2 基本变换通过齐次坐标的矩阵表示 71

5.3 其它常用的基本变换及其矩阵表示 73

5.3.1 对称变换 73

5.3.2 错切变换 75

5.3.3 复合变换 76

5.3.4 基本变换的一些性质 78

5.3.5 坐标系变换 78

5.4 窗口间的视见变换 81

5.4.1 图形表示中的坐标系 81

5.4.2 视见变换及其表示 83

5.5 三维图形的变换 84

5.5.1 三维图形的基本变换 84

5.5.2 三维复合变换 87

5.5.3 坐标系变换 90

5.6 三维投影变换 94

5.6.1 三维投影变换的概念 94

5.6.2 平行投影 95

5.6.3 透视投影 100

5.6.4 观察坐标系与观察变换 103

5.7 三维变换矩阵性质 105

5.7.1 三维变换矩阵的参数含义 105

5.7.2 三维基本变换的一些性质 105

5.8 三维观察窗口及可视变换 106

5.8.1 三维观察空间概念 106

5.8.2 规范化的观察体及其坐标系 107

5.8.3 观察体的规范化变换 108

5.8.4 三维观察流程 110

习题 111

第6章 图形裁剪 113

6.1 二维裁剪概念 113

6.1.1 点的裁剪 113

6.1.2 直线段的裁剪 114

6.2 直线段的裁剪算法 115

6.2.1 Cohen-Sutherland 115

6.2.2 中点分割算法 117

6.2.3 梁友栋-Barsky算法 118

6.2.4 Nicholl-Lee-Nicholl算法 120

6.3 凸多边形内直线段的裁剪算法 122

6.3.1 Cyrus-Beck算法写路 123

6.3.2 Cyrus-Beck算法的定点求解 123

6.4 多边形逐边裁剪法 125

6.5 多边形窗口的双边裁剪法 128

6.6 文本裁剪 130

6.6.1 文本的字符串裁剪法 131

6.6.2 文本的字符裁剪法 131

6.6.3 文本的笔划裁剪法 132

6.7 三维裁剪 132

6.7.1 平行投影三维线段的编码裁剪 132

6.7.2 透视投影三维线段的编码裁剪 133

习题 134

第7章 图形交互技术和用户界面设计 136

7.1 逻辑输入设备 136

7.1.1 定位设备 137

7.1.2 笔划设备 137

7.1.3 字符串设备 138

7.1.4 定值设备 138

7.1.5 选择设备 138

7.1.6 拾取设备 139

7.2 逻辑设备输入模式 139

7.2.1 请求模式 139

7.2.2 取样模式 140

7.2.3 事件模式 140

7.2.4 各种模式的并行使用及初始化 141

7.3 交互式图形设计方法 141

7.3.1 基本图形拾取方法 141

7 .3.2 基本的定位. 取值方法 144

7.3.3 选择任务技术 147

7.3.4 交互式构图技术 150

7.4 交互设计技术图形用户界面 152

7.4.1 交互式图形用户界面的设计方法 153

7.4.2 交互式图形用户界面的整体构成 156

习题 157

第8章 计算机图形中曲线的设计理论 158

8.1 与曲线. 曲面有关的基本概念 158

8.1.1 曲线. 曲面的表示方法 158

8.1.2 插值与逼近 161

8.1.3 曲线. 曲面描述方法的发展 162

8.2 折线段曲线 163

8.3 参数三次曲线 165

8.3.1 参数三次曲线的表示 165

8.3.2 参数三次曲线的其它表示形式 167

8.3.3 参数三次曲线参数值域的变换 169

8.3.4 二阶连续的参数三次样条插值曲线 169

8.4 参数曲线的几何性质 173

8.4.1 参数三次曲线的几何形状 173

8.4.2 参数连续性与几何连续性 174

8.5 Bézier曲线 176

8.5.1 Bézier曲线的de Castéljau定义 176

8.5.2 Bézier曲线的性质 178

8.5.3 三次Bézier曲线 181

8.6 B-样条曲线 184

8.6.1 B-样条曲线的定义 184

8.6.2 B-样条曲线的性质 187

8.6.3 常用的B-样条曲线的类型 190

8.6.4 均匀B-样条曲线 192

8.6.5 三次均匀B-样条曲线 193

8.6.6 准均匀B-样条曲线 195

8.6.7 一般的B-样条曲线 197

8.6.8 插值三次B-样条曲线 198

8.7 非均匀有理B-样条曲线 200

8.7.1 非均匀有理B-样条曲线 201

8.7.2 有理Bézier曲线 202

8.7.3 二次有理Bézier曲线与二次曲线 202

8.7.4 整圆及椭圆的NURBS表示 203

习题 205

第9章 计算机图形中曲面的设计理论 207

9.1 插值边界线的孔斯曲面 207

9.1.1 双线性孔斯曲面 207

9.1.2 双三次孔斯曲面 209

9.2 双线性与双三次参数曲面 214

9.2.1 双线性参数曲面定义及其表示 214

9.2.2 双三次参数曲面定义及其表示 214

9.2.3 双三次参数曲面的其它形式 216

9.2.4 常用曲面的参数形式 218

9.3 Bézier曲面 221

9.3.1 Bézier曲面片的定义 221

9.3.2 Bézier曲面片的性质 222

9.3.3 双三次Bézier曲面 222

9.4 B-样条曲面 223

9.4.1 B-样条曲面片的定义 223

9.4.2 双三次均匀B-样条曲面片公式 224

9.4.3 B-样条曲面片的优点 225

9.5 非均匀有理B-样条曲面 225

9.5.1 NURBS曲面的定义 225

9.5.2 NURBS曲面表示的旋转面 227

9.6 三角域上的Bézier曲面 228

9.6.1 三角域内的重心坐标 228

9.6.2 三角域上的Beinstein函数 230

9.6.3 三角域上的Bézier曲面 231

9.6.4 三角域上的Bézier曲面的方向导向量 232

9.6.5 三角域上的Bézier曲面的性质 233

习题 235

第10章 计算机图形学的几何造型技术 237

10.1 三维欧氏几何实体造型方法 237

10.1.1 基本三维欧氏几何实体描述 237

10.1.2 由三维欧氏几何实体表示的数据结构 238

10.1.3 三维欧氏几何实体的体表示法 239

10.1.4 三维欧氏几何实体的面表示法 241

10.1.5 三维欧氏几何实体的线表示法 243

10.1.6 三维欧氏几何实体的点表示法 245

10.2 分形几何方法 246

10.2.1 分形生成过程及其特点 247

10.2.2 离散及随机分形图的生成 249

10.2.3 复数变换函数生成的Mandbrot集和Julia集分形图 250

10.2.4 分形图形方法的应用 251

习题 255

第11章 计算机图形中的消隐处理 256

11.1 单个凸多面体的消隐 256

11.2 凹多面体的消隐 258

11.3 线框算法 260

11.4 曲面的消隐 262

11.4.1 函数曲面的消隐方法 262

11.4.2 参数曲面的消隐方法 264

11.5 z缓冲器算法 265

11.6 画家算法 266

11.7 区域细分算法 268

习题 271

第12章 计算机图形中真实感图形设计 272

12.1 光与颜色的基本知识 272

12.1.1 光的明亮程度 273

12.1.2 光的颜色及三基色模型 273

12.1.3 常见的其它颜色模型 276

12.2 光的传播规律 280

12.2.1 光的来源 280

12.2.2 光传播的计算模型 282

12.2.3 各类光传播的计算 283

12.3 一个简单的光照模型 285

12.4 明暗处理 286

12.4.1 Gouraud的光强度插值法 287

12.4.2 Phong的法向插值法 288

12.5 光线追踪法 289

12.5.1 整体光照模型 289

12.5.2 光线追踪算法原理 290

12.5.3 提高光线追踪算法的效率 291

12.5.4 光线跟踪的反走样 292

12.6 阴影处理 294

12.7 纹理映射 295

12.7.1 图案型纹理映射 296

12.7.2 凹凸不平型纹理映射 297

习题 298

第13章 计算机图形动画设计 299

13.1 动画原理及制作技术 299

13.1.1 动画原理 299

13.1.2 动画的制作 300

13.2 计算机动画技术及应用 302

13.2.1 计算机动画的概念 302

13.2.2 计算机动画技术的分类 303

13.2.3 人工动画与计算机动画的比较 304

13.3 计算机动画的实现方式 304

13.3.1 帧动画 304

13.3.2 位图传输动画 305

13.3.3 实时动画 305

13.3.4 三种实现方式的比较 306

13.4 画面的动态设计与生成 307

13.4.1 运动路径控制法 307

13.4.2 关节动画法 308

13.4.3 变形动画法 309

13.4.4 物体物理机制动画法 310

13.5 提高动画质量的几种常用方法 310

13.5.1 图形点阵的逻辑运算 310

13.5.2 减少生成图形的计算量 311

13.5.3 图形页面操作 311

13.5.4 减少图形闪烁 311

13.6 计算机辅助卡通动画片的制作 312

13.6.1 画面输入 312

13.6.2 动画质量的快速检查 313

13.6.3 生产管理 313

13.6.4 中间画面的生成 313

习题 314

参考文献 316

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
课程解决的问题: 作为游戏行业或者图形学从业者,你是否面临以下问题: 到底openGL底层如何实现的? 到底矩阵操作变换是怎么做到的? 到底光栅化的算法以及原理是什么? 到底如何才能从3D世界投射到2D屏幕呢? 图形学有这么多的矩阵操作,到底如何推导如何应用呢? 学完这门课程,你应该就可以从底层了解一个初级的openGL图形接口如何实现,图形学最底层的封装到底面临哪些挑战;跟随我们一行一行写完代码,你就会得到一个迷你版本的openGL图形库,你可以深度体会图形从模型变换,观察矩阵变换,投影矩阵变换一直到光栅化纹理操作的全套模拟流程。 课程介绍: 本课程将带领学员不使用任何图形库,实现从0到1的图形学接口封装以及算法讲解,并且带领大家手敲代码,一行一行进行实现。 涵盖了(环境搭建,绘制点,Bresenham算法绘制完美直线,三角形拆分绘制算法,颜色插值算法,图片操作,图片二次插值放缩算法,纹理系统接口搭建及封装,矩阵操作理论以及实践,openGL类似接口封装,3D世界的图形学理论及接口封装等) 最终将带领大家通过C++实现一个3D世界的图形接口,方便所有人入门图形学,进行接下来的openGL接口以及GPU编程的学习   本课程为系列课程的第一步入门,且带领所有人进行实现,更加实用,可以让大家打牢图形学的基础知识及编程技能

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值