Preface |
|
xiii | |
About the Author |
|
xvii | |
|
|
1 | (32) |
|
|
2 | (2) |
|
1.2 The heritage of animation |
|
|
4 | (5) |
|
|
4 | (2) |
|
1.2.2 The early days of "conventional" animation |
|
|
6 | (1) |
|
|
7 | (1) |
|
1.2.4 Contributions of others |
|
|
8 | (1) |
|
1.2.5 Other media for animation |
|
|
8 | (1) |
|
|
9 | (6) |
|
1.3.1 Principles of animation |
|
|
10 | (2) |
|
1.3.2 Principles of filmmaking |
|
|
12 | (2) |
|
|
14 | (1) |
|
1.4 Computer animation production |
|
|
15 | (7) |
|
1.4.1 Computer animation production tasks |
|
|
16 | (2) |
|
|
18 | (2) |
|
|
20 | (1) |
|
|
21 | (1) |
|
1.5 A brief history of computer animation |
|
|
22 | (7) |
|
1.5.1 Early activity (pre-1980) |
|
|
22 | (3) |
|
1.5.2 The middle years (the 1980s) |
|
|
25 | (1) |
|
1.5.3 Animation comes of age (the mid-1980s and beyond) |
|
|
26 | (3) |
|
|
29 | (4) |
|
Chapter 2 Technical Background |
|
|
33 | (28) |
|
2.1 Spaces and transformations |
|
|
33 | (19) |
|
2.1.1 The display pipeline |
|
|
34 | (4) |
|
2.1.2 Homogeneous coordinates and the transformation matrix |
|
|
38 | (2) |
|
2.1.3 Concatenating transformations: multiplying transformation matrices |
|
|
40 | (1) |
|
2.1.4 Basic transformations |
|
|
40 | (2) |
|
2.1.5 Representing an arbitrary orientation |
|
|
42 | (4) |
|
2.1.6 Extracting transformations from a matrix |
|
|
46 | (1) |
|
2.1.7 Description of transformations in the display pipeline |
|
|
47 | (1) |
|
2.1.8 Error considerations |
|
|
48 | (4) |
|
2.2 Orientation representation |
|
|
52 | (8) |
|
2.2.1 Fixed-angle representation |
|
|
54 | (2) |
|
2.2.2 Euler angle representation |
|
|
56 | (1) |
|
2.2.3 Angle and axis representation |
|
|
57 | (1) |
|
2.2.4 Quaternion representation |
|
|
58 | (2) |
|
2.2.5 Exponential map representation |
|
|
60 | (1) |
|
|
60 | (1) |
|
Chapter 3 Interpolating Values |
|
|
61 | (50) |
|
|
61 | (4) |
|
3.1.1 The appropriate function |
|
|
62 | (3) |
|
|
65 | (1) |
|
3.2 Controlling the motion of a point along a curve |
|
|
65 | (26) |
|
3.2.1 Computing arc length |
|
|
66 | (12) |
|
|
78 | (2) |
|
|
80 | (6) |
|
3.2.4 General distance-time functions |
|
|
86 | (4) |
|
3.2.5 Curve fitting to position-time pairs |
|
|
90 | (1) |
|
3.3 Interpolation of orientations |
|
|
91 | (5) |
|
3.3.1 Interpolating quaternions |
|
|
91 | (5) |
|
|
96 | (12) |
|
|
96 | (1) |
|
3.4.2 Orientation along a path |
|
|
96 | (4) |
|
|
100 | (6) |
|
3.4.4 Determining a path along a surface |
|
|
106 | (2) |
|
|
108 | (1) |
|
|
108 | (3) |
|
Chapter 4 Interpolation-Based Animation |
|
|
111 | (50) |
|
|
111 | (4) |
|
|
115 | (4) |
|
4.2.1 Artist-oriented animation languages |
|
|
116 | (1) |
|
4.2.2 Full-featured programming languages for animation |
|
|
116 | (1) |
|
4.2.3 Articulation variables |
|
|
117 | (1) |
|
4.2.4 Graphical languages |
|
|
117 | (1) |
|
4.2.5 Actor-based animation languages |
|
|
118 | (1) |
|
|
119 | (16) |
|
4.3.1 Picking and pulling |
|
|
119 | (2) |
|
4.3.2 Deforming an embedding space |
|
|
121 | (14) |
|
4.4 Three-dimensional shape interpolation |
|
|
135 | (12) |
|
|
136 | (1) |
|
4.4.2 Star-shaped polyhedra |
|
|
137 | (1) |
|
|
137 | (2) |
|
|
139 | (6) |
|
4.4.5 Recursive subdivision |
|
|
145 | (2) |
|
4.5 Morphing (two-dimensional) |
|
|
147 | (12) |
|
4.5.1 Coordinate grid approach |
|
|
147 | (6) |
|
4.5.2 Feature-based morphing |
|
|
153 | (6) |
|
|
159 | (2) |
|
Chapter 5 Kinematic Linkages |
|
|
161 | (26) |
|
5.1 Hierarchical modeling |
|
|
162 | (9) |
|
5.1.1 Data structure for hierarchical modeling |
|
|
164 | (6) |
|
5.1.2 Local coordinate frames |
|
|
170 | (1) |
|
|
171 | (1) |
|
|
172 | (13) |
|
5.3.1 Solving a simple system by analysis |
|
|
173 | (1) |
|
|
174 | (4) |
|
5.3.3 Numeric solutions to IK |
|
|
178 | (7) |
|
|
185 | (1) |
|
|
185 | (2) |
|
|
187 | (12) |
|
6.1 Motion capture technologies |
|
|
187 | (1) |
|
6.2 Processing the images |
|
|
188 | (2) |
|
|
190 | (1) |
|
6.4 Three-dimensional position reconstruction |
|
|
191 | (2) |
|
|
192 | (1) |
|
|
192 | (1) |
|
6.5 Fitting to the skeleton |
|
|
193 | (2) |
|
6.6 Output from motion capture systems |
|
|
195 | (1) |
|
6.7 Manipulating motion capture data |
|
|
196 | (2) |
|
6.7.1 Processing the signals |
|
|
196 | (1) |
|
6.7.2 Retargeting the motion |
|
|
197 | (1) |
|
|
197 | (1) |
|
|
198 | (1) |
|
Chapter 7 Physically Based Animation |
|
|
199 | (52) |
|
7.1 Basic physics---a review |
|
|
200 | (2) |
|
|
202 | (1) |
|
7.2 Spring animation examples |
|
|
202 | (3) |
|
|
202 | (3) |
|
|
205 | (1) |
|
|
205 | (4) |
|
7.3.1 Particle generation |
|
|
206 | (1) |
|
7.3.2 Particle attributes |
|
|
207 | (1) |
|
7.3.3 Particle termination |
|
|
207 | (1) |
|
|
207 | (1) |
|
|
207 | (1) |
|
7.3.6 Particle system representation |
|
|
208 | (1) |
|
7.3.7 Forces on particles |
|
|
208 | (1) |
|
|
209 | (1) |
|
7.4 Rigid body simulation |
|
|
209 | (26) |
|
7.4.1 Bodies in free fall |
|
|
210 | (9) |
|
7.4.2 Bodies in collision |
|
|
219 | (13) |
|
7.4.3 Dynamics of linked hierarchies |
|
|
232 | (3) |
|
|
235 | (9) |
|
7.5.1 Direct modeling of folds |
|
|
237 | (3) |
|
7.5.2 Physically based modeling |
|
|
240 | (4) |
|
7.6 Enforcing soft and hard constraints |
|
|
244 | (5) |
|
7.6.1 Energy minimization |
|
|
244 | (3) |
|
7.6.2 Space-time constraints |
|
|
247 | (2) |
|
|
249 | (2) |
|
Chapter 8 Fluids: Liquids and Gases |
|
|
251 | (32) |
|
8.1 Specific fluid models |
|
|
251 | (19) |
|
|
251 | (11) |
|
8.1.2 Modeling and animating clouds |
|
|
262 | (6) |
|
8.1.3 Modeling and animating fire |
|
|
268 | (2) |
|
|
270 | (1) |
|
8.2 Computational fluid dynamics |
|
|
270 | (10) |
|
8.2.1 General approaches to modeling fluids |
|
|
271 | (1) |
|
|
272 | (4) |
|
8.2.3 Grid-based approach |
|
|
276 | (1) |
|
8.2.4 Particle-based approaches including smoothed particle hydrodynamics |
|
|
277 | (3) |
|
|
280 | (3) |
|
Chapter 9 Modeling and Animating Human Figures |
|
|
283 | (34) |
|
9.1 Overview of virtual human representation |
|
|
283 | (7) |
|
9.1.1 Representing body geometry |
|
|
284 | (1) |
|
9.1.2 Geometry data acquisition |
|
|
285 | (1) |
|
9.1.3 Geometry deformation |
|
|
286 | (1) |
|
|
286 | (1) |
|
9.1.5 Layered approach to human figure modeling |
|
|
287 | (3) |
|
9.2 Reaching and grasping |
|
|
290 | (8) |
|
|
290 | (3) |
|
|
293 | (1) |
|
|
293 | (2) |
|
9.2.4 Coordinated movement |
|
|
295 | (1) |
|
9.2.5 Reaching around obstacles |
|
|
296 | (1) |
|
|
297 | (1) |
|
|
298 | (11) |
|
9.3.1 The mechanics of locomotion |
|
|
298 | (5) |
|
9.3.2 The kinematics of the walk |
|
|
303 | (1) |
|
9.3.3 Using dynamics to help produce realistic motion |
|
|
303 | (5) |
|
9.3.4 Forward dynamic control |
|
|
308 | (1) |
|
|
308 | (1) |
|
|
309 | (2) |
|
|
309 | (1) |
|
|
309 | (2) |
|
|
311 | (6) |
|
Chapter 10 Facial Animation |
|
|
317 | (22) |
|
|
317 | (3) |
|
10.1.1 Anatomic structure |
|
|
317 | (2) |
|
10.1.2 The facial action coding system |
|
|
319 | (1) |
|
|
320 | (7) |
|
10.2.1 Creating a continuous surface model |
|
|
322 | (3) |
|
|
325 | (2) |
|
|
327 | (6) |
|
10.3.1 Parameterized models |
|
|
327 | (1) |
|
|
327 | (2) |
|
|
329 | (3) |
|
|
332 | (1) |
|
|
332 | (1) |
|
|
333 | (2) |
|
10.4.1 Articulators of speech |
|
|
333 | (1) |
|
|
334 | (1) |
|
|
335 | (1) |
|
|
335 | (1) |
|
|
335 | (4) |
|
Chapter 11 Behavioral Animation |
|
|
339 | (26) |
|
|
342 | (10) |
|
|
342 | (9) |
|
11.1.2 Prey-predator behavior |
|
|
351 | (1) |
|
11.2 Knowledge of the environment |
|
|
352 | (2) |
|
|
352 | (1) |
|
|
353 | (1) |
|
11.3 Modeling intelligent behavior |
|
|
354 | (4) |
|
11.3.1 Autonomous behavior |
|
|
354 | (2) |
|
11.3.2 Expressions and gestures |
|
|
356 | (1) |
|
11.3.3 Modeling individuality: personality and emotions |
|
|
357 | (1) |
|
|
358 | (3) |
|
|
359 | (1) |
|
11.4.2 Internal structure |
|
|
359 | (1) |
|
|
360 | (1) |
|
11.4.4 Managing n-squared complexity |
|
|
360 | (1) |
|
|
361 | (1) |
|
|
361 | (4) |
|
Chapter 12 Special Models for Animation |
|
|
365 | (22) |
|
|
365 | (7) |
|
12.1.1 Basic implicit surface formulation |
|
|
365 | (2) |
|
12.1.2 Animation using implicitly defined objects |
|
|
367 | (1) |
|
12.1.3 Collision detection |
|
|
368 | (1) |
|
12.1.4 Deforming the implicit surface as a result of collision |
|
|
368 | (3) |
|
|
371 | (1) |
|
|
372 | (1) |
|
|
372 | (10) |
|
12.2.1 A little bit of botany |
|
|
372 | (2) |
|
|
374 | (5) |
|
12.2.3 Animating plant growth |
|
|
379 | (2) |
|
|
381 | (1) |
|
12.3 Subdivision surfaces |
|
|
382 | (2) |
|
|
384 | (3) |
Appendix A Rendering Issues |
|
387 | (20) |
Appendix B Background Information and Techniques |
|
407 | (96) |
Index |
|
503 | |