"IK" (Inverse Kinematics) とは
"IK" (Inverse Kinematics) についての紹介です。
"IK" (Inverse Kinematics)とは
関節の個数、関節間の長さが指定されている複数関節の物体で、先端の位置を与えられた際に、関節の回転角を逆算出する機能です。
例
パワーショベルカーを例に考えます。
ショベルカーの根元から、先端まで、3つのパーツに分かれており、それぞれに関節がある構造とします。
関節が3つ(下図オレンジ色)ある構造です。今回、関節の可動範囲は制約がないものとして考えます。
茶色の三角形の位置にショベルカーの先端を移動させたいです。人手で操作する場合、まずは根元を反時計回りに回すのがよさそうです。
根元の関節を回転しました。次に先端の関節を時計回りに回転します。
ちょっと位置が下なので、2番目の関節を反時計回りに回転します。
ちょうどよい位置になりました。
このように複数の関節がある構造物で、先端の場所を移動させる場合、それぞれの関節を回転させる必要があり、操作が大変です。
また、先端の位置が微妙にずれるなど、位置調節が必要であったり、関節の可動範囲が決まっている場合はさらに面倒です。
そこで、先端の位置を決めれば、中間の関節の回転角度を自動的に計算する仕組みがあれば楽になります。
この計算をする仕組みが、Inverse Kinematics になります。
同じ場所に先端を移動させる場合でも、関節の回転角の組み合わせは複数のパターンがあるため、先端の位置を決めても1つの答えになるとは限りません。
そのため、それぞれの関節の回転角を決めるロジックはいくつかの種類があります。
著者
iPentecのメインデザイナー
Webページ、Webクリエイティブのデザインを担当。PhotoshopやIllustratorの作業もする。