第一图书网

计算机图形学实用技术

陈元琰,张睿哲,李建华 编著 清华大学出版社
出版时间:

2012-7  

出版社:

清华大学出版社  

作者:

陈元琰,张睿哲,李建华 编著  

页数:

372  

字数:

552000  

Tag标签:

无  

前言

  计算机应用的广泛普及和深入以及我国高校本、专科生的大量扩招,促使计算机专业人员和广大非计算机专业的应用人员从计算机图形学的理论高度和计算机绘图的实用角度来研究和开发计算机图形生成技术及软件。目前,有关计算机图形学的理论、用C语言编写的计算机绘图和用VC进行标准Windows界面的图形软件设计都有许多图书出版,但这些均是独立出现的。在多年的教学、科研和开发工作中我们深刻地体会到,如果没有计算机图形学的理论基础,计算机图形生成技术就无从谈起;没有用高级语言描述算法的详细思路,计算机图形学复杂的理论和方法就不能真正得到理解和应用。基于这些体会,作者认为很有必要编写出版这样的一本书,把计算机图形学理论与计算机绘图的实践结合起来,在计算机图形学理论与交互式图形软件设计之间架起一座桥梁,对图形学的每个理论和方法尽量用详细的算法程序描述出来,并掌握用Visual C++开发工具进行交互式图形软件设计实践,使学习者在掌握理论与实践两方面均可进退自如。  本书介绍了计算机图形学的有关原理、算法及实现,从计算机图形学的基本图形生成讲起,采取循序渐进的内容安排,由简单到复杂,由二维到三维,理论与实践相结合。书中的算法都尽量给出C程序,在后面的实验指导中每章均有一个VC编程案例,读者可以将书中讲解内容很容易地在计算机上一一验证,从而为深入理解图形学原理提供最重要的保证,并为今后的计算机图形学应用打下坚实的实践基础和编程积累。全书共8章,分别为:绪论、交互式图形软件设计、基本图形生成、图形变换、曲线和曲面、几何造型、真实感图形和实验指导。其中最后一章为实验指导,介绍了用VC编程实现各种计算机图形学的算法。  本书要求读者有线性代数和C语言基础,若有Visual C++基础则更好。读者可根据自身情况,在C语言或Visual C++的基础上进行上机练习、掌握和应用计算机图形学的各种算法,并开发一些具有实用性的小型图形软件。  根据使用本书第2版的多年教学的经验和体会,为了加强、充实一些经典的理论部分描述,使之更通俗易懂,同时使实践部分更易实施与操作,本书第3版在第2版的基础上做了如下一些修订:第1章适当增加一些图示说明;第2章增加一节简单实用图形学程序设计举例;第3章对Bresenham画圆、中点画椭圆、Bresenham画椭圆、有序边表的填充、种子填充等算法的文字叙述、插图或公式推导进行了修改和补充,增加了Cyrus Beck直线段的裁剪算法;第4章修改了错切变换、投影变换、窗口视区变换的图例,增加了新的一节“视域体及三维裁剪”;第5章增加了Bezier曲线的de Casteljau算法及伪码和Bezier曲线的拼接讨论,增设均匀B样条曲线的递归定义表达式及示意图,修改二次B样条曲线示意图,增设deboor算法及伪代码。  本书由陈元琰主笔,张睿哲参与了第4章和第5章的编写,李建华参与了第3~5章的编写和全书的修订。由于水平有限,书中难免存在缺点和不足,殷切希望广大读者批评指正。

内容概要

  《计算机图形学实用技术(第3版)》介绍了计算机图形学的有关原理、算法及实现,从计算机图形学的基本图形生成讲起,采取循序渐进的内容安排,由简单到复杂,由二维到三维,理论与实践相结合。书中的算法都尽量给出C程序,在后面的实验指导中每章均有一个VC编程案例,读者可以将书中讲解内容很容易地在计算机上一一验证,从而为深入理解图形学原理提供最重要的保证,并为今后的计算机图形学应用打下坚实的实践基础和编程积累。全书共8章,分别为:绪论、交互式图形软件设计、基本图形生成、图形变换、曲线和曲面、几何造型、真实感图形和实验指导,其中最后一章“实验指导”介绍了用VC编程实现各种计算机图形学算法。
  《计算机图形学实用技术(第3版)》可作为高等院校各专业本、专科生计算机图形学或计算机绘图的教材,也可作为广大计算机图形学爱好者的自学教材或工作参考用书。

