逆运动学
逆运动学(英语:Inverse kinematics)是决定要达成所需要的姿势所要设置的关节可活动对象的参数的过程。例如,给定一个人体的三维模型,如何设置手腕和手肘的角度以便把手从放松位置变成挥手的姿势?这个问题在机器人学中是很关键的,因为操纵机械手臂通过关节角度来控制。逆运动学在游戏编程和三维建模中也很重要,虽然其重要性因为运动捕获数据的大型数据库越来越多的使用而降低了。
以关节连接的物体由一组通过关节连接的刚性片段组成。变换关节的角度可以产生无穷的形状。正向运动学问题的解,是给定这些角度时物体的姿势。“逆运动学问题”的难度更高的解是给定物体的姿势时——例如,给定终端效果器(end-effector)的位置时——找到关节的角度。一般情况下,逆运动学问题没有解析解。但是,逆运动学可以通过非线性规划技术来解决。特定的特殊运动链—那些带有球形腕的—允许运动去耦合。这使得我们可以把终端效果器的朝向和位置独立的处理,并导致一个高效的闭形式解。
对于动画家(animator),逆运动学问题很重要。这些艺术家发现表达空间的形象比控制关节角度来要容易得多。逆运动学算法的应用包括交互操纵,动画控制和碰撞避免。
参见条目
- 计算机动画
- 物理引擎
- 布娃娃系统
外部链接
- 逆运动学算法
- 机器人逆运动学(页面存档备份,存于互联网档案馆)
- HowStuffWorks.com条目“动画游戏中的任务如何流畅的运动” (页面存档备份,存于互联网档案馆)有一个逆运动学的解释。