【计算机图形学原理及实践—C语言描述】

admin 2017-7-22 939

出版者的话 

专家指导委员会 

译者序 

前言 

第1章 导言        1 

1.1 作为图像分析的图像处理        1 

1.2 交互式图形学的优点        2 

1.3 计算机图形学的典型用途        3 

1.4 应用分类        4 

1.5 计算机图形学硬件与软件的发展        5 

1.5.1 输出技术        6 

1.5.2 输入技术        10 

1.5.3 软件的可移植性与图形标准        11 

1.6 交互式图形学的概念框架        12 

1.6.1 概述        12 

1.6.2 应用建模        12 

1.6.3 对图形系统描绘观察的内容        13 

1.6.4 交互处理        14 

1.7 小结        15 

习题        15 

第2章 简单光栅图形软件包(SRGP) 

的编程        17 

2.1 用SRGP画图        17 

2.1.1 图形图元的规格        17 

2.1.2 属性        21 

2.1.3 填充图元及其属性        22 

2.1.4 存储和恢复属性        25 

2.1.5 文本        26 

2.2 基本交互处理        27 

2.2.1 人的因素        27 

2.2.2 逻辑输入设备        28 

2.2.3 采样与事件驱动处理        28 

2.2.4 采样模式        30 

2.2.5 事件模式        31 

2.2.6 交互处理中的关联拾取        34 

2.2.7 设置设备度量和属性        35 

2.3 光栅图形特性        37 

2.3.1 画布        37 

2.3.2 矩形框的裁剪        39 

2.3.3 SRGP_copyPixel操作        39 

2.3.4 写模式或RasterOp        41 

2.4 SRGP的局限性        42 

2.4.1 应用程序坐标系统        42 

2.4.2 为了重新定义存储图元        43 

2.5 小结        45 

习题        45 

程序设计项目        47 

第3章 二维图元的基本光栅图形学算法        49 

3.1 概述        49 

3.1.1 显示系统体系结构的含义        49 

3.1.2 软件中的输出流水线        52 

3.2 直线的扫描转换        52 

3.2.1 基本增量算法        53 

3.2.2 中点线算法        54 

3.2.3 补充要点        57 

3.3 圆的扫描转换        59 

3.3.1 八方向对称性        59 

3.3.2 中点圆算法        60 

3.4 椭圆的扫描转换        62 

3.5 填充矩形        65 

3.6 填充多边形        66 

3.6.1 水平边        68 

3.6.2 狭长条        68 

3.6.3 边相关性和扫描线算法        68 

3.7 填充椭圆弧区域        71 

3.8 图案填充        72 

3.9 宽图元        75 

3.9.1 复制像素        75 

3.9.2 移动画笔        76 

3.9.3 填充边界之间的区域        77 

3.9.4 用宽折线进行逼近        78 

3.10 线型和笔型        78 

3.11 光栅空间的裁剪操作        79 

3.12 线段裁剪        80 

3.12.1 裁剪端点        80 

3.12.2 利用求解联立方程组的线段裁剪        81 

3.12.3 Cohen-Sutherland 线裁剪算法        81 

3.12.4 参数化的线裁剪算法        84 

3.13 圆和椭圆的裁剪        90 

3.14 多边形裁剪        90 

3.15 生成字符        93 

3.15.1 定义和裁剪字符        93 

3.15.2 一种文本输出图元的实现        95 

3.16 SRGP_copyPixel        96 

3.17 反走样        96 

3.17.1 增加分辨率        96 

3.17.2 未加权的区域采样        97 

3.17.3 加权区域采样        98 

3.17.4 Gupta-Sproull反走样线扫描算法        101 

3.18 小结        103 

习题        104 

第4章 图形硬件        107 

4.1 硬拷贝技术        108 

4.2 显示技术        113 

4.3 光栅扫描显示系统        120 

4.3.1 简单的光栅显示系统        120 

4.3.2 具有外围显示处理器的光栅显示 

系统        124 

4.3.3 显示处理器的附加功能        127 

4.3.4 具有集成显示处理器的光栅显示 

系统        129 

4.4 视频控制器        130 

4.4.1 查找表动画        131 

4.4.2 位图变换和窗口技术        132 

4.4.3 视频混合        133 

4.5 随机扫描显示处理器        134 

