华信教育资源网
  • #
#
计算机图形学——理论与实践项目化教程
作   译   者:孔令德 出 版 日 期:2020-06-01
出   版   社:电子工业出版社 维   护   人:谭海平 
书   代   号:G0385330 I S B N:9787121385339

图书简介:

本书以真实感图形为主线,精选23个理论知识点进行重点讲解,并给出23个配套实验,以三维动画的方式讲解3D计算机图形学的基础理论与算法。理论部分主要包括双缓冲动画、直线光栅化、三维几何变换、曲面建模、透视投影、三角形填充、深度缓冲消隐、简单光照模型和纹理映射等内容;实验部分主要提供三角形填充算法、立方体等多面体建模算法、球体和圆环曲面体建模算法、球体的透视投影算法、立方体的ZBuffer消隐算法和画家消隐算法、球体的高洛德明暗处理算法、圆环的冯氏明暗处理算法、球体的图像纹理映射算法和凹凸纹理映射算法等项目。实验项目使用Visual C++ 2017的中文版MFC框架开发,提供一套完整的三维场景着色源程序代码。实验项目还提供严格按照算法编写的工具代码,包括直线类CLine、几何变换类CTransform、投影类CProjection、深度缓冲消隐类CZBuffer、光源类CLightSource、材质类CMaterial、光照类CLighting、高洛德着色器GouruaudShader和冯氏着色器PhongShader。
定价 59.8

关注公众号

关注微博

