Solving Computer Animation Problems with Numeric Optimization
Optimization techniques have been used in computer animation to search for system parameters and control inputs in a variety of animated objects and characters. Researchers rely on numeric optimization to solve problems including behavior learning and morphology generation for characters as well as automatic tuning for weights and parameters in various models. However, even with the diverse group of published examples, the selection of an optimization technique for new problems can be difficult for inexperienced animators. The choice of appropriate methods and their proper implementation requires an understanding of the types of methods and their respective advantages and limitations. Toward this end, I describe a general approach for formulating an optimization problem to help organize the information pertinent to the selection process and provide a common vocabulary for discussing the issues related to this type of problem-solving. I provide a straightforward classification of optimization methods and discuss characteristics and trade-offs related to the algorithms. Then, I describe specific uses of the methods with results from recent works in computer animation. I detail solutions for two common optimization problems namely, inverse kinematics and control gain tuning, and make general recommendations about solving optimization problems in computer animation in closing.