4.6 用于操作者交互的输入设备        136 

4.6.1 定位设备        136 

4.6.2 键盘设备        140 

4.6.3 定值设备        140 

4.6.4 选择设备        140 

4.7 图像扫描仪        141 

习题        142 

第5章 几何变换        145 

5.1 二维变换        145 

5.2 齐次坐标和二维变换的矩阵表示        147 

5.3 二维变换的合成        150 

5.4 窗口到视口的变换        152 

5.5 效率        153 

5.6 三维变换的矩阵表示        154 

5.7 三维变换的合成        157 

5.8 坐标系的变换        160 

习题        163 

第6章 三维空间的观察        165 

6.1 投影        165 

6.1.1 透视投影        166 

6.1.2 平行投影        167 

6.2 指定一个任意的三维视图        170 

6.3 三维观察的例子        173 

6.3.1 透视投影        175 

6.3.2 平行投影        177 

6.3.3 有限的视见体        179 

6.4 平面几何投影的数学        180 

6.5 实现平面几何投影        183 

6.5.1 平行投影        185 

6.5.2 透视投影        188 

6.5.3 用三维规范视见体进行裁剪        192 

6.5.4 在齐次坐标中裁剪        194 

6.5.5 映射到一个视口        197 

6.5.6 实现小结        197 

6.6 坐标系统        198 

习题        199 

第7章 对象的层次结构和简单的PHIGS 

系统        203 

7.1 几何造型        204 

7.1.1 什么是模型        204 

7.1.2 几何模型        205 

7.1.3 几何模型中的层次        205 

7.1.4 模型、应用程序和图形系统间的 

关系        207 

7.2 保留模式图形包的特点        208 

7.2.1 中央结构存储库及其优点        208 

7.2.2 保留模式软件包的局限性        209 

7.3 定义和显示结构        209 

7.3.1 打开和关闭结构        209 

7.3.2 定义输出图元及其属性        210 

7.3.3 提交结构进行显示遍历        212 

7.3.4 观察        213 

7.3.5 通过窗口管理共享屏幕的图像应用        215 

7.4 模型变换        216 

7.5 层次式结构网络        219 

7.5.1 两层层次结构        219 

7.5.2 简单的三层层次结构        220 

7.5.3 自底向上构造的机器人        221 

7.5.4 交互式造型程序        223 

7.6 显示遍历中的矩阵合成        223 

7.7 层次结构中外观属性的处理        226 

7.7.1 继承法则        226 

7.7.2 SPHIGS的属性及文字不受变换 

影响        227 

7.8 屏幕的更新和绘制模式        228 

7.9 用于动态效果的结构网络编辑        229 

7.9.1 利用索引和标记访问元素        229 

7.9.2 内部结构的编辑操作        230 

7.9.3 改进编辑方法的一些实例块        230 

7.9.4 如何控制屏幕图像的自动再生        232 

7.10 交互        232 

7.10.1 定位器        233 

7.10.2 关联拾取        233 

7.11 其他输出特性        235 

7.11.1 属性包        235 

7.11.2 高亮度与不可见性的名字集        236 

7.11.3 图像交换与元文件        236 

7.12 实现问题        237 

7.12.1 绘制        237 

7.12.2 关联拾取        240 

7.13 层次模型的优化显示        241 

7.13.1 省略        241 

7.13.2 参考结构        242 

7.14 PHIGS中层次模型的局限性        242 

7.14.1 简单层次结构的局限性        242 

7.14.2 SPHIGS“参数传递”的局限性        242 

7.15 层次建模的其他形式        243 

7.15.1 过程层次        243 

7.15.2 数据层次        244 

7.15.3 利用数据库系统        244 

7.16 小结        245 

习题        245 

第8章 输入设备、交互技术与交互任务        247 

8.1 交互硬件        248 

8.1.1 定位设备        249 

8.1.2 键盘设备        250 

8.1.3 定值设备        250 

8.1.4 选择设备        250 

8.1.5 其他设备        251 

8.1.6 三维交互设备        252 

8.1.7 设备级人的因素        254 

8.2 基本交互任务        254 

8.2.1 定位交互任务        254 

8.2.2 选择交互任务—大小可变的选项 

集合        256 

