Available:*
Library | Item Barcode | Call Number | Material Type | Item Category 1 | Status |
---|---|---|---|---|---|
Searching... | 30000010302497 | TR897.7 P36 2012 | Open Access Book | Book | Searching... |
On Order
Summary
Summary
Driven by demand from the entertainment industry for better and more realistic animation, technology continues to evolve and improve. The algorithms and techniques behind this technology are the foundation of this comprehensive book, which is written to teach you the fundamentals of animation programming.
In this third edition, the most current techniques are covered along with the theory and high-level computation that have earned the book a reputation as the best technically-oriented animation resource. Key topics such as fluids, hair, and crowd animation have been expanded, and extensive new coverage of clothes and cloth has been added. New material on simulation provides a more diverse look at this important area and more example animations and chapter projects and exercises are included. Additionally, spline coverage has been expanded and new video compression and formats (e.g., iTunes) are covered.
Author Notes
Rick Parent is a Professor in the Computer Science and Engineering (CSE) Department of Ohio State University (OSU). As a graduate student, Rick worked at the Computer Graphics Research Group (CGRG) at OSU under the direction of Charles Csuri. In 1977, he received his Ph.D. from the CSE Department (then known as the Computer and Information Science, or CIS, Department) majoring in Artificial Intelligence. For the next three years, he worked at CGRG first as a Research Associate, and then as Associate Director. In 1980 he co-founded and was President of The Computer Animation Company. In 1985, he joined the faculty of the CIS Department at OSU. Rick's research interests include various aspects of computer animation with special focus on animation of the human figure. Recently, he has worked on facial animation and on using model-based techniques to track human figures in video.
Reviews 1
Choice Review
This second edition of Computer Animation (1st ed., CH, Mar'02, 39-4013) by Parent (Ohio State Univ.) is a valuable work for upper-level students. It discusses new developments in animation technology and updates and expands various topics including quaternions, natural phenomena, facial animation, and inverse kinematics. Since all of the computer graphics topics discussed in the book are based on rather advanced mathematical concepts, students must have a solid background in mathematics. In addition, most of the topics constitute serious programming challenges, for which a solid programming background in C, C++, DirectX, or OpenGL is necessary. The primary audience will be students in graduate computer graphics and video games development programs. Some introductory chapters might be well suited for advanced undergraduate courses. The companion Web site, which contains project files for 3-D rendering software as well as the code, is particularly important. Students often have significant difficulties in applying theoretical knowledge to practical applications. The presence of the companion code enables this transition. Summing Up: Recommended. Upper-division undergraduate through professional collections. J. Brzezinski DePaul University
Table of Contents
Preface | p. xiii |
About the Author | p. xvii |
Chapter 1 Introduction | p. 1 |
1.1 Motion perception | p. 2 |
1.2 The heritage of animation | p. 4 |
1.2.1 Early devices | p. 4 |
1.2.2 The early days of "conventional" animation | p. 6 |
1.2.3 Disney | p. 7 |
1.2.4 Contributions of others | p. 8 |
1.2.5 Other media for animation | p. 8 |
1.3 Animation production | p. 9 |
1.3.1 Principles of animation | p. 10 |
1.3.2 Principles of filmmaking | p. 12 |
1.3.3 Sound | p. 14 |
1.4 Computer animation production | p. 15 |
1.4.1 Computer animation production tasks | p. 16 |
1.4.2 Digital editing | p. 18 |
1.4.3 Digital video | p. 20 |
1.4.4 Digital audio | p. 21 |
1.5 A brief history of computer animation | p. 22 |
1.5.1 Early activity (pre-1980) | p. 22 |
1.5.2 The middle years (the 1980s) | p. 25 |
1.5.3 Animation comes of age (the mid-1980s and beyond) | p. 26 |
1.6 Summary | p. 29 |
Chapter 2 Technical Background | p. 33 |
2.1 Spaces and transformations | p. 33 |
2.1.1 The display pipeline | p. 34 |
2.1.2 Homogeneous coordinates and the transformation matrix | p. 38 |
2.1.3 Concatenating transformations: multiplying transformation matrices | p. 40 |
2.1.4 Basic transformations | p. 40 |
2.1.5 Representing an arbitrary orientation | p. 42 |
2.1.6 Extracting transformations from a matrix | p. 46 |
2.1.7 Description of transformations in the display pipeline | p. 47 |
2.1.8 Error considerations | p. 48 |
2.2 Orientation representation | p. 52 |
2.2.1 Fixed-angle representation | p. 54 |
2.2.2 Euler angle representation | p. 56 |
2.2.3 Angle and axis representation | p. 57 |
2.2.4 Quaternion representation | p. 58 |
2.2.5 Exponential map representation | p. 60 |
2.3 Summary | p. 60 |
Chapter 3 Interpolating Values | p. 61 |
3.1 Interpolation | p. 61 |
3.1.1 The appropriate function | p. 62 |
3.1.2 Summary | p. 65 |
3.2 Controlling the motion of a point along a curve | p. 65 |
3.2.1 Computing arc length | p. 66 |
3.2.2 Speed control | p. 78 |
3.2.3 Ease-in/ease-out | p. 80 |
3.2.4 General distance-time functions | p. 86 |
3.2.5 Curve fitting to position-time pairs | p. 90 |
3.3 Interpolation of orientations | p. 91 |
3.3.1 Interpolating quaternions | p. 91 |
3.4 Working with paths | p. 96 |
3.4.1 Path following | p. 96 |
3.4.2 Orientation along a path | p. 96 |
3.4.3 Smoothing a path | p. 100 |
3.4.4 Determining a path along a surface | p. 106 |
3.4.5 Path finding | p. 108 |
3.5 Chapter summary | p. 108 |
Chapter 4 Interpolation-Based Animation | p. 111 |
4.1 Key-frame systems | p. 111 |
4.2 Animation languages | p. 115 |
4.2.1 Artist-oriented animation languages | p. 116 |
4.2.2 Full-featured programming languages for animation | p. 116 |
4.2.3 Articulation variables | p. 117 |
4.2.4 Graphical languages | p. 117 |
4.2.5 Actor-based animation languages | p. 118 |
4.3 Deforming objects | p. 119 |
4.3.1 Picking and pulling | p. 119 |
4.3.2 Deforming an embedding space | p. 121 |
4.4 Three-dimensional shape interpolation | p. 135 |
4.4.1 Matching topology | p. 136 |
4.4.2 Star-shaped polyhedra | p. 137 |
4.4.3 Axial slices | p. 137 |
4.4.4 Map to sphere | p. 139 |
4.4.5 Recursive subdivision | p. 145 |
4.5 Morphing (two-dimensional) | p. 147 |
4.5.1 Coordinate grid approach | p. 147 |
4.5.2 Feature-based morphing | p. 153 |
4.6 Chapter summary | p. 159 |
Chapter 5 Kinematic Linkages | p. 161 |
5.1 Hierarchical modeling | p. 162 |
5.1.1 Data structure for hierarchical modeling | p. 164 |
5.1.2 Local coordinate frames | p. 170 |
5.2 Forward kinematics | p. 171 |
5.3 Inverse kinematics | p. 172 |
5.3.1 Solving a simple system by analysis | p. 173 |
5.3.2 The Jacobian | p. 174 |
5.3.3 Numeric solutions to IK | p. 178 |
5.3.4 Summary | p. 185 |
5.4 Chapter summary | p. 185 |
Chapter 6 Motion Capture | p. 187 |
6.1 Motion capture technologies | p. 187 |
6.2 Processing the images | p. 188 |
6.3 Camera calibration | p. 190 |
6.4 Three-dimensional position reconstruction | p. 191 |
6.4.1 Multiple markers | p. 192 |
6.4.2 Multiple cameras | p. 192 |
6.5 Fitting to the skeleton | p. 193 |
6.6 Output from motion capture systems | p. 195 |
6.7 Manipulating motion capture data | p. 196 |
6.7.1 Processing the signals | p. 196 |
6.7.2 Retargeting the motion | p. 197 |
6.7.3 Combining motions | p. 197 |
6.8 Chapter summary | p. 198 |
Chapter 7 Physically Based Animation | p. 199 |
7.1 Basic physics-a review | p. 200 |
7.1.1 Spring-damper pair | p. 202 |
7.2 Spring animation examples | p. 202 |
7.2.1 Flexible objects | p. 202 |
7.2.2 Virtual springs | p. 205 |
7.3 Particle systems | p. 205 |
7.3.1 Particle generation | p. 206 |
7.3.2 Particle attributes | p. 207 |
7.3.3 Particle termination | p. 207 |
7.3.4 Particle animation | p. 207 |
7.3.5 Particle rendering | p. 207 |
7.3.6 Particle system representation | p. 208 |
7.3.7 Forces on particles | p. 208 |
7.3.8 Particle life span | p. 209 |
7.4 Rigid body simulation | p. 209 |
7.4.1 Bodies in free fall | p. 210 |
7.4.2 Bodies in collision | p. 219 |
7.4.3 Dynamics of linked hierarchies | p. 232 |
7.5 Cloth | p. 235 |
7.5.1 Direct modeling of folds | p. 237 |
7.5.2 Physically based modeling | p. 240 |
7.6 Enforcing soft and hard constraints | p. 244 |
7.6.1 Energy minimization | p. 244 |
7.6.2 Space-time constraints | p. 247 |
7.7 Chapter summary | p. 249 |
Chapter 8 Fluids: Liquids and Gases | p. 251 |
8.1 Specific fluid models | p. 251 |
8.1.1 Models of water | p. 251 |
8.1.2 Modeling and animating clouds | p. 262 |
8.1.3 Modeling and animating fire | p. 268 |
8.1.4 Summary | p. 270 |
8.2 Computational fluid dynamics | p. 270 |
8.2.1 General approaches to modeling fluids | p. 271 |
8.2.2 CFD equations | p. 272 |
8.2.3 Grid-based approach | p. 276 |
8.2.4 Particle-based approaches including smoothed particle hydrodynamics | p. 277 |
8.3 Chapter summary | p. 280 |
Chapter 9 Modeling and Animating Human Figures | p. 283 |
9.1 Overview of virtual human representation | p. 283 |
9.1.1 Representing body geometry | p. 284 |
9.1.2 Geometry data acquisition | p. 285 |
9.1.3 Geometry deformation | p. 286 |
9.1.4 Surface detail | p. 286 |
9.1.5 Layered approach to human figure modeling | p. 287 |
9.2 Reaching and grasping | p. 290 |
9.2.1 Modeling the aim | p. 290 |
9.2.2 The shoulder joint | p. 293 |
9.2.3 The hand | p. 293 |
9.2.4 Coordinated movement | p. 295 |
9.2.5 Reaching around obstacles | p. 296 |
9.2.6 Strength | p. 297 |
9.3 Walking | p. 298 |
9.3.1 The mechanics of locomotion | p. 298 |
9.3.2 The kinematics of the walk | p. 303 |
9.3.3 Using dynamics to help produce realistic motion | p. 303 |
9.3.4 Forward dynamic control | p. 308 |
9.3.5 Summary | p. 308 |
9.4 Coverings | p. 309 |
9.4.1 Clothing | p. 309 |
9.4.4 Hair | p. 309 |
9.5 Chapter summary | p. 311 |
Chapter 10 Facial Animation | p. 317 |
10.1 The human face | p. 317 |
10.1.1 Anatomic structure | p. 317 |
10.1.2 The facial action coding system | p. 319 |
10.2 Facial models | p. 320 |
10.2.1 Creating a continuous surface model | p. 322 |
10.2.2 Textures | p. 325 |
10.3 Animating the face | p. 327 |
10.3.1 Parameterized models | p. 327 |
10.3.2 Blend shapes | p. 327 |
10.3.3 Muscle models | p. 329 |
10.3.4 Expressions | p. 332 |
10.3.5 Summary | p. 332 |
10.4 Lip-sync animation | p. 333 |
10.4.1 Articulators of speech | p. 333 |
10.4.2 Phonemes | p. 334 |
10.4.3 Coarticulation | p. 335 |
10.4.4 Prosody | p. 335 |
10.5 Chapter summary | p. 335 |
Chapter 11 Behavioral Animation | p. 339 |
11.1 Primitive behaviors | p. 342 |
11.1.1 Flocking behavior | p. 342 |
11.1.2 Prey-predator behavior | p. 351 |
11.2 Knowledge of the environment | p. 352 |
11.2.1 Vision | p. 352 |
11.2.2 Memory | p. 353 |
11.3 Modeling intelligent behavior | p. 354 |
11.3.1 Autonomous behavior | p. 354 |
11.3.2 Expressions and gestures | p. 356 |
11.3.3 Modeling individuality: personality and emotions | p. 357 |
11.4 Crowds | p. 358 |
11.4.1 Crowd behaviors | p. 359 |
11.4.2 Internal structure | p. 359 |
11.4.3 Crowd control | p. 360 |
11.4.4 Managing n-squared complexity | p. 360 |
11.4.5 Appearance | p. 361 |
11.5 Chapter summary | p. 361 |
Chapter 12 Special Models for Animation | p. 365 |
12.1 Implicit surfaces | p. 365 |
12.1.1 Basic implicit surface formulation | p. 365 |
12.1.2 Animation using implicitly defined objects | p. 367 |
12.1.3 Collision detection | p. 368 |
12.1.4 Deforming the implicit surface as a result of collision | p. 368 |
12.1.5 Level set methods | p. 371 |
12.1.6 Summary | p. 372 |
12.2 Plants | p. 372 |
12.2.1 A little bit of botany | p. 372 |
12.2.2 L-systems | p. 374 |
12.2.3 Animating plant growth | p. 379 |
12.2.4 Summary | p. 381 |
12.3 Subdivision surfaces | p. 382 |
12.4 Chapter summary | p. 384 |
Appendix A Rendering Issues | p. 387 |
Appendix B Background Information and Techniques | p. 407 |
Index | p. 503 |