内容简介
目 录
编译者序
如何使用本书
程序清单
第一部份
基础知识
1 基本概念
三维图形重要吗?
哪里使用三维图形?
三维图形初步
三维图形学:定义
图形适配器
2硬件
图形模式
图形适配器如何工作
显示存储器映象
图形程序的可移植性
图形适配器标准
实例研究
显示器
3软件
C的优势1:灵活性
C的优势2:高效性
C的优势3:速度
使用C编译器编程:概述
集成C编程环境
编程周期
典型QuickC编程环境
集成C编译器如何工作
典型TurboC编程环境
存储器管理
4程序控制
C程序结构
C程序的控制
C运算符
C的循环控制
C的分支指令
使用C变量
C程序的可移植性
使用C数组
语法的可移植性
与C编译器通信
5 图形控制
基本图形功能
建立图形模式
高级图形功能
图形语法
6使用QuickC
系统内存映象
DOS环境
QLB库:软驱系统
实例研究:运行一个典型的C程序
程序分析
常见错误信息
生成EXE文件
7 使用TurboC
系统内存映象
DOS环境
实例研究:运行一个典型的C程序
程序分析
常见错误信息
生成EXE文件
8三维图象的概念
空间坐标
第二部份
生成三维模型
模型的元素
B—rep造型
例化
子物体
显示方式
9 三维图形变换
三维变换算法
旋转公式
平移公式
投影公式
角度失真
弧度和度
旋转——平移顺序
物体比例的考虑
10立方体
线型立方体
全局变量和局部变量
主函数
变量的初始化
消除隐藏面
平面公式法
物体空间和图象空间
实心立方体——平面公式法消隐
平面公式法消隐子程序
优化的数据库
Key—Matte方法
三维造型的通用算法
11球和圆柱体
实心球
区域填充的种子点
显示器的精度
实心圆柱
12三维曲面
三次样条曲线
三维自由曲线
13模型表面映射
表面映射
立方体表面映射
圆柱表面映射
14多模型显示
隐藏面消除法种类
消除隐蔽面的方法
径向预排序法
径向排序法
平面公式法
隔离平面法
深度排序法
光线跟踪法
分解法
Z缓冲区法
扫描线法
极值法
关于程序设计的一些问题
适合于C的方法
第三部份
光照与明暗处理
15光照与明暗效果
明暗算法
平色调技术
平滑明暗技术
入射角
光照与反射
漫反射
环境反射
表面的类型
镜面反射
光线跟踪
物体的颜色
PC机上的漫射与明暗
16 PC机的明暗模式
半色调
半色调演示程序
BIT TILING的两种策略
线抖动
具体算法
演示程序:立方体的明暗模型
一般算法
17计算机控制的明暗模型
illumination()子程序
shade()子程序
dither()子程序
进一步的尝试
演示程序:球体的明暗模型
演示程序:圆柱的明暗模型
18反射与阳光
镜面反射
几何阴影
演示程序:镜面反射
帧动画
BITBLT动画
19三维动画的概念
第四部份
动 画
实时动画
三种动画技术的优缺点
其他动画技术
20帧动画
达到硬件速度的软件
选择图形模式
演示程序:复杂三维实体的帧动画
绘制模型的过程
用本程序做些尝试
动画的管理程序
main()函数
帧动画的潜力
21实时动画
实时动画的原理
改善实时动画效果的四种技巧
演示程序:立方体的实时动画
程序的工作过程
实时动画的潜力
22实例研究:包装设计
准备包装盒
准备表面图案
演示程序:包装盒设计
程序如何工作
对程序的强化
硬件方面的考虑
23实例研究:飞行模拟器
飞行模拟的三维变换
空战模拟的三维变换
飞机驾驶方法
程序如何工作
动画循环过程
用源程序做实验
24实例研究:一拉罐设计
程序如何工作
A C图形数学知识
移动光源
附 录
三角原理
等比原理
弧度法
隐藏面消除
向量乘法
计算机控制明暗处理
三维旋转公式
三次参数曲线
B C图形存取例程
VGA和EGA屏幕图象存取
CGA屏幕图象存取
C变量词典
D IBM RT的计算机图形