8.2.3 选择交互任务—相对固定大小的 

选项集合        259 

8.2.4 文本交互任务        264 

8.2.5 定量交互任务        265 

8.2.6 三维交互任务        266 

8.3 复合交互任务        270 

8.3.1 对话框        270 

8.3.2 构造技术        270 

8.3.3 动态操纵        273 

习题        275 

第9章 对话设计        277 

9.1 人机对话的形式和内容        278 

9.2 用户界面风格        280 

9.2.1 所见即所得        280 

9.2.2 直接操纵        281 

9.2.3 图标化用户界面        282 

9.2.4 其他对话形式        284 

9.3 一些重要的设计问题        285 

9.3.1 一致性        285 

9.3.2 提供反馈        287 

9.3.3 减少错误概率        288 

9.3.4 提供错误恢复        289 

9.3.5 容许多种熟练级别        290 

9.3.6 减少记忆        292 

9.4 模式和语法        292 

9.5 视觉设计        295 

9.5.1 视觉清晰性        295 

9.5.2 视觉编码        298 

9.5.3 视觉的一致性        300 

9.5.4 布局原则        301 

9.6 设计方法学        303 

习题        304 

第10章 用户界面软件        307 

10.1 基本的交互处理模型        307 

10.2 窗口管理系统        310 

10.3 窗口系统中的输出处理        312 

10.4 窗口系统中的输入处理        315 

10.5 交互技术工具箱        318 

10.6 用户界面管理系统        322 

10.6.1 对话序列        322 

10.6.2 高级UIMS概念        328 

习题        331 

第11章 曲线与曲面的表示        333 

11.1 多边形网格        334 

11.1.1 多边形网格的表示        334 

11.1.2 多边形网格表示法的一致性        336 

11.1.3 平面方程        336 

11.2 三次参数曲线        337 

11.2.1 Hermite曲线        341 

11.2.2 B巣ier曲线        344 

11.2.3 均匀非有理B样条曲线        346 

11.2.4 非均匀非有理B样条曲线        349 

11.2.5 非均匀有理三次多项式曲线段        355 

11.2.6 其他样条曲线        356 

11.2.7 曲线分割        358 

11.2.8 各种表示法之间的转换        360 

11.2.9 曲线绘制        360 

11.2.10 三次曲线的比较        363 

11.3 双三次参数曲面        364 

11.3.1 Hermite曲面        365 

11.3.2 B巣ier曲面        367 

11.3.3 B样条曲面        368 

11.3.4 曲面的法线        368 

11.3.5 双三次曲面的显示        369 

11.4 二次曲面        372 

11.5 小结        373 

习题        373 

第12章 实体造型        377 

12.1 实体表示        377 

12.2 正则布尔集合运算        378 

12.3 基本实体举例法        381 

12.4 扫掠表示法        381 

12.5 边界表示法        383 

12.5.1 多面体和欧拉公式        383 

12.5.2 翼边表示法        385 

12.5.3 布尔集合运算        385 

12.5.4 非多边形的边界表示法        386 

12.6 空间划分表示法        387 

12.6.1 单元分解法        387 

12.6.2 空间位置枚举法        387 

12.6.3 八叉树表示法        388 

12.6.4 二元空间划分树        392 

12.7 构造实体几何        393 

12.8 各种表示法的比较        394 

12.9 实体造型的用户界面        396 

12.10 小结        396 

习题        397 

第13章 消色差光与彩色光        399 

13.1 消色差光        399 

13.1.1 选择亮度值—gamma校正        399 

13.1.2 半色调逼近        402 

13.2 彩色        406 

13.2.1 心理物理学        407 

13.2.2 CIE色度图        409 

13.3 用于光栅图形的颜色模型        412 

13.3.1 RGB颜色模型        413 

13.3.2 CMY颜色模型        414 

13.3.3 YIQ颜色模型        415 

13.3.4 HSV颜色模型        416 

13.3.5 HLS颜色模型        418 

13.3.6 颜色的交互指定        421 

13.3.7 在颜色空间中进行插值        422 

13.4 颜色再现        422 

13.5 在计算机图形学中应用颜色        424 

13.6 小结        425 

习题        426 

第14章 可视图像真实感的探讨        429 

14.1 为什么讨论真实感        429 

14.2 基本的困难        430 

