Revision as of 04:49, 1 May 2007 editGurch (talk | contribs)Extended confirmed users, Rollbackers109,955 editsm Revert 1 edit by 12.215.154.7 to last version by Thijs!bot← Previous edit | Revision as of 17:26, 3 June 2007 edit undoAbmac (talk | contribs)381 edits ... inserting infos +Next edit → | ||
Line 33: | Line 33: | ||
] | ] | ||
] | ] | ||
] | |||
] | ] |
Revision as of 17:26, 3 June 2007
Inverse kinematics is the process of determining the parameters of a jointed flexible object (a kinematic chain) in order to achieve a desired pose. For example, with a 3D model of a human body, what are the required wrist and elbow angles to move the hand from a resting position to a waving position? This question is vital in robotics, where manipulator arms are commanded in terms of joint angles. Inverse kinematics are also relevant to game programming and 3D animation, where a common use is making sure game characters connect physically to the world, such as feet landing firmly on top of terrain, hands lining up with doorknobs etc.
An articulated figure consists of a set of rigid segments connected with joints. Varying angles of the joints yields an indefinite number of configurations. The solution to the forward kinematic animation problem, given these angles, is the pose of the figure. The more difficult solution to the inverse kinematics problem is to find the joint angles given the desired configuration of the figure (i.e., end effector). In the general case there is no analytic solution for the inverse kinematics problem. However, inverse kinematics may be solved via nonlinear programming techniques. Certain special kinematic chains—those with a spherical wrist—permit kinematic decoupling. This treats the end effector's orientation and position independently and permits an efficient closed-form solution.
For animators, the inverse kinematics problem is of great importance. These artists find it far simpler to express spatial appearance rather than joint angles. Applications of inverse kinematic algorithms include interactive manipulation, animation control and collision avoidance.
See also
- Forward kinematics
- Inverse kinematic animation
- Forward kinematic animation
- Joint constraints
- Ragdoll physics
- Jacobian
- Levenberg-Marquardt algorithm
- Pseudoinverse
External links
- Inverse Kinematics algorithms
- Robot Inverse Kinematics
- HowStuffWorks.com article How do the characters in video games move so fluidly? with an explanation of inverse kinematics
- 3D Theory Kinematics
- Protein Inverse Kinematics
- Simple Inverse Kinematics example with source code using Jacobian