新書推薦:
《
卫宫家今天的饭9 附画集特装版(含漫画1本+画集1本+卫宫士郎购物清单2张+特制相卡1张)
》
售價:NT$
602.0
《
化妆品学原理
》
售價:NT$
254.0
《
万千教育学前·与幼儿一起解决问题:捕捉幼儿园一日生活中的教育契机
》
售價:NT$
214.0
《
爱你,是我做过最好的事
》
售價:NT$
254.0
《
史铁生:听风八百遍,才知是人间(2)
》
售價:NT$
254.0
《
量子网络的构建与应用
》
售價:NT$
500.0
《
拍电影的热知识:126部影片里的创作技巧(全彩插图版)
》
售價:NT$
500.0
《
大唐名城:长安风华冠天下
》
售價:NT$
398.0
|
編輯推薦: |
《计算机图形学基础(OpenGL版)(第2版)》面向初学者,以经典图形学知识为主,重点介绍三维图形技术和图形流水线;配有完整的实验教程与模拟试题,方便教学使用
|
內容簡介: |
《计算机图形学基础(OpenGL版)(第2版)》以OpenGL为工具,来辅助学习与掌握图形学相关知识与技术。学习体系上采用自顶向下和循序渐进的方式,内容上以经典计算机图形学体系为主,主要包括绪论、图形系统、二维图形生成、几何变换、三维观察、三维造型和真实感图形技术。每章给出1~2个OpenGL编程实例来帮助读者更好地理解相关知识与技术,使读者能快速掌握如何生成二维图形与三维图形。书后附有课程实验指导和模拟试题。 《计算机图形学基础(OpenGL版)(第2版)》注重对计算机图形学原理的理解和图形编程技术的掌握,非常适合作为高等院校计算机及相关专业计算机图形学本科课程的教材,也可作为地理信息系统、机械工程等专业选修计算机图形学课程的教材。同时,本书也适合作为具有熟练编程经验的其他专业学生和专业技术人员学习图形学及图形编程的自学教材。
|
目錄:
|
目 录
第1章 绪论 1
1.1 计算机图形学的定义与内容 1
1.1.1 图形及其与图像的区别 1
1.1.2 计算机图形学的定义 5
1.1.3 图形学相关学科 8
1.2 计算机图形学的目标与应用领域 8
1.2.1 计算机图形学的核心目标 9
1.2.2 计算机图形学的应用领域 9
1.3 计算机图形学的发展 14
1.3.1 计算机图形学的发展简史 14
1.3.2 计算机图形学的发展趋势 16
习题1 19
第2章 图形系统 20
2.1 图形系统概述 20
2.1.1 图形系统组成结构 20
2.1.2 图形系统分类 23
2.2 图形硬件 25
2.2.1 图形显示设备 25
2.2.2 图形显示方式 29
2.2.3 光栅扫描显示系统 30
2.2.4 显卡和图形处理器 33
2.3 图形软件 36
2.3.1 图形软件的层次和标准 36
2.3.2 图形应用软件 39
2.3.3 图形支撑软件 41
2.4 图形流水线 45
2.4.1 图形流水线三阶段 45
2.4.2 图形流水线关键步骤 46
2.4.3 OpenGL:流水线的一种实现 47
2.4.4 可编程图形流水线和GLSL 48
2.4.5 OpenGL程序实例分析 48
习题2 51
第3章 二维基本图形光栅化与裁剪 52
3.1 光栅化问题概述 52
3.2 直线段光栅化 53
3.2.1 数值微分算法 53
3.2.2 Bresenham画线法 55
3.2.3 中点画线算法 58
3.3 圆弧光栅化 60
3.3.1 圆的对称性及其应用 60
3.3.2 Bresenham画圆算法 61
3.3.3 中点画圆算法 62
3.4 区域填充 64
3.4.1 多边形填充算法 64
3.4.2 种子填充算法 68
3.5 字符 70
3.5.1 字符的编码 70
3.5.2 点阵字符 71
3.5.3 矢量字符 71
3.6 反走样技术 72
3.7 裁剪 75
3.7.1 点的裁剪 75
3.7.2 直线裁剪 75
3.7.3 多边形裁剪 81
3.7.4 字符裁剪 82
习题3 83
第4章 图形几何变换 84
4.1 二维几何变换 84
4.1.1 基本变换 84
4.1.2 齐次坐标 87
4.1.3 变换的齐次坐标表示 88
4.1.4 二维几何变换通式与总结 91
4.1.5 逆变换 93
4.1.6 二维复合变换 93
4.1.7 二维坐标系变换 97
4.2 三维几何变换 99
4.2.1 基本变换 100
4.2.2 三维复合变换 104
4.2.3 三维坐标系变换 106
4.3 复合变换分析的两种思考模式 106
4.3.1 全局固定坐标系模式 106
4.3.2 活动局部坐标系模式 108
4.4 编程实例三角形与矩形变换及 正方形旋转动画 109
4.4.1 自定义矩阵变换实例三角形变换 109
4.4.2 OpenGL几何变换实例矩形变换 115
4.4.3 变换应用实例正方形旋转动画 119
习题4 122
第5章 三维观察 123
5.1 三维观察的流程 123
5.2 观察变换 129
5.2.1 观察坐标系构建 129
5.2.2 观察变换分析 130
5.2.3 几何变换方法 131
5.2.4 基变换方法 134
5.3 投影变换 136
5.3.1 投影分类 136
5.3.2 平行投影 137
5.3.3 透视投影 145
5.4 OpenGL三维观察 154
5.4.1 观察体及其规范化 154
5.4.2 OpenGL透视投影变换 160
5.4.3 OpenGL其他观察函数 163
5.5 编程实例 164
5.5.1 二维实例红蓝三角形 164
5.5.2 三维实例立方体透视投影 166
习题5 168
第6章 三维造型 169
6.1 三维造型概述 169
6.2 三维造型方法 170
6.2.1 计算机表示方法 171
6.2.2 构造方法 174
6.3 多边形网格表示 176
6.3.1 基本几何元素 176
6.3.2 几何信息与拓扑信息 177
6.3.3 常用数据结构 178
6.3.4 编程实例简单实体构建 180
6.4 曲线曲面造型 183
6.4.1 曲线曲面基础 183
6.4.2 三次样条 188
6.4.3 Bezier曲线曲面 191
6.4.4 B样条曲线曲面 199
6.4.5 NURBS曲线曲面 207
6.4.6 编程实例OpenGL曲线曲面生成 210
习题6 214
第7章 真实感图形技术 216
7.1 真实感图形分析与图形绘制策略 216
7.1.1 真实感图形 216
7.1.2 图形绘制的两种基本策略 217
7.2 消隐算法 220
7.2.1 消隐概述 220
7.2.2 深度缓冲器算法 224
7.2.3 画家算法 227
7.3 颜色模型 229
7.3.1 物体的颜色 229
7.3.2 颜色空间 230
7.3.3 常用颜色模型 231
7.3.4 OpenGL中的颜色模型 232
7.4 光照明模型 233
7.4.1 局部光照明模型 233
7.4.2 整体光照明模型 237
7.5 着色 239
7.5.1 多边形着色 239
7.5.2 透明与阴影 244
7.6 光线跟踪算法 246
7.7 纹理映射技术 249
7.7.1 概述 249
7.7.2 颜色纹理映射 250
7.7.3 几何纹理映射 253
7.7.4 环境映射 254
7.8 OpenGL真实感图形 255
7.8.1 OpenGL光照函数 255
7.8.2 物体表面特性函数 259
7.8.3 OpenGL纹理映射 260
7.8.4 编程实例纹理映射 263
7.9 图形流水线再分析 266
习题7 268
参考文献 269
附录A 课程实验指导 270
附录B 模拟试题 316
|
內容試閱:
|
随着虚拟现实和5G技术的发展,计算机图形学将会发挥更加重要的基础作用。因此,越来越多的高校开设了图形学课程,同时也有更多的技术爱好者加入图形学的学习队伍。为了更好地帮助读者学习和掌握计算机图形学,作者用心地改版了本书。下面对本书的指导思想进行一些介绍,希望在这些重要问题上和读者取得共识,之后介绍本书的内容组织及改版情况。
1.指导思想
(1)自顶向下
图形学内容繁多复杂,很容易让学生在学习一学期后仍不得要领。针对此问题,本书在整体上采用自顶向下的原则来组织内容,从计算机图形学定义出发,紧紧围绕图形绘制流水线这条主线进行图形学内容介绍,读者在学习各章内容的同时,头脑中始终明确该章内容在图形绘制流水线中的定位和作用,从而能更整体、全面地学习与掌握计算机图形学。
(2)循序渐进
学习是一个循序渐进的过程,一本教材也应当尽可能按照循序渐进的原则和方式来组织内容。因此,本书在整体上遵循图形绘制流水线这条主线的同时,在具体内容组织上则遵循循序渐进的原则来处理。首先,循序渐进地介绍图形绘制流水线。本书分别在第1、2、7章从不同层面、不同角度对图形绘制流水线进行介绍,让读者逐渐深入地了解图形绘制流水线这一主线。其次,按照由易到难、由外而内的顺序介绍图形绘制流水线各部分知识。为了帮助读者更好地从整体上理解和认识图形绘制流水线,本书首先在第2章介绍了图形系统,再由外而内,从图形显示的光栅化入手,介绍了基本图形的光栅化。之后再介绍变换与观察,到三维造型与真实感图形,完成整个图形绘制流水线的介绍。
(3)OpenGL定位
对本书而言,OpenGL定位于学习辅助工具,即通过OpenGL来辅助学习与掌握图形学相关知识与技术。因此,本书没有像OpenGL编程指南一样把OpenGL的各方面知识都一一介绍,而是仅介绍了对于学习图形学来说必要的部分。也正是基于这一考虑,本书没有选取最新基于可编程流水线的OpenGL版本,而是采用了学习难度与台阶较小的基于固定流水线的OpenGL版本来介绍,这样可以使读者更好地聚焦到图形学内容上。同时我们相信,如果读者以本书为台阶,再去学习最新版的OpenGL会更加容易和高效。
2.内容组织
本书的图形学内容体系如图0.1所示。其中,图形学基础模块是学习计算机图形学的一些数学及与其相关的软、硬件基础知识;建模模块是为了解决图形学的建模与表示任务;绘制模块用来解决图形学的绘制任务。各知识模块及相应章节内容简要介绍如下。
图0.1 本书的图形学内容体系
(1)基础模块:图形学基础主要包括数学以及与之相关的软、硬件基础知识。数学基础知识包括向量、矩阵、齐次坐标和几何变换等,是计算机图形学中重要的计算工具,它们被大量地运用到真实感图形生成过程中的法向计算,还有直线、平面及各种曲面的计算,以及曲线曲面的构造与光顺等。其中向量、矩阵等知识请读者自行查阅相关书籍,本书不作介绍。几何变换知识将在第4章详细介绍。
软、硬件基础知识包括常见图形API,如OpenGL、Direct3D等,图形输出设备与输出技术的简单基础知识,如光栅显示器基本原理、图形流水线等知识将在第2章介绍。
(2)建模模块:集中在本书的第6章,主要介绍多边形网格模型表示、曲线曲面表示方法等,为图形绘制流水线的应用程序阶段服务。
(3)绘制模块:主要为图形绘制流水线后两个阶段,即几何处理和光栅阶段服务,其中几何处理主要负责大部分多边形和顶点的变换操作,将在第5章介绍三维观察和有关顶点坐标变换问题。光栅阶段主要负责光栅化和像素着色任务,其中光栅化将在第3章介绍,而像素着色则会在第7章介绍。
附录A是含有11个实验的实验教程,附录B提供了3套模拟试题。
3.相对第1版的变化
相对于第1版,本书删去第5章二维观察、第9章交互技术和第10章计算机动画。附录B内容移至线上课程相关网站,供读者参考。具体修改情况如下。
第1章将原内容按照图形学的4W(What、Why、Where、When)方面来整理,使原内容逻辑更清晰。
第2章增加2.2.4 显卡和图形处理器2.4 图形流水线。
第3章将原第5章中的裁剪内容移至3.7 裁剪,并改写了3.2 直线段光栅化、3.3 圆弧光栅化和3.6 反走样技术。
第4章增加4.1.4 二维几何变换通式与总结和4.4.3 变换应用实例正方形旋转动画。
第5章将原6.1 三维观察流水线改为5.1 三维观察流程,并增加大量新内容,改写了5.2 观察变换5.3.3 透视投影。
第6章按某一类曲线曲面来介绍,如Bezier曲线曲面,不再按Bezier曲线和Bezier曲面分开介绍,增加6.4.5 NURBS曲线曲面。
第7章进行了大量的精简和改写,同时增加7.1.2 图形绘制两种基本策略7.9 图形流水线再分析。
附录A增加了3个实验:实验7 3D机器人、实验8 OpenGL太阳系动画和实验11 B样条曲面生成。
4.适用对象
本书旨在服务于32~48学时的本科图形学教学与学习,具有以下特点:以经典图形学知识为主,同时注重结合OpenGL图形应用编程来详细介绍相关技术实例;以OpenGL为教学平台与实验平台,提供实验指导书,以更好地满足教学需要;内容精炼,服务本科教学需要,不过多涉及最新技术。
在阅读本书之前,读者应该了解CC语言和简单的数据结构知识,还有一些线性代数的初步知识;也欢迎读者对本书存在的缺点和问题提出批评与建议(联系邮箱:wpxu08@gmail.com)。
本书第1版由河南理工大学徐文鹏、王玉琨、刘永和、向中林和强晓焕老师共同编写。第2版由河南理工大学徐文鹏、都伟冰、雒芬、曾艳阳、张建春和强晓焕老师共同改编。其中,第6章和附录A由都伟冰改写,第2章由雒芬改写,第3章由张建春改写,第4章由曾艳阳改写,第7章由强晓焕改写,第1章和第5章由徐文鹏改写。全书由徐文鹏统稿。
感谢河南理工大学及笔者所在的计算机学院,没有他们的支持与鼓励,不可能完成此书。感谢我校的侯守明、王春阳、王辉连三位老师给本书的编写提了很多很好的意见。同时,在教材编写过程中得到了韩明峰、李效伟、陈伟斌、方小勇、何南忠、李玉杰、刘春林、秦胜伟、王斌、余顺园、周保林、柏森、冯自学、李春元、吕娜、石亮亮、谢骊玲、叶武剑、高贤波、曾聪文等多位老师的支持与指导,作者在此一并向他们致以诚挚的谢意。最后,本书编写过程中参阅了许多计算机图形学的参考书及相关资料,谨向这些书的作者和译者表示衷心的感谢。
感谢清华大学出版社及邓艳编辑,在本书的出版过程中,我与邓艳编辑合作非常愉快。同时,向从事编辑和校对工作的同志致以深切谢意!
编 者
|
|