14.3 线条图的绘制技术        431 

14.3.1 多正交视图        431 

14.3.2 轴测投影和斜投影        432 

14.3.3 透视投影        432 

14.3.4 深度提示        432 

14.3.5 深度裁剪        432 

14.3.6 纹理        433 

14.3.7 颜色        433 

14.3.8 可见线的判定        433 

14.4 明暗图像的绘制技术        433 

14.4.1 可见面的判定        433 

14.4.2 光照和明暗处理        433 

14.4.3 插值明暗处理        434 

14.4.4 材质属性        434 

14.4.5 曲面造型        434 

14.4.6 改进光照和明暗效果        434 

14.4.7 纹理        434 

14.4.8 阴影        434 

14.4.9 透明性和反射        435 

14.4.10 改进的相机模型        435 

14.5 改进的物体模型        435 

14.6 动力学        435 

14.7 立体观测        436 

14.8 改进的显示技术        436 

14.9 与其他感官的交互        437 

14.10 走样与反走样        437 

14.10.1 点采样        439 

14.10.2 区域采样        439 

14.10.3 采样理论        441 

14.10.4 滤波        445 

14.10.5 重构        450 

14.10.6 实际的反走样        454 

14.11 小结        456 

习题        456 

第15章 可见面的判定        459 

15.1 双变量函数        460 

15.2 可见面判定算法中的常用技术        463 

15.2.1 相关性        464 

15.2.2 透视变换        464 

15.2.3 范围与包围体        466 

15.2.4 背面消除        467 

15.2.5 空间划分        468 

15.2.6 层次结构        469 

15.3 可见线判定算法        469 

15.3.1 Roberts算法        469 

15.3.2 Appel算法        470 

15.3.3 光环线算法        470 

15.4 z缓存算法        471 

15.5 列表优先级算法        474 

15.5.1 深度排序算法        474 

15.5.2 二元空间划分树        476 

15.6 扫描线算法        480 

15.7 区域细分算法        484 

15.7.1 Warnock算法        484 

15.7.2 Weiler-Atherton算法        486 

15.7.3 子像素区域细分算法        489 

15.8 八叉树算法        490 

15.9 曲面算法        492 

15.10 可见面光线跟踪        494 

15.10.1 相交计算        495 

15.10.2 可见面光线跟踪算法的效率        496 

15.10.3 计算布尔集合运算        501 

15.10.4 反走样光线跟踪        503 

15.11 小结        504 

习题        505 

第16章 光照和明暗处理        509 

16.1 光照模型        509 

16.1.1 环境光        509 

16.1.2 漫反射        510 

16.1.3 大气衰减        513 

16.1.4 镜面反射        514 

16.1.5 点光源模型的改进        516 

16.1.6 多光源        517 

16.2 多边形的明暗处理模型        518 

16.2.1 恒定明暗处理        518 

16.2.2 插值明暗处理        518 

16.2.3 多边形网格的明暗处理        518 

16.2.4 Gouraud 明暗处理技术        519 

16.2.5 Phong明暗处理技术        520 

16.2.6 插值明暗处理中的问题        521 

16.3 曲面细节        522 

16.3.1 曲面细节多边形        523 

16.3.2 纹理映射        523 

16.3.3 凹凸映射        524 

16.3.4 其他方法        525 

16.4 阴影        525 

16.4.1 扫描线生成阴影算法        526 

16.4.2 对象精确的两步法阴影算法        526 

16.4.3 阴影体        528 

16.4.4 两遍z缓存阴影算法        529 

16.4.5 全局光照阴影算法        531 

16.5 透明性        531 

16.5.1 无折射的透明性        531 

16.5.2 折射透明性        533 

16.6 物体间的反射        534 

16.7 基于物理的光照模型        536 

16.7.1 表面模型的改进        538 

16.7.2 微面元分布函数        538 

16.7.3 几何衰减因子        539 

16.7.4 菲涅耳项        539 

16.8 扩展光源模型        543 

16.9 光谱采样        543 

16.10 相机模型的改进        545 

16.11 全局光照算法        545 

16.12 递归光线跟踪        546 

16.12.1 递归光线跟踪算法的效率考虑        550 

16.12.2 一个更佳的照明模型        553 

16.12.3 区域采样的不同方法        553 