书籍目录

第1章 绪论
1.1 计算机图形学的概念、发展和应用
1.1.1 计算机图形学的概念
1.1.2 计算机图形学的发展
1.1.3 计算机图形学的应用
1.2 计算机图形系统
1.2.1 计算机图形系统硬件
1.2.2 计算机图形系统软件
1.3 计算机图形标准
1.3.1 图形标准
1.3.2 图形设备接口标准
1.3.3 图形元文件标准
1.3.4 基本图形交换规范
习题
第2章 交互式图形软件设计
2.1 交互式图形软件设计方法
2.1.1 Visual C++ 6.0开发环境和开发工具概述
2.1.2 MFC类库简介
2.1.3 使用AppWizard生成图形应用程序的框架
2.1.4 使用资源编辑器生成图形用户界面
2.1.5 利用消息映射和消息处理实现交互式绘图
2.2 CDC图形程序库
2.2.1 绘图工具选择
2.2.2 坐标系统设置与转换
2.2.3 绘图模式与背景设置
2.2.4 图形绘制
2.2.5 区域填充
2.3 面向对象的画图程序设计
2.3.1 类与数据封装
2.3.2 派生类与继承性
2.3.3 虚函数与多态性
2.3.4 数据存储与屏幕重绘
2.3.5 绘图程序的设计思路
2.4 图形类的定义
2.4.1 图形基类CShape
2.4.2 直线类CLine
2.4.3 贝塞尔曲线类CBezier
2.4.4 矩形类CRectangle
2.4.5 圆类CCircle
2.4.6 椭圆类CEllipse
2.4.7 多边形类CPolygon
2.5 绘图程序的实现
2.5.1 建立绘图程序框架
2.5.2 增加绘图菜单
2.5.3 在屏幕上画图
2.5.4 在文档类中保存图形
2.5.5 创建线型线宽对话框
2.5.6 图形程序的编译运行
2.5.7 简单实用图形学程序设计举例
习题
第3章 基本图形生成
3.1 直线的生成
3.1.1 数值微分算法
3.1.2 中点画线算法
3.1.3 Bresenham画线算法
3.2 圆与椭圆的生成
3.2.1 圆的特性
3.2.2 中点画圆算法
3.2.3 Bresenham画圆算法
3.2.4 椭圆的生成算法
3.3 区域填充
3.3.1 有序边表填充算法
3.3.2 边填充算法
3.3.3 种子填充算法
3.3.4 圆和椭圆的填充
3.3.5 图案填充
3.4 裁剪
3.4.1 点的裁剪
3.4.2 直线段的裁剪
3.4.3 多边形的裁剪
3.5 线宽与线型的处理
3.5.1 直线线宽的处理
3.5.2 圆弧线宽的处理
3.5.3 线型的处理
习题
第4章 图形变换
4.1 几何变换
4.1.1 几何变换的齐次坐标法
4.1.2 二维基本变换
4.1.3 二维组合变换
4.1.4 三维基本变换
4.1.5 三维组合变换
4.1.6 参数图形的几何变换
4.2 投影变换
4.2.1 正投影变换(三视图)
4.2.2 正轴测投影变换
4.2.3 斜轴测投影变换
4.2.4 透视投影变换
4.2.5 视域体及三维裁剪
4.3 窗口视区变换
4.3.1 坐标系
4.3.2 窗口与视区
4.3.3 窗口-视区变换
4.4 视向变换
4.4.1 世界坐标系和观察坐标系
4.4.2 视向变换矩阵
习题
第5章 曲线和曲面
5.1 曲线和曲面基础
5.1.1 规则曲线和曲面的3种坐标表示法
5.1.2 参数样条曲线和曲面的常用术语
5.2 二次插值样条曲线
5.2.1 二次插值样条曲线的数学表达式
5.2.2 二次插值样条曲线的加权合成
5.2.3 二次插值样条曲线的端点条件
5.2.4 二次插值样条曲线的性质
5.3 三次插值样条曲线
5.3.1 三次自然样条曲线
5.3.2 Hermite样条曲线
5.3.3 Cardinal样条曲线
5.4 Bezier曲线和曲面
5.4.1 Bezier曲线的定义
5.4.2 Bezier曲线的性质
5.4.3 二次Bezier曲线
5.4.4 三次Bezier曲线
5.4.5 反算Bezier曲线控制点
5.4.6 Bezier曲线的多项式定义生成算法
5.4.7 Bezier曲线的分割递推de Casteljau算法
5.4.8 Bezier曲线的拼接
5.4.9 Bezier曲面
5.5 B样条曲线和曲面
5.5.1 B样条曲线的多项式定义(Clark定义法)
5.5.2 B样条曲线的递推定义
5.5.3 二次B样条曲线
5.5.4 三次B样条曲线
5.5.5 B样条曲线生成的de Boor算法
5.5.6 反求B样条曲线的控制点及其端点性质
5.5.7 B样条曲面
5.6 有理样条曲线
5.6.1 有理Bezier曲线
5.6.2 有理B样条曲线
5.6.3 非均匀有理B样条(NURBS)曲线
习题
第6章 几何造型
6.1 形体的定义和存储模型
6.1.1 形体的定义
6.1.2 形体的存储模型
6.2 实体表示方法
6.2.1 构造的实体几何法
6.2.2 边界表示法
6.2.3 扫描表示法
6.2.4 特征表示法
6.2.5 单元分解表示法
6.3 布尔运算
6.3.1 布尔运算的概念
6.3.2 多边形的描述
6.3.3 多边形重叠性检验
6.3.4 布尔运算的规则
6.4 分形几何造型
6.4.1 分形和分形几何造型的概念
6.4.2 分形维数和分形几何造型
6.4.3 典型分形曲线集
习题
第7章 真实感图形
7.1 消除隐藏线
7.1.1 平面体的消隐处理
7.1.2 曲面体的消隐处理
7.2 消除隐藏面
7.2.1 基本检测
7.2.2 画家算法
7.2.3 深度缓冲器算法(Z缓冲区算法)
7.2.4 扫描线算法
7.2.5 区域细分算法
7.3 光照模型与明暗效应
7.3.1 光照的基本模型
7.3.2 局部光照模型
7.3.3 整体光照模型
7.3.4 明暗处理方法
7.4 纹理图案映射
7.4.1 确定映射关系
7.4.2 平面图案的矢量化处理与离散细分
7.4.3 映射效果的三维显示
习题
第8章 实验指导
8.1 基础篇
实验一 直线扫描转换
实验二 圆的扫描转换
实验三 椭圆扫描转换
实验四 区域递归种子填充
实验五 区域链队列种子填充
实验六 有序边表的图案填充
实验七 Cohen-Sutherland线段编码裁剪
实验八 Cyrus-Beck多边形窗口参数化裁剪
实验九 矩形窗口逐边裁剪多边形
实验十 二维图形的几何变换
实验十一 三维图形投影变换
实验十二 Bezier曲线绘制
实验十三 B样条曲线绘制
8.2 提高篇
实验A 基本图形生成编程
实验B 图形变换编程
实验C 曲线编程
实验D 三维几何造型编程
实验E 真实感图形编程
参考文献
附录A 计算机图形学函数库
A.1 全局函数原型定义
A.2 全局函数的实现
计算机图形学实用技术(第3版)


图书封面

图书标签Tags

广告

下载页面


计算机图形学实用技术 PDF格式下载



相关图书