您的专属联系人更多
联系人:李蕊
电话:010-88254558
邮箱:lir@phei.com.cn
关注 评论(0) 分享
配套资源 图书内容 样章/电子教材 图书评价
  • 配 套 资 源
    图书特别说明:

    本书资源

    本书暂无资源

    会员上传本书资源

  • 图 书 内 容

    图书详情

    ISBN:9787121385339

    开 本:16开

    印 张:14.5

    版 次:01-01

    页 数:232

    字 数:390.0

    内容简介

    本书以真实感图形为主线,精选23个理论知识点进行重点讲解,并给出23个配套实验,以三维动画的方式讲解3D计算机图形学的基础理论与算法。理论部分主要包括双缓冲动画、直线光栅化、三维几何变换、曲面建模、透视投影、三角形填充、深度缓冲消隐、简单光照模型和纹理映射等内容;实验部分主要提供三角形填充算法、立方体等多面体建模算法、球体和圆环曲面体建模算法、球体的透视投影算法、立方体的ZBuffer消隐算法和画家消隐算法、球体的高洛德明暗处理算法、圆环的冯氏明暗处理算法、球体的图像纹理映射算法和凹凸纹理映射算法等项目。实验项目使用Visual C++ 2017的中文版MFC框架开发,提供一套完整的三维场景着色源程序代码。实验项目还提供严格按照算法编写的工具代码,包括直线类CLine、几何变换类CTransform、投影类CProjection、深度缓冲消隐类CZBuffer、光源类CLightSource、材质类CMaterial、光照类CLighting、高洛德着色器GouruaudShader和冯氏着色器PhongShader。

    本书目录

    第1章  概述 1
    1.1  计算机图形学的概念 1
    1.2  计算机图形学的应用领域 1
    1.2.1  计算机辅助设计 2
    1.2.2  计算机艺术 2
    1.2.3  虚拟现实技术 2
    1.2.4  计算机游戏 3
    1.2.5  计算机辅助教学 3
    1.3  计算机图形学的诞生 3
    1.4  真实感图形算法的进展 4
    1.5  MFC绘图函数【理论1】 4
    1.5.1  新建Test项目 4
    1.5.2  自定义坐标系 6
    1.5.3  绘图工具 7
    1.5.4  基本绘图函数 8
    1.6  实验1:鼠标绘制直线 9
    1.7  双缓冲绘图算法【理论2】 11
    1.8  实验2:小球与客户区边界碰撞动画 12
    1.9  本章小结 17
    习题1 18
    第2章  直线的光栅化 19
    2.1  确定主位移方向 19
    2.2  DDA算法 20
    2.3  Bresenham算法 21
    2.3.1  Bresenham算法原理 21
    2.3.2  整数Bresenham算法原理 22
    2.3.3  通用整数Bresenham算法原理
    【理论3】 22
    2.3.4  颜色线性插值 23
    2.4  实验3:使用Bresenham直线算法绘制颜色渐变三角形 23
    2.5  中点算法 28
    2.5.1  中点算法原理 28
    2.5.2  构造中点误差项 29
    2.5.3  递推公式 29
    2.5.4  中点算法整数化 30
    2.6  反走样技术【理论4】 31
    2.6.1  走样现象 31
    2.6.2  算法原理 31
    2.6.3  构造距离误差项 32
    2.6.4  反走样算法 32
    2.7  实验4:反走样秒表 33
    2.8  本章小结 35
    习题2 36
    第3章  几何变换 37
    3.1  齐次坐标 37
    3.2  二维几何变换【理论5】 38
    3.2.1  二维几何变换矩阵 38
    3.2.2  二维变换形式 38
    3.2.3  基本几何变换矩阵 38
    3.2.4  二维复合变换 43
    3.3  实验5:绘制防护栏图案 43
    3.4  三维变换 50
    3.4.1  三维变换矩阵 50
    3.4.2  三维变换形式 50
    3.5  三维基本变换矩阵【理论6】 51
    3.5.1  基本几何变换矩阵 51
    3.5.2  三维复合变换 55
    3.6  实验6:旋转立方体 56
    3.7  本章小结 65
    习题3 65
    第4章  自由曲面建模 67
    4.1  贝塞尔曲线【理论7】 67
    4.1.1  贝塞尔曲线的定义 67
    4.1.2  三次贝塞尔曲线绘制圆弧 70
    4.1.3  贝塞尔曲线的拼接 71
    4.2  实验7:使用三次贝塞尔曲线绘制圆 71
    4.3  贝塞尔曲面【理论8】 75
    4.3.1  双三次贝塞尔曲面的定义 76
    4.3.2  双三次贝塞尔曲面递归细分 77
    4.3.3  双三次贝塞尔曲面的法向量 78
    4.4  实验8:回转法构造球面 78
    4.5  本章小结 90
    习题4 91
    第5章  投影与消隐 95
    5.1  正交投影 95
    5.2  斜投影【理论9】 96
    5.3  实验9:绘制斜投影双三次贝塞尔曲面 97
    5.4  透视投影【理论10】 100
    5.4.1  透视投影坐标系 100
    5.4.2  世界坐标系到观察坐标系的变换 101
    5.4.3  观察坐标系到屏幕坐标系的变换 101
    5.4.4  透视投影变换 102
    5.4.5  透视投影分类 103
    5.5  实验10:制作球体的透视投影动画 103
    5.6  背面剔除算法【理论11】 106
    5.7  实验11:制作球体的消隐动画 107
    5.8  本章小结 111
    习题5 111
    第6章  表面模型 114
    6.1  三角形的表示法 114
    6.2  三角形的着色模式 115
    6.3  马赫带 115
    6.4  边界像素处理规则 116
    6.5  边标志算法【理论12】 116
    6.5.1  基本思想 116
    6.5.2  光滑着色模式填充三角形 117
    6.5.3  打边标志 117
    6.6  实验12:绘制RGB立方体 118
    6.7  面消隐算法 124
    6.7.1  三维屏幕坐标系 124
    6.7.2  计算伪深度 125
    6.8  ZBuffer算法【理论13】 125
    6.9  实验13:光滑着色交叉条动态消隐 126
    6.10  画家算法【理论14】 133
    6.11  实验14:使用画家算法绘制CMY立方体 
      134
    6.12  本章小结 138
    习题6 138
    第7章  光照模型 140
    7.1  颜色模型 140
    7.1.1  RGB颜色模型 140
    7.1.2  HSV颜色模型 141
    7.1.3  CMY颜色模型 142
    7.2  简单光照模型【理论15】 143
    7.2.1  材质属性 144
    7.2.2  发射光模型 144
    7.2.3  环境光模型 145
    7.2.4  漫反射光模型 145
    7.2.5  镜面反射光模型 146
    7.2.6  光源衰减 147
    7.2.7  增加颜色 148
    7.3  实验15:球体GouraudShader三维动画 149
    7.4  光滑着色【理论16】 155
    7.4.1  GouraudShader 155
    7.4.2  PhongShader 156
    7.5  实验16:圆环PhongShader三维动画 157
    7.6  本章小结 164
    习题7 164
    第8章  纹理映射 169
    8.1  纹理的定义 170
    8.2  纹理的分类 170
    8.3  图像纹理【理论17】 171
    8.3.1  读入纹理 171
    8.3.2  处理高光 171
    8.4  实验17:球体图像纹理映射 172
    8.5  几何纹理【理论18】 179
    8.5.1  最简单的凹凸图 179
    8.5.2  映射原理 179
    8.6  实验18:球体正弦函数扰动的凹凸纹理 181
    8.7  纹理反走样 182
    8.8  本章小结 183
    习题8 183
    第9章  高级纹理技术 188
    9.1  两步纹理映射【理论19】 188
    9.2  实验19:球面两步纹理映射算法 190
    9.2  环境映射 192
    9.2.1  球面映射方法【理论20】 192
    9.2.2  立方体映射方法【理论21】 193
    
    9.3  实验20:球面环境映射算法(球映射方法) 195
    9.4  实验21:圆环环境映射算法(立方体映射方法) 196
    9.5  投影纹理映射【理论22】 200
    9.6  实验22:圆环投影纹理映射 201
    9.7  三维纹理映射【理论23】 203
    9.8  实验23:木纹球体 206
    9.9  Mipmap纹理反走样技术 208
    9.10  本章小结 210
    习题9 210
    附录A  课程设计 213
    A.1  项目描述 213
    A.2  项目设计 214
    A.3  项目编码 217
    A.4  项目总结 222
    A.5  项目拓展 222
    参考文献 227
    展开

    前     言

    前  言
    对教师和学生而言,计算机图形学课程是对编程语言、算法、数学、外语阅读等方面综合应用能力要求较高的一门复合学科。学好计算机图形学的最好方法是项目化学习,即通过编程来理解算法。项目化教学方法的优点是能够保证动手能力的连续性,缺点是会割裂理论的连续性,让人看起来像是说明书,而不清楚最终的学习目标。本书试图在理论和实践方面进行平衡,以传统的章节为顺序,选择教学内容时,标注【理论】作为重点学习内容,紧跟理论后面设计一个实验项目来讲解理论的工程应用。
    今天,计算机图形学已是一个成熟的领域。本书为读者精选光栅化图形学的基本理论和程序架构,从建立曲面体模型开始,通过施加三维变换让模型动起来,通过施加透视投影让模型符合视觉效果,通过添加光照效果让模型亮起来,通过映射纹理让模型真起来。
    本书以真实感图形为主线,精选23个理论知识点,重点讲解计算机图形学的基础理论与算法,并从零开始手把手讲解23个配套实验,程序以三维动画的方式展示运行效果。理论部分主要包括双缓冲动画、三维几何变换、曲面建模技术、透视投影、三角形填充、ZBuffer消隐、简单光照模型和纹理映射等;实验部分使用Visual Studio 2017的C++语言开发算法类模块,工具类主要包括三维点类、向量类、几何变换类、投影类、RGB颜色类等模块;应用类主要包括直线类、贝塞尔曲面类、球体类、圆环类、深度缓冲类、光源类、材质类、光照类、纹理类等模块。模块设计前后一致且具有互换性。理论的讲解与实验的开发完全一致,代码和算法一一对应。读者可以直接使用这些模块作为工具开发项目。
    在本书的附录部分,提供了对花瓶制作项目的指导,读者可以使用前面实验项目中建立的工具类来建立花瓶的线框模型,并给花瓶添加光照,映射纹理,渲染出头像花瓶、印章花瓶等真实感效果。
    本书假定读者了解向量和矩阵等较为基础的数学内容,熟悉C++面向对象编程的基本概念。本书所用的算法全部取自算法提出者发表的英文原文。类架构的编写简单易懂,程序讲解清晰、细腻。为了使实验项目清楚明了,所选模型尽量简单。多面体模型主要提供金字塔模型、正八面体模型、立方体模型等;曲面体模型全部使用贝塞尔曲面构建,主要包括球体、圆环、花瓶、碗等。
    项目化教学对于教师的讲授比较轻松。建议教师在实验室开展教学,每两个课时上机完成一个实验,理论部分在需要的时候进行讲解。理论是服务于实验的算法,实验是理论指导下的实践。教师只需要掌握实验项目的编程实现,理论部分可以安排学生通过微课来学习。作者提供全部理论内容的课件和实验项目源程序。本书的作业全部提供运行效果的视频。需要进一步获得支持的读者,请通过QQ(997796978)联系作者,或加入QQ群(159410090,计算机图形学教师群)共同探讨。
    展开

    作者简介

    本书暂无作者简介
  • 样 章 试 读
  • 图 书 评 价我要评论
华信教育资源网