第1章 光源、摄像机和网格几何体 1
三维坐标 7
空间点 8
向量介绍 10
定义3D图形 14
光源和摄像机 17
Viewport3D类及其构成 20
对代码和标记语言的改动 23
视场 26
定义平坦矩形 30
定义“实心”图形对象 34
平衡各种光源 36
正交投影 39
为什么不共用顶点 42
透明度 44
类的整理 46
第2章 变换与动画 49
不借助变换的动画 50
对集合类的操作 56
Transform3D类 62
平移变换 65
可共享模型 71
比例变换 80
平移变换与比例变换的组合 83
如何构建座椅 85
第3章 轴旋转或角度旋转 91
旋转变换 91
旋转和其他变换的组合 101
击中测试技术介绍 114
轴的动画处理 128
第4章 光照与明暗效果 131
关于照明 132
向量运算 143
DiffuseMaterial及其属性 150
SpotLight与PointLight 155
第5章 纹理与材质 163
渐变画刷 163
平铺画刷 171
基于位图的画刷 172
效率问题 186
基于绘图的画刷 187
VisualBrush画刷 195
反射材质和放射材质 201
第6章 网格计算几何 209
三角剖分基础 209
参数方程 210
球面的参数方程 211
球面的三角剖分 213
继承引发的问题 220
三角剖分资源 221
资源机制 221
依赖属性与动画 226
将对象转换到XAML 238
从ModelVisual3D派生新类 239
Petzold.Media3D库 244
网格几何类 245
在Visual Studio中使用该库 246
通过XamlCruncher 2.0使用该库 250
在独立XAML中使用该库 251
ModelVisual3D的派生类 251
第7章 矩阵变换 255
线性变换 255
回顾矩阵代数 256
矩阵和变换 257
使用MatrixTransform3D类 258
仿射变换及其推广 265
二维类推 265
三维齐次坐标 270
复合变换 275
逆变换 278
坐标变换 279
复合旋转 285
摄像机变换 287
观察矩阵 287
投影矩阵 289
MatrixCamera的使用 293
用2D单位表示3D图形 294
第8章 四元数 297
使用复数的好处 298
哈密尔顿与四元数 304
四元数为何如此怪异? 306
Quaternion结构 306
四元数与旋转 311
底层四元数旋转 313
四元数与旋转矩阵 316
SLERP与动画 318
第9章 实战秘笈 325
控件模板 325
数据的3D可视化 335
真实对象的模拟 342
交互式鼠标跟踪 351
3D打印 357
双色立体图 364
索引 369