Mark Christiansen reviews the next evolution of Principles of Three-Dimensional Computer Animation, an academic textbook on computer graphics that is worth the read.
Principles of Three-Dimensional Computer Animation is an academic textbook which gives an overview of the basic terms and techniques of computer animation without ever once referring to a specific software package. If, having read that, you are disinclined from reading any further, let me say up front that while this book will most likely be used as a textbook to teach the fundamentals of computer graphics, it would also be a worthwhile read for anyone who missed out on college computer graphics courses and wishes they'd had them, or wants an explanation of the inner workings of computer graphics that isn't limited to how one particular software package operates. Principles will not offer one the practical "how-tos" of modeling, animation, and effects, but it can tell one in clear, effective terms how those processes are done. In this edition a chapter has also been added on Production Planning, which includes storyboarding and production estimates, which, while a little on the thin side, helps pull the book out of the ivory tower and into the real world of production. An In-Depth Overview One thing I enjoyed about the book, as someone who has worked in computer graphics for a few years but never formally studied it in school, is how the author offers an etymology of terms and an explanation of how and why different computer graphics processes were developed. If, for example, you were curious about spline curves, you could learn from this book that the word "spline" is derived from ship-building, followed by concise descriptions of the characteristics of various types of spline curves. The author's insistence on keeping the text above specific computer graphics programs is the correct choice from an academic point of view, however, it can be confusing to hear terms that are not used in your particular software package, or to read descriptions of entire techniques that do not exist in your package. However, even if your particular package does not support solids modeling or mapping, expressions, or motion dynamics, it's actually quite useful to know that your program's way of doing something isn't the only way, and to get an idea of why these features are desirable in higher end systems. Mr. O'Rourke takes nothing for granted as far as the reader's prior knowledge of computer graphics is concerned. The section on "Lights" begins, "In an environment where there is no light at all - for example, a windowless room, with the lights turned off - you can see nothing. The rendering of a three-dimensional computer graphics scene is similar. In order to `see' - that is to render - a scene or any objects within that scene, you must define lights." What follows is a thorough explanation of how software lighting behaves differently from real world lighting, and the different parameters that can be set to light and shade a scene. Largely absent from the discussion are suggestions of what settings one should use to achieve a given effect; the focus is on how the different controls function and what they do.
Strengths and Weaknesses
The book does do a nice job of putting one at ease that even complex applications in computer graphics are comprehensible to the relative novice. The section on expressions includes some sample operators and functions that one would typically use, as well as an explanation of how C-programming-related syntax typically works. The level of discussion is helpful even to someone who has no intention of ever actually coding any expressions oneself, just in order to get a feel for the boundaries of this particular technique.
The discussion becomes less helpful and accurate the further it strays from computer graphics. For example, at one point the text states that "the aspect ratio of 35mm film is 1.5:1" when in fact, the standard aspect ratio of 35mm is 1.77:1, also known as 16:9. The book's discussion of storyboards includes no actual examples (thus, a purely visual method of storytelling is described entirely with text!) and there's no mention of exposure sheets in the discussion of lip-synching. The thing I liked the most about this book was its thorough coverage of areas of 3D animation that I didn't know as much about, as well as details about the evolution of certain techniques. For example, there's a nice explanation of the difference between right-handed and left-handed coordinate systems which shows how everything changes depending on which direction the Z axis faces. The summary of various curve types and how they differ is great. Furthermore, the book is at its best when describing graphics principles such as smooth shading in real time and the Z-buffer algorithm; understanding these better at a nuts-and-bolts level can help one better optimize work flow. It is worth bearing in mind that at its price point, this book is going to be primarily used as a course textbook for college level computer graphics classes, and that is the use for which it is best designed. If you don't feel you would benefit from an academic approach to learning more about 3D animation, I would look instead at one of the "how to" books from New Riders or Coriolis that I'll be reviewing in upcoming issues of Animation World Magazine. But if you've been exposed to computer graphics at some level that left you wishing you understood more of the acronyms, terminology and techniques common to computer animation software, or if you're the kind of person who is curious to learn more of the background and evolution of 3D graphics, then this book is definitely worth a look. Principles of Three-Dimensional Computer Animation by Michael O'Rourke. New York, W.W. Norton & Company, 1998. 285 pages. ISBN: 0-393-73024-7 (U.S. $55.00 paperback). Mark Christiansen works for a major entertainment company in Marin County, California, where he creates 3D and 2D graphics and animation.