** 部 分
第1章绪论
1.1概念
1.2研究内容及应用领域
1.2.1图形和图像的关系
1.2.2图形输入输出硬件技术
1.2.3计算机图形学的主要研究内容
1.2.4计算机图形学的应用领域
1.3发展历史
1.3.1萌芽阶段
1.3.2发展阶段
1.3.3推广应用阶段
1.3.4实用化阶段
1.3.5标准化、智能化阶段<p>第 一 部 分</p> <p>第1章绪论</p> <p>1.1概念</p> <p>1.2研究内容及应用领域</p> <p>1.2.1图形和图像的关系</p> <p>1.2.2图形输入输出硬件技术</p> <p>1.2.3计算机图形学的主要研究内容</p> <p>1.2.4计算机图形学的应用领域</p> <p>1.3发展历史</p> <p>1.3.1萌芽阶段</p> <p>1.3.2发展阶段</p> <p>1.3.3推广应用阶段</p> <p>1.3.4实用化阶段</p> <p>1.3.5标准化、智能化阶段</p> <p>1.3.6多学科融合发展阶段</p> <p>1.4学科发展</p> <p>第2章图形开发工具及使用</p> <p>2.1VC 开发系统简介</p> <p>2.1.1VC6.0系统介绍</p> <p>2.1.2VC 相关设计流程</p> <p>2.2VC 基本图素的绘制方法</p> <p>2.2.1相关类及函数</p> <p>2.2.2基本像素点的交互式绘制方法</p> <p>2.2.3非模式对话框交互式实现方法及颜色对话框的使用</p> <p>第3章基本图形的生成</p> <p>3.1直线的扫描转换</p> <p>3.1.1直线扫描转换原理</p> <p>3.1.2数值微分法</p> <p>3.1.3中点画线算法</p> <p>3.1.4Bresenham画线算法</p> <p>3.1.5图形程序设计及VC 的橡皮筋���双缓存交互技术</p> <p>3.2圆的扫描转换</p> <p>3.2.1圆的扫描转换概述</p> <p>3.2.2中点画圆算法</p> <p>3.2.3Bresenham画圆算法</p> <p>3.2.4圆弧段的扫描转换</p> <p>3.3椭圆的扫描转换</p> <p>3.4多边形的扫描转换及区域填充</p> <p>3.4.1多边形的扫描转换</p> <p>3.4.2区域填充</p> <p>3.5字符和汉字的表示</p> <p>3.6线宽和线型处理</p> <p>3.6.1线宽处理</p> <p>3.6.2线型处理</p> <p>3.7反走样技术</p> <p>第4章裁剪</p> <p>4.1点和直线的裁剪</p> <p>4.1.1点的裁剪</p> <p>4.1.2直线裁剪</p> <p>4.2多边形裁剪</p> <p>4.2.1多边形裁剪概述</p> <p>4.2.2矩形及凸多边形裁剪窗口裁剪</p> <p>4.2.3任意形状多边形的裁剪</p> <p>4.3圆裁剪</p> <p>4.3.1圆裁剪概述</p> <p>4.3.2圆形窗口的线段裁剪</p> <p>4.3.3任意多边形窗口对圆的裁剪</p> <p>4.4字符裁剪</p> <p>第5章图形变换</p> <p>5.1图形变换的数学基础</p> <p>5.1.1矢量的定义及运算</p> <p>5.1.2矩阵的定义及运算</p> <p>5.1.3齐次坐标</p> <p>5.2二维图形几何变换</p> <p>5.2.1二维几何变换概述</p> <p>5.2.2二维图形基本变换</p> <p>5.2.3二维组合变换</p> <p>5.2.4交互技术实现图形变换</p> <p>5.3三维图形几何变换</p> <p>5.3.1三维图形基本变换及组合变换</p> <p>5.3.2三维图形的线框拉伸造型方法</p> <p>5.3.3投影变换</p> <p>5.3.4三维形体的交互技术</p> <p>5.3.5透视投影变换</p> <p>第6章消隐技术</p> <p>6.1消隐相关概念及算法类型</p> <p>6.2凸多面体的消隐</p> <p>6.2.1凸、凹多面体的区分</p> <p>6.2.2利用平面外法线判断可见性</p> <p>6.3一般多面体的消隐</p> <p>6.3.1消隐分析</p> <p>6.3.2隐线算法</p> <p>6.3.3画家算法</p> <p>6.3.4深度缓冲器算法</p> <p>6.3.5基于扫描线的消隐算法</p> <p>第7章真实感图形绘制</p> <p>7.1相关物理知识</p> <p>7.1.1基本光学原理</p> <p>7.1.2颜色与光的关系</p> <p>7.2光照模型</p> <p>7.2.1简单光照模型</p> <p>7.2.2整体光照模型</p> <p>7.3纹理</p> <p>7.3.1概述</p> <p>7.3.2二维纹理映射和三维纹理映射</p> <p>第8章曲线曲面</p> <p>8.1曲线曲面基础知识</p> <p>8.1.1曲线和曲面的表示方法</p> <p>8.1.2连续性、样条及曲线曲面构造方式</p> <p>8.2Bézier曲线曲面</p> <p>8.2.1Bézier曲线定义</p> <p>8.2.2Bézier曲线的性质</p> <p>8.2.3低次Bézier曲线及矩阵表示</p> <p>8.2.4Bézier曲线的拼接</p> <p>8.2.5Bézier曲线的递推生成算法</p> <p>8.2.6Bézier曲面</p> <p>8.3B样条曲线曲面</p> <p>8.3.1B样条的一般定义</p> <p>8.3.2二次和三次B样条曲线段</p> <p>8.3.3双三次B样条曲面</p> <p>8.3.4B样条递推定义</p> <p>8.3.5B样条曲线的类型</p> <p>8.3.6反求B样条曲线控制点</p> <p>8.3.7B样条曲线绘制</p> <p>8.3.8曲面拉伸造型方法</p> <p>8.4NURBS方法</p> <p>第9章计算机动画与仿真</p> <p>9.1计算机动画与仿真的概念及基本原理</p> <p>9.2计算机动画与仿真的实现方法</p> <p>9.2.1逐帧动画</p> <p>9.2.2实时动画</p> <p>9.3计算机实时动画实践</p> <p>第 二 部 分</p> <p>第10章基于OpenGL的图形开发技术</p> <p>10.1OpenGL开发环境配置及相关规范介绍</p> <p>10.1.1VC6.0环境OpenGL配置方法</p> <p>10.1.2OpenGL相关规范介绍</p> <p>10.2基本图形及真实感图形绘制</p> <p>10.2.1基本图形绘制</p> <p>10.2.2图形变换与三维绘图</p> <p>10.2.3真实感图形显示</p> <p>10.3OpenGL图像处理技术</p> <p>10.3.1位图图像</p> <p>10.3.2像素图像</p> <p>10.3.3图像操作</p> <p>10.4OpenGL纹理映射技术</p> <p>10.4.1纹理映射的一般步骤</p> <p>10.4.2纹理对象</p> <p>10.4.3纹理透明</p> <p>10.4.4一维纹理</p> <p>10.4.5球体纹理</p> <p>10.4.6立方图纹理及天空盒绘制和表面反射</p> <p>10.5OpenGL曲线曲面技术</p> <p>10.5.1绘制二次曲面</p> <p>10.5.2绘制Bézier曲线曲面</p> <p>10.5.3绘制NURBS曲线曲面</p> <p>10.5.4NURBS曲面修剪</p> <p>10.5.5曲面纹理映射</p> <p>第11章Web图形开发技术</p> <p>11.1Web绘图技术的结构概述</p> <p>11.1.1HTML网页文档结构</p> <p>11.1.2JavaScript概述</p> <p>11.1.3canvas中的图形</p> <p>11.2Web环境下基本图形的生成</p> <p>11.2.1直线的绘制</p> <p>11.2.2封闭多边形的绘制</p> <p>11.2.3多边形的扫描填充</p> <p>11.2.4多边形的裁剪</p> <p>11.2.5二维图形的组合变换</p> <p>11.2.6二维图形拉伸生成三维图形</p> <p>11.2.7三维图形的组合变换</p> <p>11.3基于WebGL的3D图形</p> <p>11.3.1Three.js绘制3D图形的结构</p> <p>11.3.2Web下的三维模型的显示</p> <p>参考文献</p>显示全部信息前 言计算机图形学是计算机科学的一个重要分支,现在的计算机技术应用领域,例如计算机辅助设计(CAD)、计算机动画仿真、影视广告**制作、电脑网络游戏、虚拟现实、三维扫描和打印以及人工智能技术等涉及图形图像的方面,都在直接或者间接地使用计算机图形学的理论和方法。那么,如何学习才能掌握计算机图形学这门学科呢?作为一门计算机应用技术,计算机图形学具有较强的理论性和实践性。本书内容丰富,不仅介绍了计算机图形学这门学科的主要研究内容以及基本原理,也提供了大量的编程实践,理论与实践相结合是本书的重要特色,可以在一定程度上帮助读者开发真实的图形应用程序; 该书不仅系统讲解了真实图形开发环境下使用的OpenGL技术,也提供了Web环境下的图形开发方法,可以使读者了解计算机图形学的应用趋势。在结构安排上,本书分为两大部分。**部分为本书前9章内容,详细介绍了计算机图形学的主要研究内容、基本原理以及图形学的开发环境和编程实践。具体如下: 第1章绪论 介绍了计算机图形学的基本概念、相关研究内容、应用领域、发展历史以及发展趋势。第2章图形开发工具及使用详细介绍了图形开发工具VC 系统的开发流程、相关函数及集合的使用、基本像素点的绘制方法以及非模式对话框的交互式实现方法。第3章基本图形的生成详细讲解了直线扫描转换生成的各种算法及实现、VC 的橡皮筋和双缓存交互技术、圆及圆弧的扫描转换、椭圆的扫描转换、多边形的扫描转换和填充、字符的表示、线宽和线型处理方法以及反走样技术。第4章裁剪详细讲解了直线在矩形窗口的裁剪算法、多边形的裁剪(包括矩形及凸多边形裁剪窗口的裁剪和任意形状多边形的裁剪及实现)、圆的裁剪(包括圆形窗口的直线裁剪和任何多边形窗口对圆的裁剪及实现)以及字符裁剪。第5章图形变换 介绍了图形变换的数学基础,详细讲解了二维图形的矩阵变换、交互式对象拾取和捕捉技术、三维图形的矩阵变换、三维图形的线框拉伸造型方法、投影变换、三维图形的交互拾取以及透视投影变换。第6章消隐技术介绍了消隐的相关概念,详细讲解了凸多面体的可见性判断方法和一般多面体的各种消隐算法,并对基于扫描线的消隐算法进行了详细分析和编程实现。第7章真实感图形绘制介绍了颜色与光的基本知识,详细讲解了简单光照模型和复杂光照模型,并实现了简单光照模型的编程,讲解了纹理映射的实现原理。第8章曲线曲面介绍了曲线曲面的参数表示方法以及相关概念,详细讲解了Bézier表示法、递推生成算法和Bézier曲面,详细讲解了B样条的定义、B样条曲线的递推定义,介绍了B样条曲线的绘制以及B样条曲面的拉伸造型方法,介绍了非均匀有理B样条NURBS方法。第9章计算机动画与仿真 介绍了动画的概念及基本原理、逐帧动画和实时动画实现方法,并对实时动画方法进行了编程实现。这部分内容各章节之间理论独立,但是代码编程部分前后关联,并创建了一个集成的图形程序,因此,在练习这一部分的代码时,建议循序渐进,不要跳跃式学习。本书第二部分为第10章和第11章,这两章各自独立,分别介绍了真实环境下计算机图形学应用程序接口(API)——OpenGL技术和Web环境下的图形开发技术,如果读者仅对OpenGL技术或者Web图形开发感兴趣,可以直接跳过本书前面的章节,学习这两章的内容。具体如下: 第10章基于OpenGL的图形开发技术详细讲解了VC 环境下OpenGL的配置方法、OpenGL基本图形及真实感图形绘制技术、OpenGL图像处理技术、OpenGL纹理映射技术以及OpenGL曲线曲面技术等。第11章Web图形开发技术介绍了Web绘图技术所需的Html文档结构、JavaScript脚本语言和canvas功能标签,详细介绍了JavaScript语言生成基本图形的编程方法和基于WebGL的3D图形技术。本书编程所用数据均由应用程序通过动态交互获取,而非提前设定,因此,*后的图形显示效果为实时的结果,这样,直接验证了书中算法的稳定性、可靠性和可行性。本书的读者对象可以是在校本科生、研究生,也可以是希望学习和掌握计算机图形学的相关人员。本书可以作为计算机图形学的教材,也可以作为学习计算机编程的技术书籍。本书第1~10章主要由李晓武编写,第11章主要由周晓雨编写。由李晓武担任主编,樊百琳和曹彤担任副主编,参编人员还有万静、杨皓、陈平、许倩、陈华和杨光辉等,他们还提出了非常宝贵的意见,在此一并致谢。除了已经列出的参考文献以外,还参考了其他相关图书和网上资料,无法一一列出,谨向所有作者表达谢意。本书的编写和出版得到了北京科技大学教材建设经费的资助,在此也表示感谢。本书中编程实现的应用程序代码及其他相关资料可通过本书封底的二维码扫描下载。由于作者水平有限,错漏之处在所难免,恳请读者批评指正。编者2018年4月于北京显示全部信息免费在线读**部分
第1章绪论
计算机图形学(computer graphics,CG)是建立在传统图学理论、应用数学和计算机科学等基础上的一门学科,广泛应用于很多领域,计算机辅助设计、计算机动画仿真、虚拟现实和计算机可视化等相关学科和技术都以计算机图形学的原理和算法为基础。虽然现在各学科之间的研究内容相互交叉、相互渗透,使学科界限逐渐模糊,但是计算机图形学仍然具有明显的学科特点。1.1概念由于计算机图形学涉及的图形内容很广泛,因此,对其很难有一个统一的定义,国内外各种专业文献对它的概念也有不同的表述。国际标准化组织(International Organization for Standardization,ISO)给出的定义是: 计算机图形学是研究通过计算机将数据转换为图形,并在专门显示设备上显示的原理、方法和技术的学科。美国电气电子工程师学会(Institute of Electrical and Electronics Engineers,IEEE)给出的定义是: 计算机图形学是利用计算机产生图形影像的一门艺术或科学。目前,国内广泛采用的对计算机图形学的定义是: 计算机图形学是研究怎样利用计算机来表示、生成、处理和显示图形的原理、算法、方法和技术的一门学科。随着其应用领域的不断扩展和延伸,人们对计算机图形学的认识会进一步深入。1.2研究内容及应用领域1.2.1图形和图像的关系