16.12.4 分布式光线跟踪        554 

16.12.5 从光源出发的光线跟踪        557 

16.13 辐射度方法        558 

16.13.1 辐射度方程        558 

16.13.2 计算形状因子        560 

16.13.3 子结构技术        562 

16.13.4 逐步求精算法        562 

16.13.5 更加精确的形状因子的计算        565 

16.13.6 镜面反射        565 

16.13.7 辐射度和光线跟踪的结合        565 

16.14 绘制流水线        567 

16.14.1 局部光照绘制流水线        567 

16.14.2 全局光照绘制流水线        569 

16.14.3 设计灵活的绘制法        569 

16.14.4 逐步求精方法        571 

16.15 小结        571 

习题        572 

第17章 图像处理和存储        575 

17.1 什么是图像        576 

17.2 滤波        576 

17.3 图像处理        578 

17.4 图像的几何变换        578 

17.4.1 基本几何变换        579 

17.4.2 带滤波的几何变换        581 

17.4.3 其他图案映射技术        583 

17.5 多重变换        584 

17.5.1 多重变换的代数学        585 

17.5.2 利用滤波生成变换后的图像        587 

17.5.3 评价变换方法        589 

17.6 图像合成        589 

17.6.1 a通道合成        589 

17.6.2 其他合成方法        593 

17.6.3 通过填充机制生成a值        595 

17.6.4 用于图像组装的一个界面        595 

17.7 图像存储机制        596 

17.7.1 存储图像数据        597 

17.7.2 用于图像压缩的迭代函数系统        598 

17.7.3 图像属性        600 

17.8 图像的特殊效果        601 

17.9 小结        601 

习题        601 

第18章 高级光栅图形体系结构        605 

18.1 简单光栅显示系统        605 

18.1.1 帧缓冲内存访问问题        605 

18.1.2 动态存储器        606 

18.1.3 提高帧缓冲内存带宽        607 

18.1.4 视频RAM        607 

18.1.5 高分辨率显示器的帧缓存        608 

18.2 显示处理器系统        609 

18.2.1 外部显示处理器        609 

18.2.2 德克萨斯仪器公司的TMS34020— 

单芯片外部显示处理器        610 

18.2.3 集成的图形处理器        611 

18.2.4 Intel的i860—一个具有集成3D 

图形支持的单芯片微处理器        611 

18.2.5 三个性能障碍        612 

18.3 标准图形流水线        613 

18.3.1 显示遍历        613 

18.3.2 模型变换        614 

18.3.3 简单接受/简单拒绝的区分        614 

18.3.4 光照处理        614 

18.3.5 观察变换        615 

18.3.6 裁剪        615 

18.3.7 除以w并映射到3D视口        615 

18.3.8 光栅化        615 

18.3.9 一个样板应用的性能要求        616 

18.4 多处理简介        618 

18.4.1 流水线        618 

18.4.2 并行性        619 

18.4.3 多处理器图形系统        620 

18.5 流水线前端体系结构        620 

18.5.1 应用程序和显示遍历        620 

18.5.2 几何变换        621 

18.5.3 简单接受/简单拒绝的区分        621 

18.5.4 光照处理        621 

18.5.5 裁剪        621 

18.5.6 除w并映射到3D视口        622 

18.5.7 前端流水线的限制        622 

18.6 并行前端体系结构        622 

18.6.1 显示遍历        622 

18.6.2 重组并行数据流        623 

18.6.3 流水线同并行性的比较        624 

18.7 多处理器光栅化体系机构        624 

18.7.1 以物体为序的流水线体系结构        624 

18.7.2 以图像为序的流水线体系结构        627 

18.7.3 流水线光栅化的限制和对并行性 

的需求        627 

18.8 图像并行光栅化        627 

18.8.1 内存划分体系结构        628 

18.8.2 Silicon Graphics公司的 POWER 

IRIS 4D/240GTX—一个交叉划分 

帧缓冲内存体系结构        630 

18.8.3 逻辑增强的内存        633 

18.9 物体并行光栅化        637 

18.9.1 每图元一个处理器的流水线        638 

18.9.2 基于树结构的每图元一个处理器 

的体系结构        638 

18.9.3 物体并行性和图像并行性的比较        639 

