本书介绍的OpenGL是由Microsoft Visual C++2005开发平台提供的OpenGL。本书详细介绍如何在Microsoft Visual C++2005环境下基于MFC(Microsoft Foundation Classes,微软基础类)开发OpenGL应用程序。这样,一方面可以利用MFC提供的图形用户界面程序设计技术编写人机交互程序,另一方面可以利用OpenGL技术进行各种图形绘制。本书还可以用作学习OpenGL的入门性教材。
本书整理了现有动画算法和编程的资料,提取其中基础的部分,结合作者及同事和学生的各种实践经验,力求使得所介绍的动画算法和编程方法更加容易理解,从而让更多的人能够了解计算机动画,并进行计算机动画算法设计和编程实践。本书共8章,内容包括:计算机动画图形和数学基础知识,OpenGL动画编程方法,关键帧动画和变体技术,自由变形方法,粒子系统和关节动画等。本书属于计算机动画算法设计和软件编程的入门级教学参考书,同时也可以作为学习OpenGL和计算机图形学的参考书。
第1章 绪论/1
1.1 动画片基本原理和基本概念/1
1.2 动画片制作过程/2
1.3 动画片历史简介/3
1.4 计算机动画简介/4
1.5 提高计算机动画效果的基本手法/5
习题/9
第2章 图形坐标与基本变换/10
2.1 点和向量/10
2.2 矩阵/14
2.3 二维基本图形变换/17
2.4 三维基本图形变换/19
2.5 齐次坐标和基本图形变换/20
习题/23
第3章 OpenGL动画编程/24
3.1 基本程序/24
3.1.1 基本MFC应用程序的生成/25
3.1.2 基于MFC的基本OpenGL应用程序生成/28
3.2 投影变换和视口变换/43
3.3 OpenGL基本图形元素和模型变换/50
3.3.1 基本图形元素/51
3.3.2 模型变换/56
3.4 真实感绘制/60
3.4.1 OpenGL真实感绘制基本程序/60
3.4.2 纹理映射/67
3.5 二次曲面和基本实体模型/82
3.5.1 二次曲面/82
3.5.2 基本实体模型/87
3.6 基于OpenGL的动画编程/94
习题/104
第4章 图形基础/105
4.1 Bézier曲线和曲面/105
4.2 B样条曲线和曲面/109
4.3 NURBS曲线和曲面/112
习题/114
第5章 关键帧动画和变体/115
5.1 关键帧插值/115
5.2 基于网格的图像变体技术/120
5.3 Minkowski和/123
习题/124
第6章 自由变形/125
6.1 二维自由变形/125
6.2 三维自由变形/128
6.3 自由变形的进展小结/130
习题/131
第7章 粒子系统/132
7.1 基本原理/132
7.2 基于粒子系统的礼花设计/133
习题/156
第8章 关节动画/157
8.1 正向运动学/157
8.2 初等矩阵/160
8.3 Moore-Penrose广义逆矩阵/162
8.4 逆向运动学/164
8.5 相关研究方向小结/168
习题/169
附录A 算法索引/170
附录B 图的索引/171
附录C 表的索引/173
附录D 例程索引/174
附录E 函数说明索引/175
参考文献/177