封面
书名
版权
前言
目录
前言
绪论
0.1 本书的组织
0.2 第一部分
0.2.1 数学模块
0.2.2 图形面模块
0.2.3 使用这些模块
0.3 第二部分
0.3.1 光线追踪理论
0.3.2 光线追踪程序
0.3.3 光线——物体相交测试
0.3.4 阴影、纹理和光照
0.3.5 复习光线追踪程序代码
0.3.6 怎样使用光线追踪程序
0.4 第三部分
0.5 第四部分
0.6 第五部分
0.7 第六部分
0.8 第七部分
0.9 软件和硬件要求
0.10 总结
第一部分 标准和通用模块
第一章 标准和C语言
1.1 为什么选用C语言
1.2 编程语言的概念
1.3 变量和数据类型
1.4 运算符
1.5 程序控制
1.6 函数
1.7 宏
1.8 指针和数组
1.9 内存
1.10 结构
1.11 typedef
1.12 输入输出(I/O)
1.13 文件I/O
1.14 编程风格
1.15 参考读物
1.16 光线跟踪
第二章 数学模块
2.1 头文件
2.1.1 BkDefs.文件
2.1.2 BkMath. 头文件
2.2 编译这些模块
2.3 Bkath.C 程序
2.4 基本数学函数
2.4.1 Radians和Degrees函数
2.4.2CosD和SinD 函数
2.4.3 Power函数
2.4.5 Log函数
2.4.6 Exp10函数
2.4.7 Sign和Intsign函数
2.4.8 IntSqrt 函数
2.4.9 IntPower函数
2.4.10 MIIN和MAX函数
2.5 向量和矩阵函数
2.5.1 Vec和VecInt函数
2.5.2 UnVec 和UnVecInt函数
2.5.3 VeDot函数
2.5.4 V ecCross函数
2.5.5 VecLen函数
2.5.6 VecNormalize函数
2.5.7 V ecMatxMult函数
2.5.8 VecSub和VecSubInt函数
2.5.9 VeeAdd 函数
2.5.10 VecAdd3 函数
2.5.11 VecCopy和VecCopyInt函数
2.5.12VecLinComb函数
2.5.13 VecScalMult\VecscalMultl和VecScalMultInt函数
2.5.14 VecAddScalMultl和VecScalMultInt函数
2.5.15 VecNull 和VecNulllnt函数
2.5.16 VecElemMult函数
2.5.17 VecMin和VecMax函数
2.5.18 VccNegate函数
2.6 仿射变换例程
2.6.1 ZeroMdtrlx函数
2.6.2 Translate3D函数
2.6.3 Scale3D函数
2.6.4 Rotate3D函数
2.6.5 Muluply3D函数
2.6.6 MatCopy函数
2.6.7 PrepareMatnx 函数
2.6.8 PrepareInvMatrix
2.6.9Tansform 函数
2.7 伪随机数的生成
2.7.1 InitRand 函数
2.7.2 Rand函数
2.7.3 RandInt函数
第三章 图形界面模块
3.1 BkGlobs.H头文件
3.2 BkGraph.H头文件
3.3 BkGraph.C程序
3.3.1 Plot函数
3.3.2 Clear_Palette函数
3.3.3 Set_Palette函数
3.3.4 Imt_Palette
3.3.5 Imt_Palette 函数
3.3.6 CyCle_Palette函数
3.3.7 Swap函数
3.3.8 Circle函数
3.3.9 Line函数
3.3.10 MinI和MaxI函数
3.3.11 Tmvial Reject函数
3.3.12 Chp_To_Screen函数
3.3.13 Imt_Graphics函数
3.3.14 Set_Graphics_Mode函数
3.3.15 Wait_For_Key函数
3.3.16 Exit_Graphics函数
3.3.17 Fitle 函数
3.4 二维画图函数
3.4.1 Init_Plotting函数
3.4.2 Init_Perspective函数
3.4.3 Map_Coordmates函数
3.4.5 Cartesian_Plot_3D函数
3.4.6 Cylmdrical_Plot_3D函数
3.4.7 Spherical Plot_3D函数
3.4.8 Draw_Line_3D函数
3.5 像素函数
3.5.1 Put)_Pixel函数
3.5.2 Get_Pixel函数
3.6 设置坐标轴和调色板的函数
3.6.1 Put_Axis_And _Palette函数
3.6.2 Display_Axis函数
3.6.3 Display_Palette函数
3.6.4 Axis_And_Palette 函数
3.7 使用模块
第四章 使用模块
4.1 Crystal.C文件
4.2 Plants.C 文件
4.3 S移花接木——3D,C程序
4.4 三维圆周运动模拟示例程序
4.5 真实物体
第二部分 光线追踪
第五章 光线追踪程序数学模块
第六章 光线追踪理论
6.1 即时光线追踪
6.2 光线的反射
6.3 折射
6.4 问题,问题,问题!
6.5 答案,答案,答案!
6.6 细节
第七章 光线追踪程序
7.1 投影
7.2 图像质量和变形
7.3 防变形方法
7.4 均匀采样
7.5 统计密集采样
7.6 结果
7.7 简单的照像机模型
7.8 trace函数
7.9 背景
第八章 光线—物体相交测试
8.1 物体的定义
8.1.1 光线的参数表示
8.1.2 与球面相交
8.1.3 与二次曲面相交
8.2 曲面法线计算
8.3 与平面物体相交
8.4 三角形小块
8.5 构造复杂物体
8.6 构造实体几何
8.6.1 包围体
8.6.2 包围面
8.7 层次树
8.8 搜索物体
8.9 其它算法
第九章 看见光亮
9.1 阴影模型
9.1.1 背景色(K)
9.1.2 漫反射颜色(K)
9.1.3 镜面反射迭加(K)
9.1.4 反射率(K)及折射率(K)
9.2 纹理,纹理,纹理
9.3 映射图象
9.4 实体纹理构造
9.5 噪声及扰动
9.6 实体纹理样式
9.7 球面纹理
9.8 制造波纹
9.9 凹凸纹理
9.10 大气
9.11 阴影
9.12 关于代码
第十章 光线追踪程序代码
10.1 分离和解释程序
10.1.1 预处理
10.1.2 记号分析程序
10.2 基本体文件
10.3 扫描
10.4 追踪
10.5 相交
10.6 包围平面
10.7 阴影处理
10.8 通向BOB的途径
10.9 内存问题
10.10 构成画面
第十一章 如何使用光线追踪程序
11.1 运行Bob
11.2 Bob
11.3 统计数字
11.4 输入文件(B)格式
11.5 输入文件布局
11.6 预处理程序
11.6.1 宏
11.6.2 包含指令
11.7 EDL分析程序
11.7.1 studio结构
11.7.2 studio参数
11.8 光源
11.9 表面
11.9.1 凹凸纹理
11.9.2 加纹理的表面
11.10 基本体
11.10.1 球
11.10.2 环
11.10.3 多边形
11.10.4 三角形小块
11.10.5 圆锥
11.11 变换
11.12 图像纹理
11.13剪切
11.14有关说明
第三部分 生成光线追踪程序所城需的物体数据库
第十二章 过程物体数据库
12.1 生长的树
12.2 环形与环面
12.3 一个令人困惑的物体
12.5一块吸收性极好的海绵
12.6 一个六角形
12.7 更为复杂的数据库
第十三章 Z缓冲区数据
13.1 Z缓冲区数据的线框轮廓
13.2 光线追踪的Z缓冲区数据库
13.3 生成Z缓冲区数据库的程序
13.4 生成Z缓冲区数据库的分形程序
13.5 三维Mandelbrot集
13.6 三维Julia集
13.7 使用四元数的分形
13.8 四元数数学
13.9 生成四元数分形数据库
13.10 地形Z缓冲区
13.11 Smooth.EXE
13.12 移动山脉
第四部分 物体数据库的CAD产品
第十四单章 三维数据库建横器
14.1 数据库建模程序的功能
14.1.1 基本体支持和操作
14.1.2 物体支持和操作
14.1.3 适当时间内生成数据库视图
14.1.4 在数据库内部自由移动
14.1.5 陷藏数据库细节
14.2 层次结构的重要性
14.2.1 重复利用性
14.2.2 灵活性
14.2.3 区域性和可扩展性
14.2.4 高效性
14.3 Bob的数据库层次:基本体、物体、画面
14.4Eb:Bob 的简单数据库建模程序
14.4.1 启动Ed
14.4.2 Ed 屏幕
14.4.3 告诉Ed 做什么
14.4.4系统参数
14.5 系统模式
14.5.1 读写画面文件
14.5.2 移动观察点
14.5.3 选择物体
14.5.4 实例化及删除物体
14.5.5 编辑物体位置和比例
14.5.6 修改studto定义
14.5.7 编辑studio参数
14.5.8 退出studio模式
14.5.9 编辑物体
14.5.10 编辑物体结构
14.5.11 多边形的一个特例
14.5.12 编辑物体特征
14.5.13 退出物体模式
14.5.14 退出Ed
14.6 Ed源代码总览
14.6.1 Ed源代码使用的规则
14.6.2 Ed 基本数据结构
14.6.3 Ed全局变量
14.6.4 Ed主要的程序元素
14.6 Ed输出文件的局限
第五部分 计算机图形学的图像处理技术
第十五章 图像处理
15.1 IMG2GIF.C
15.1.1 直接指定调色板
15.1.2 多数法
15.1.3 中分法
15.1.4 固定调色板
15.2 有趣有益的抖动法
15.3 建立,GIF文件
15.4 IMG2GIF.C技术说明
15.5 文件格式
15.5.1 Bob的.IMG文件格式
15.5.2 Palette.MAP文件格式
15.6 改善图像质量
15.7 图像显示
第六部分 图形硬件
第十六章 图形硬件驱动程序
16.1 24位颜色
16.2 Bob 结束语
第七部分 本书之外内容
第十七章 超越Bob
17.1 制作图形
17.2 动画
17.2.1 车轮
17.2.2 运动模糊
17.2.3纹理问题
17.3 实时光线追踪
17.4 高级光照模型
17.5 辐射
17.5.1 更多的近似
17.5.2 为何使用辐射模型
17.6 真实三维图像
17.7 何去何从