18.10 混合并行光栅化        639 

18.10.1 虚拟缓冲区和虚拟处理器        639 

18.10.2 并行虚拟缓冲区体系结构        641 

18.10.3 图像合成体系结构        642 

18.11 增强的显示能力        643 

18.11.1 对多窗口的支持        643 

18.11.2 对增加的真实感的支持        644 

18.11.3 Stellar GS2000—促进真实感绘制 

的紧密集成的体系结构        646 

18.11.4 对高级图元的支持        647 

18.11.5 对增强的3D感知的支持        649 

18.11.6 实时飞行模拟器        651 

18.12 小结        652 

习题        652 

第19章 高级几何与光栅算法        655 

19.1 裁剪        655 

19.1.1 矩形区域对直线的裁剪        656 

19.1.2 矩形和其他多边形区域对多边形 

的裁剪        659 

19.1.3 矩形区域裁剪:梁友栋-Barsky多 

边形算法        659 

19.1.4 Weiler多边形算法        665 

19.2 图元的扫描转换        671 

19.2.1 属性        671 

19.2.2 评价扫描转换算法的准则        671 

19.2.3 直线的其他考察方式        673 

19.2.4 高级折线算法        674 

19.2.5 画圆算法的改进        674 

19.2.6 一般圆锥曲线算法        676 

19.2.7 宽图元        683 

19.2.8 填充图元        685 

19.3 反走样        686 

19.3.1 直线的反走样        687 

19.3.2 圆的反走样        688 

19.3.3 圆锥曲线的反走样        690 

19.3.4 一般曲线的反走样        692 

19.3.5 矩形、多边形和直线端点的反走样        692 

19.4 文字的特殊问题        693 

19.5 填充算法        695 

19.5.1 区域类型、连通性和填充        695 

19.5.2 基本填充算法        696 

19.5.3 软填充算法        698 

19.6 加速copyPixel        700 

19.7 形状数据结构和形状代数        704 

19.8 用bitBlt管理窗口        706 

19.9 页面描述语言        708 

19.10 小结        713 

习题        713 

第20章 高级建模技术        719 

20.1 前述技术的扩展        720 

20.1.1 采用样条的高级建模技术        720 

20.1.2 基于噪声的纹理映射        722 

20.2 过程模型        724 

20.3 分形模型        725 

20.4 基于文法的模型        729 

20.5 粒子系统        732 

20.6 体绘制        735 

20.7 基于物理的建模        738 

20.7.1 基于约束的建模        738 

20.7.2 布面和柔软表面的建模        739 

20.7.3 实体建模        740 

20.7.4 地形建模        740 

20.8 模拟自然物体和合成物体的特殊 

模型        740 

20.8.1 波浪        741 

20.8.2 云层和气象        741 

20.8.3 湍流        743 

20.8.4 滴状物体        743 

20.8.5 生物        744 

20.8.6 人        745 

20.8.7 来自于娱乐业的一个例子        745 

20.9 自动放置物体        746 

20.10 小结        748 

习题        749 

第21章 动画        751 

21.1 传统动画和计算机辅助动画        751 

21.1.1 传统动画        751 

21.1.2 计算机辅助动画        752 

21.1.3 插值        752 

21.1.4 简单的动画效果        755 

21.2 计算机动画语言        756 

21.2.1 线性表表示法        756 

21.2.2 通用计算机语言        757 

21.2.3 图形语言        757 

21.3 动画控制方法        760 

21.3.1 完全显式的控制        760 

21.3.2 过程化控制        760 

21.3.3 基于约束的系统        760 

21.3.4 真实动作跟踪        762 

21.3.5 演员        762 

21.3.6 运动学和动力学        762 

21.3.7 基于物理的动画        764 

21.4 动画的基本规则        765 

21.5 动画特有的一些问题        765 

21.6 小结        767 

习题        767 

附录 计算机图形学的数学基础        769 

参考文献        793 

索引        833 


PDF太大就不上传了 ,CSDN免费下载

网盘
链接: https://pan.baidu.com/s/1gfagBFP 

密码: 隐藏内容,回复可看

最新回复 [2]
  • shutong 6月前
    0 2
    看看,学习一下
  • admin 6月前
    0 3
    shutong 看看,学习一下
    这个是真不错
返回