(57)【特許請求の範囲】
【請求項１】
逆運動による関節鎖の動作付けを制御する、コンピュータにより実行される方法であって、前記関節鎖は、関節鎖ルートと末端作動体とこれらの間の少なくとも１つの固定長の関節部材とを含み、前記方法が、
関節鎖の分解面を定める工程であって、前記分解面が、前記ルートから前記末端作動体に伸長するルート作動体ベクトルを少なくとも含み、前記分解面の動きが前記少なくとも１つの固定長の関節部材の各々の対応する動きを生じさせる、前記の工程と、
グラフィカル・ユーザ・インターフェースによりユーザ入力に応答して前記関節鎖を再方向付けするため前記分解面を操作する工程と、
前記再方向付けした関節鎖を所望の目標へ動かすために逆運動解を決定する工程と、
を備えた方法。
【請求項２】
請求項１記載の方法において、前記操作する工程は、前記分解面を予め決めた量で回転させる工程を含む、方法。
【請求項３】
請求項１記載の方法において、前記操作する工程は、前記ルートに対する位置を表わす制御アイコンを視覚的に表示することを含み、前記制御アイコンがユーザ入力に動作上応答して、前記制御アイコンの動きが前記分解面の対応する動きを生じさせる、方法。
【請求項４】
請求項３記載の方法において、前記分解面は、前記ルート作動体ベクトルと、前記ルートから前記制御アイコンに伸長するルート制御ベクトルとを含む、方法。
【請求項５】
請求項３記載の方法において、前記対応する動きは、前記ルートから前記制御アイコンに伸張するルート制御ベクトルを、前記分解面と共面に維持する、方法。
【請求項６】
請求項３記載の方法において、前記対応する動きは、前記ルートから前記制御アイコンに伸張するルート制御ベクトルを、前記分解面に概して垂直に維持する、方法。
【請求項７】
請求項３記載の方法において、前記方法は、更に、望ましくない分解面位置を表す重要区域アイコンをユーザに視覚的に表示する工程を含む、方法。
【請求項８】
請求項７記載の方法において、前記重要区域アイコンはダブルコーン形状のアイコンであり、その各々のコーンの頂点が他方のコーンの頂点に対し前記ルートと前記制御アイコンとの間に伸びる軸上で隣接するように前記コーンが配置された、方法。
【請求項９】
逆運動による関節鎖の動作付けを制御する、コンピュータにより実行される方法であって、前記関節鎖は、関節鎖ルートと末端作動体とこれらの間の少なくとも１つの固定長の関節部材とを含み、前記方法が、
グラフィカル・ユーザ・インターフェースにおいて、前記ルートに対する位置を表わす制御アイコンを表示する工程と、
分解面をデフォルト方向に決定する工程であって、前記ルートから前記末端作動体に伸長するルート作動体ベクトルを決定し、前記ルートから前記制御アイコンに伸長するルート制御ベクトルを決定し、前記分解面が前記ルート作動体ベクトルと前記ルート制御ベクトルを含むよう計算することにより行う、前記の工程と、
前記グラフィカル・ユーザ・インターフェースにおいて、前記分解面の表現をユーザに表示する工程と、
ユーザ入力に応答して前記分解面を操作する工程であって、前記アイコンをユーザ入力に応答して操作し、前記ルート作動体ベクトルと前記ルート制御ベクトルとを用いて前記分解面を再決定することにより行い、前記分解面の動きが前記少なくとも１つの固定長の関節部材の各々の対応する動きを生じさせる、前記の工程と、
前記関節鎖の部材を所望の目標へ動かすために逆運動解を決定する工程と、
を含む方法。
【請求項１０】
請求項９記載の方法において、前記方法は、ユーザの入力に応答して前記分解面の操作モードを選択する工程を含み、該モードが、前記分解面を直接定めること、前記分解面に概して垂直な回転軸を定めること、および前記分解面の最終的に決められた分解面に対する予め定めた回転量を定めることを含む、方法。
【請求項１１】
逆運動による関節鎖の動作付けによるアニメーションを制御する、コンピュータにより実行される対話式方法であって、前記関節鎖は、関節鎖ルートと末端作動体とこれらの間の少なくとも１つの固定長の関節部材とを含み、前記方法が、
関節鎖と分解面像を、前記関節鎖の前記末端作動体の目標についてのパラメータを選択するユーザ入力に応答して表示する工程であって、前記分解面が、前記ルートから前記末端作動体に伸長するルート作動体ベクトルを少なくとも含み、前記分解面の動きが前記少なくとも１つの固定長の関節部材の各々の対応する動きを生じさせる、前記の工程と、
前記分解面像の位置と方向をユーザが操作するための制御アイコンを表示する工程であって、前記制御アイコンが前記ルートに対する位置を表す、前記の工程と、
ユーザの入力に応答して前記分解面を決定するためのモードを選択する工程と、
ユーザの入力に応答して前記制御アイコンを操作し、これに応答して前記分解面を決定する工程と、
目標の達成において、前記関節鎖の前記少なくとも１つの固定長の関節部材の各々の位置と方向の逆運動解を決定する工程と、
前記解を表示する工程と、
を含む対話式方法。
【請求項１２】
請求項１１記載の方法において、前記モードは、分解面を直接定めること、前記分解面に概して垂直な回転軸を定めること、および前記分解面の最後に決定した分解面に対する予め決めた回転量を定めることを含む、方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、逆運動鎖の分解面を操作する制御用の解に関し、特に逆運動による関節鎖の動作付け（animation）を制御するためのシステムと方法とに関するものである。
【０００２】
【従来の技術】
人体の骨格は、胴と四肢と関節点から成るものであり、これらの各々が互いに関してある程度独立して動いたり、一緒に動作したりする。人体の骨格を動作づけ際、逆運動（ときには「目標指向運動」"goal-directed motion"ともいう）は、関節鎖の動作づけに取り組む1つの方法である。正順運動（forward kinematics）は、関節鎖を動作づける他の方法である。
【０００３】
正順運動においては、骨格は各関節の角度を指定し移動位置を構想することにより該当位置へ移動する。それぞれの動きを慎重に計画して所望の動作付けを得る。この正順運動を用いて、各関節の方向性が正確に調整され、逆運動単独では不可能な多くの動作形式の生成が可能となる。
【０００４】
逆運動においては、ある動作の目標が関節鎖の末端作動体を最初に位置決めすることによって定義され、その後逆運動のアルゴリズムにより残りの鎖の一を演算して所望の目標に到達可能としている。たとえば、アニメーターはコップに到達するように人物を動作づけようとする。その後アニメーターは腕を表す関節鎖の手首、または末端作動体を、コップが位置決めされている空間位置に置く。逆運動のアルゴリズムは、腕の移動に沿って最終的に手首がコップに届くように腕のその他の部分の位置と方向を計算する。
【０００５】
逆運動は、末端作動体につながる腕の階層中のすべての関節の位置と方向を解決する。
【０００６】
θ＝ｆ-1（Ｘ）
ここでθは状態ベクトル、Ｘは末端作動体の空間における位置と方向である。
状態ベクトルθの大きさは関節鎖の自由度に等しい。
【０００７】
関数ｆ（  ）はかなり非直線形であり、肢（limb）の本数が増すにつれて急速に複雑化する。この関数を逆にする（invert）ために、現在の動作位置のまわりを局在化（localize）し、関数[ヤコービ]行列式を逆にして下式を得ることに
より直線化される。
【０００８】
ｄθ＝Ｊ-1(dX)
ここで、ＪはX における微分変化に対するθの微分変化に関する偏導関数の配列を表わしている。関数は一連の増分ステップにより目標に向けて反復積分される。
【０００９】
逆運動理論は以下の著作中に詳述されている。１Advanced Animation and Rendering Techniques, Theory and Practice, ０ A.Watt and M.Watt, Addison-Wesley,1992, New York, Chapter 16, Animated Articulated Structures,pp 369-384.
本書の内容は参照用に本明細書に組入れてある。
【００１０】
【発明が解決しようとする課題】
逆運動は正順運動よりも相対的に演算費用がかかる。しかし、歩行運動や腕の運動を動作づけるには、正順運動は直観的ではなく、実際には単調で退屈なものである。よって逆運動は多くのアニメーションアプリケーションにおいてより好適である。
【００１１】
末端作動体が目標に到達できるように、各肢の必要とされる位置および／または方向、あるいは関節鎖の連接を演算するにあたっては、全ての肢の位置／または方向の組み合わせを有する解が算出され得る。ほとんどの場合、一定の目標に対して1つ以上の解がある。たとえば、ある人物がコップに届くように伸ばした腕の場合、その腕は胸を横切るか、頭上を超えるかして移動する。そのとき逆運動のアルゴリズムは、可能な解の１つを選択しなければならない。残念ながら、選択された解がアニメータが所望する解でないかもしれない。さらに悪いことには、逆運動のアルゴリズムが、アニメーションの一部では第１の解を選択し、他の一部では他の解決法に急変するかもしれない。その結果、アニメーション動作は、不連続的になり望ましくない。
【００１２】
【課題を解決するための手段】
不連続性の問題に対処する1つの方法は、関節鎖の次の位置を算定するため、前の位置又は枠を利用することである。その場合、逆運動のアルゴリズムは次の位置について不連続性を防止できるような解決方法の数が制限される。この対処法の欠点はアニメーションが十分に再現されないことである。演算中になんらかのエラーがあると、このようなエラーは累積される。その結果は関節鎖を相互に伸長したときに明らかになる。すなわち、関節鎖は元の位置に戻れなくなりがちなのである。
【００１３】
従来技術の不都合は、従来システムの不利性を少なくとも１つ除去したり緩和する逆運動を用いた、アニメーションシステムの新しい制御システムと方法を提供することによって克服される。
【００１４】
関節鎖の分解面（resolution plane）を視覚的に制御可能なアニメーションシステム用の新規な制御システムと方法を提供することが好ましい。
【００１５】
逆運動のアルゴリズムに、関節鎖の全肢と関節の一組の位置および／または方向性について１つの解だけを選択させる新規な制御システムを提供することがさらに好ましい。
【００１６】
本発明の第１の態様によって、ユーザが関節鎖の分解面を視覚的かつ対話式に改変できるようにする以下のステップから成る方法が設けてある。すなわち、関節鎖の分解面を定め、該分解面を操作し、目標を達成するため関節鎖の全肢の位置と方向性の分解面と相関する解を決定する工程とを含むものである。
【００１７】
本発明の他の態様によって、逆運動のアニメーションに以下から成るコンピュータを実装した制御システムが設けてある。すなわち該シシテムは、
関節鎖の分解面を操作する手段と、
目標を達成するため腕の位置と方向性の解を決定する手段、とを含めたものである。
【００１８】
本発明の他の態様によって、関節鎖の逆運動アニメーションを制御する以下のステップからなる方法が設けてある。すなわち該方法は、
関節鎖のルートから関節鎖の末端作動体まで伸長するルート作動体ベクトルを決定し、分解面をルート作動体ベクトルを遂行させる、デフォルト方向にて分解面を決定する工程と、
ルートに関して位置を表わすアイコンを視覚的に表示する工程と、
関節鎖の分解面をアイコン操作により操作し、ルートからアイコンまで伸長する第２のベクトルを決し、かつ、ルート作動体と第２のベクトルを組み合わせることによって分解面を再決定する工程と、
目標を達成するため関節鎖の全肢の位置と方向性の解を決定する工程を含むものである。
【００１９】
本発明の他の態様によって、分解面の操作モードを選択する手段が設けてある。このモードには、直接分解面を定義し、回転軸を分解面に対しできるだけ垂直に定義し、最後に決められた分解面に対して予め決めた回転量を定義することが含まれる。
【００２０】
本発明のさらに他の態様によって、以下から成る製造品が設けてある。即ち、該製品は、
関節鎖の動作付け及び制御用の逆運動アルゴリズムを実行するためのコンピュータの判読可能なプログラム・コード手段を備えたコンピュータ使可能用媒体を有するものであり、該プログラムコード手段は、
関節鎖の定義用パラメータの選択と前記関節鎖の目標の選択とを示すユーザからの入力をコンピュータに受け入れさせる、コンピュータが判読可能なプログラム・コード手段と、
前記関節鎖の分解面の制御の選択を示すユーザからの入力をコンピュータに受け入れさせる、コンピュータが判読可能なプログラム・コード手段と、
前記分解面の操作を示すユーザからの入力をコンピュータに受け入れさせる、コンピュータが判読可能なプログラム・コード手段と、
前記分解面を定義するベクトルをコンピュータに演算させる、コンピュータが判読可能なプログラム・コード手段と、
目標を達成するため前記関節鎖の位置と方向性の解をコンピュータに演算させるようにする、コンピュータが判読可能なプログラム・コード手段と、
前記解をコンピュータに表示させるようにする、コンピュータが判読可能なプログラム・コード手段とからなる。
【００２１】
本発明のさらに他の態様において、関節鎖の運動学的動作を定義するグラフィカル・ユーザ・インタフェースが設けてある。インタフェースには関節鎖と、分解面と、分解面を操作する制御アイコンとの表示手段が備わっている。アイコンはユーザの入力に対し反応する。
【００２２】
【実施例】
図１について説明する。単純な関節鎖１０が図示してある。この間節鎖は第１の剛性腕１２と第２の剛性腕１４を具備している。腕１２は一端にルート１６を有し、ルート１６は関節鎖１０の第１の点であり、部分的に関節鎖の方向を定めるものである。腕１２は関節１７でルート１６に結合している。腕１２および１４は関節１８で結合してある。アーム１４の先端には末端作動体２０が付いている。
【００２３】
関節鎖１０のアーム１２と１４は所望の長さを持つことができる。これらのアーム類は互いに分離されることはできない。ほとんどの場合、末端作動体２０が二次元か三次元の空間において移動されると、腕の一部または全体が腕を一緒のままにしておくように移動されなければならない。末端作動体２０が到達すべき新規の所望の位置および／または方向は目標と呼ばれる。
【００２４】
関節１７と１８は、３軸の周りを回転でき、かつどの平面にでも移動できるボールジョイントとして例示したものである。
【００２５】
図１は、簡単な２本のアーム付き関節鎖を図示しているが、これは簡略化を目的としているものである。本発明は２本の肢を具備した関節鎖だけに限定していない。関節鎖が腕や輪を何本でも保有できることは簡単に理解されよう。たとえば、骨格を複数の多重鎖とすることができ、１つの関節鎖の１個の鎖のルートは他の鎖や対象物の子供でもある。
【００２６】
図２と図３について説明する。３本の腕付き関節鎖２２が図解してある。関節鎖２２は関節１１７、１１８、１１９に接合されたアーム１１２、１１４、１１５を具備する。ルート１１６は関節鎖２２の一端、末端作動体１２０は対向端である。
【００２７】
アニメータは、所望の位置、あるいは所望の経路または道筋１２２に沿って末端作動体１２０を位置決めすることによって、ある行動の目標を定めることにより動作づけを作成することができる。
【００２８】
逆運動のアルゴリズムは、関節鎖２２の全アームの新しい位置および方向を測定し、末端作動体１２０が目標に向け移動する間でも、すべてのアームが接続状態を保つていることを保証する。
【００２９】
逆運動のアルゴリズムにより算定された全肢のすべての位置および／または方向の集合は解として知られる。しかし、ほとんどの場合、一定の目標について１つ以上の解があり、逆運動のアルゴリズムは可能な解決法を１つ選択しなければならない。すべての肢の位置および／または方向が、いったん算出されると関節鎖の肢類は関節腕の動きを動作付ける新しい位置へ移動される。
【００３０】
図３は、関節鎖２２が予め設定した３つの目標に到達するように位置決めする際の逆運動アルゴリズムによって算定された３つの解を図示したものである。
【００３１】
図４について説明する。図４はコンピュータによる投影画面の図解である。視覚的に、関節鎖１０が画面に表示してある。直交記号のアイコン２４が一方の隅に投影され、画面に斜視的に描写してある。グラフ式に投影してあるのは平面像２６である。コントロールアイコン２８はマウスを介して投影画面の周りで操作され、後述するように関節鎖の位置および／または方向を制御する。好ましい実施態様において制御アイコン２８は球形として表示してある。
【００３２】
平面像２６は想像的平面でルート１６と末端作動体２０とを貫通している。平面像２６は関節鎖１０の全般的な方向、すなわち分解面を表わす。平面像２６は四角の配列として示され斜視表示のため変形して表示されている。平面像２６のデフォルト、従ってデフォルト分解面も関節１８を貫通する。好適なデフォルト回転軸がルート１６からｚ方向に伸長するようになる。
【００３３】
関節鎖の分解面は虚数平面と定義され、ある点で関節鎖に接着されている。分解面は三次元空間において配向されて少なくともルート作動体ベクトルを含有している。分解面が関節鎖に接着されるため、回転が分解面に加えられるときには、その回転は関節鎖の全体に加えられる。しかし、分解面は個々の肢が空間を移動するのを妨げるものではない。
【００３４】
図６について説明する。関節鎖１０は「好適な軸制御」モジュール４４（図８に示す）によって制御され得る。ＷＩＮＤＯＷＳのツールバーからのアイコンまたはドラッグリストを設けて、「好適な軸制御」モジュール４４を始動することも可能である。一度始動されると、制御アイコン２８とルート１６は関節鎖１０の回転軸を定義する軸３６として表示されるルート制御ベクトルを定める。定義された回転軸はデフォルト回転軸、すなわちルート１６からｚ方向に伸長する回転軸に取って代わる。
【００３５】
従って、関節鎖１０の方向性は、分解面をできるだけ回転軸と垂直になるように定義した好適回転軸の視覚的な選択によって制約をうける。
【００３６】
軸３６は、ルート１６からアイコン２８を指すルート制御ベクトルｗを制御する。ルート作動体ベクトルｇ（ただしｗ≠ｇ）を与えられ、三次元ベクトルｕはｕ＝ｗｘｇとして算出される。分解面はｕとｇの双方を含有しているため容易に算出される。逆運動アルゴリズムにより計算された解は、関節鎖の分解面が好適な軸の制約を重んずるように関節鎖に適用される。
【００３７】
たとえば、ある人物の腕がその人物の逆の肩にふれるように動作付ける場合は、腕は回転軸がほぼ垂直すなわちｙ方向であるようにして胸を横切るか、または回転軸がほぼ水平すなわちｚ方向にあるようにして頭上を移動するかが可能である。「好適な軸制御」モジュール４４は、回転軸の選択を制御するがこれも時が経つと動作づけられる。
【００３８】
ダブルコーン形状のアイコン３０は、ルート１６にこれらコーンの頂部を有し、又ルート１６と制御アイコン２８を貫通する軸上に伸長する投影画面上の重要区域（critical zone）を図示している。重量区域とは、加えられる制約の結果として関節鎖１０の方向性全体が急速に変化する区域である。ルート制御ベクトルとルート作動体ベクトルとが互い近づいて、整合しあうようになってくれば、分解面は急速に変化し、限界時には一つの方向性からほかの方向性に「急変」（flip）することになる。ダブルコーン形状のアイコン３０は、この「急変」がどこで生じるかを示すであろう。図解上で、ダブルコーン形状のアイコン３０の色を変えて異なった状態を表わすことができる。例えばデフォルトの好適な回転軸が使用されていると、ダブルコーン形状アイコン３０のカラーは青色にできる。さらに、制御アイコン２８が重要区域へ移動した場合、ダブルコーン形状アイコン３０のカラーを変更することができる。
【００３９】
図５に関して説明する。関節鎖１０は「アップベクトル制御」モジュール４２を用いて拘束される。ＷＩＮＤＯＷＳツールバーから与えられるアイコン、あるいはドラッグリストを利用して「アップ・ベクトル制御」モジュール４２を始動し得る。いったん始動すると、制御アイコン２８、ルート１６、および末端作動体２０は、像平面２６で表わされるような関節鎖１０の分解面を定める三角形３２を形成する。言い換えると、関節鎖１０の方向性は視覚的限界が定められる分解面によって拘束されることになる。すべての肢が平面上にとどまるように拘束される二次元の鎖の場合、関節１８は分解面上に拘束される。
【００４０】
三次元の鎖の場合は、ルート１６と末端作動体２０のみが分解面に配されるが、分解面の回転により関節鎖１０の回転をも直接に生じさせる。
【００４１】
「アップ・ベクトル制御」は関節鎖１０のルート１６から制御アイコン２８に指向するベクトルであるルート制御ベクトルｗを確定する。ルート制御ベクトルｗは三次元ベクトルｕに等しい。ルート作動体ベクトルｇ（ただしｕ≠g）を与えられると、関節鎖１０の分解面は回転されてｕとｇ双方を包含する。ｕとｇは既知であるため、分解面は容易に決められる。逆運動アルゴリズムによって算出された解は、関節鎖の分解面が「アップ・ベクトル強制」を尊重する形で関節鎖に対して適用される。
【００４２】
たとえば、平泳ぎ泳者の腕の運動は、「アップ・ベクトル制御」モジュール４２を用いて動作づけられる。いったん始動すると、制御アイコン２８を操作して関節１８またはひじを、ルート１６または肩と同じ高さに位置決めすることができる。末端作動体２０を円形パターンで動作させることも可能である。関節１８すなわちひじは像平面２６上に残存する。
【００４３】
また、画像面２６を時間の経過と共に動かすことにより分解面を回転させることができる。制御アイコン２８を操作して分解面を回転させると関節鎖１０に翼のはばたき運動を加えることになる。平泳ぎの例で続けると、両手が胸の近くにあるとき、ひじはそれより低くしなければならない。
【００４４】
所与の例では、２本の肢付き関節鎖が使用されている。もしそれより多くの肢が使われると、「アップ・ベクトル制御」モジュール４２が分解面を回転させ、それによりルートと末端作動体との間の肢全体を回転させる。さらに、多肢付き関節鎖は複数の個別関節鎖として例示することができる。「アップ・ベクトル制御」を個別の関節鎖の各々に単独で適用することが可能である。
【００４５】
図７に関して説明する。関節鎖１０を「回転オフセット」モジュール４６によって制御することができよう。ＷＩＮＤＯＷＳツールバーからのアイコンかドラッグリストによって「回転オフセット」モジュール４６を始動することができる。いったん始動すると、関節鎖１０の分解面に加えられるルート作動体ｇの周りの回転角度の調整が可能となる。ユーザは画面での照会に答えて所望量の回転数を入力すればよい。関節鎖１０の分解面を最後に決められた分解面から選択角度θだけ傾斜させることができる。それには明確な「アップ・ベクトル」または「好適な軸制御」またはデフォルト分解面を、ルート１６および末端作動体２０の位置に影響を及ぼすことなく使用できる。図７において、「回転オフセット」モジュール４６が「アップ・ベクトル制御」により決められたオフセットを分解面の方向性に追加する、すなわち「アップ・ベクトル制御」だけが使用されていた場合の方向性からθ度傾斜させることになる。
【００４６】
図８を参照して、コンピュータが読取れるコードに本発明を実装する為の例示フローチャートを図示する。
【００４７】
いったん、関節鎖１０が定められ、かつアニメータによって目標が選択されると、それらのパラメータが逆運動アルゴリズム・モジュール４０に与えられる。
【００４８】
逆運動アルゴリズム・モジュール４０には逆運動アルゴリズムを具現するコードが備わっている。逆運動アルゴリズムは、予め設定された目標を達成する関節鎖１０の位置および／または方向を演算する。
【００４９】
アニメータは、ＷＩＮＤＯＷＳツールバーから選択されたオプションをドラッグおよびクリックするためマウスを用いて、最初に「アップ・ベクトル制御」モジュール４２を選択する。アニメータは、次に制御アイコン２８を所望の位置に対しクリックおよびドラッグする。「アップ・ベクトル制御」モジュール４２は、三次元ベクトルｕを計算し、分解面の方向を変え、次いで分解面に関して関節鎖１０を新しく方向づけする。
【００５０】
アニメータは、「好適な軸制御」モジュール４４を選択することができる。「アップ・ベクトル制御」モジュール４２を選択できない場合は、「好適な軸制御」モジュール４４が自動的に選択される。好適な実施態様においては、アニメータは、「アップ・ベクトル制御」モジュール４２か、「好適な軸制御」モジュール４４のいずれか一方のみを選択できるが、それは両モジュールとも同時的制御をしないように分解面の方向性を１つの絶対的な方法で設定しているからである。さらに対立を避けるため「アップ・ベクトル制御」モジュール４２は「好ましい軸制御」モジュール４４に対して任意の優先権を与えられている。優先権の選択は任意であり、従って他の優先権の組合わを選択することができ、あるいは異なるモジュールを別個に用いることも可能であろう。
【００５１】
好ましい軸が選択されないときにはモジュール４４が自動的にベクトルｗをデフォルト回転軸に設定する。アニメータは、好的な回転軸を選択することができ、モジュールはそこで三次元ルート制御ベクトルｕを演算する。
【００５２】
アニメータは次に「回転オフセット制御」モジュール４６を選択する。いったん回転角度θが選択されると、その回転が分解面に与えられる。
【００５３】
この「回転オフセット制御」モジュール４２により、アニメータは他の制御（「アップ・ベクトル」または「好的な軸」）の位置に影響を及ぼすことなく分解面を動作づけることが可能になる。たとえば、ある場面で対象物Ａが「アップ・ベクトル制御」として使用されるが、この対象物が関節鎖に対して変更できない一定の位置をもっているとしても、この「回転オフセット制御」の角度θを動作づけることによって分解面はそれでもルート作動体ベクトルｇの周りを０〜３６０度回転させられる。ここで０度は現在位置決めされている純粋の「アップ・ベクトル制御」を示すものである。
【００５４】
解はコンピュータの画面上に表示されて、適切な電子記憶媒体に格納される。
【００５５】
逆運動アルゴリズムは分解面の制御とは無関係である。逆運動アルゴリズムによって計算された同一の解は別の分解面を用いて空間内で使用され、かつ新たな方向づけをされる。ここで平泳ぎ泳者の例に戻る。手の与えられた位置について、（ひじから手首までの）前腕と（肩から手首までを含む）腕の位置および／または方向性は逆運動アルゴリズムによって計算される。方向性は第１肢、すなわち腕を基準に関連づける。同じ解を用い、腕を肩−手首の軸線沿いに回転させることによって腕の新しい方向づけを行なわれる。こうしても腕と前腕との間の角度に影響を及ぼすことはなく、手首は相変わらず目標に到達する。腕の肩に対する方向は、本発明を用いてのみ変更される唯一の事柄である。アニメータは逆運動の解について支配力を保持し、アニメータに関節鎖を空間にて所望の方法で方向付けることを可能にしている。
【００５６】
本発明の上述した実施態様は本発明の実施例とすることを意図したものであり、本明細書付属のクレームによってのみ定義される本発明の範囲から逸脱することなく、当業者による変更や修正が本発明に与えられることは当然である。
【００５７】
本発明の好ましい実施態様の説明は以下の添付図面を参照したものである。
【図面の簡単な説明】
【図１】単純な関節鎖の図解である。
【図２】関節鎖の図解である。
【図３】図２の関節鎖の図解で逆運動アルゴリズムにより計算された位置および／または方向を示すものである。
【図４】図１の関節鎖のコンピュータ画面の投影である。
【図５】本発明の「アップ・ベクトル・コントロール」を使用して操作中の図１の関節鎖のコンピュータ画面の投影である。
【図６】本発明の「好ましい軸制御」を用いて操作中の図１の関節鎖のコンピュータ画面の投影である。
【図７】本発明の「アップ・ベクトル・コントロールおよび回転オフセット制御」を用いて操作中の図１の関節鎖のコンピュータ画面の投影である。
【図８】本発明をコンピュータの読取り可能なコードへを実装した際フローチャートである。
【図１】
0004145975.tif 000002
【図２】
0004145975.tif 000003
【図３】
0004145975.tif 000004
【図４】
0004145975.tif 000005
【図５】
0004145975.tif 000006
【図６】
0004145975.tif 000007
【図７】
0004145975.tif 000008
【図８】
0004145975.tif 000009