(57)【特許請求の範囲】
【請求項１】
複数フレームからなるアニメーションのデータの作成に当たって、動きの主要な変化点のフレームは、アニメーションの構成要素の画像データを３次元空間にレイアウトしてキー・フレームとして生成し、キー・フレーム間のフレームの画像データは、当該フレームを挟む２枚のキー・フレームの前記構成要素毎のデータが使用されて補間処理により生成されるアニメーションデータの作成方法において、
前記構成要素についての前記当該フレームを挟む２枚のキー・フレーム間での変化が、ある軸を中心とした所定角度の回転である場合に、前記構成要素についての補間処理は、前記２枚のキー・フレーム間で前記構成要素が任意の一軸を中心に回転するものとして、前記補間処理を行う工程を実行し、
前記２枚のキー・フレーム間で前記構成要素が任意の一軸を中心に回転するものとして、前記補間処理を行なう工程は、
前記当該フレームを挟む２枚のキー・フレームに含まれる処理対象の構成要素についてのデータから、前記構成要素についての当該３次元空間の座標系の原点回りの回転行列Ｒを求める工程と、
前記回転行列Ｒに対して、下記の数１を満足するような直交行列Ｔを求める工程と、
前記直交行列Ｔから前記構成要素について前記２枚のキー・フレーム間で任意の一軸を回転軸とする回転角θを求める工程と、
０度からθ度までの範囲で、前記当該フレームの前記２枚のキー・フレーム間でのフレーム位置に応じた回転角度の値から補間回転行列を求め、補間処理を行なうようにする工程と、を有すること
を特徴とするアニメーションデータの作成方法。
【数１】
0003649469.tif 000015
【請求項２】
複数フレームからなるアニメーションの、動きの主要な変化点のフレームであるキー・フレームの画像であって、前記アニメーションの構成要素の画像を３次元空間にレイアウトした画像を形成するキー・フレーム・データを記憶するキー・フレーム管理手段と、
前記キー・フレーム管理手段に記憶されたキー・フレーム・データを用いて２個のキー・フレーム間で必要となるフレームの画像データを、前記構成要素毎に補間により形成するデータ補間手段とを備え、
前記データ補間手段は、
前記構成要素についての補間処理が、前記構成要素が、ある軸を中心として回転する際のものである場合に、
前記補間により得ようとするフレームの前後のキー・フレームに含まれる処理対象の構成要素についてのデータから、前記構成要素についての当該３次元空間の座標系の原点回りの回転行列Ｒを求め、
前記回転行列Ｒに対し、下記の数１を満足するような直交行列Ｔを求め、
前記直交行列Ｔから前記構成要素について前記前後のキー・フレーム間で任意の一軸を回転軸とする回転角θを求め、
０度からθ度までの範囲で、前記補間により得ようとするフレームの前記前後のキー・フレーム間でのフレーム位置に応じた回転角度の値から補間回転行列を求め、該補間回転行列を用いて前記補間処理を行なうこと
を特徴とするアニメーションデータ作成装置。
【数１】
0003649469.tif 000016
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
この発明は、アニメーションデータの作成方法および作成装置に関し、特に、回転のアニメーションデータの作成に関わる。
【０００２】
【従来の技術】
アニメーションを、いわゆる手作りで作成する場合には、作ろうとするアニメーションの動きの始まりから終わりまでをスムーズな動きとして見せるために必要なフレーム数を決め、その決めたフレーム数の、すべてのフレームの画像をそれぞれ作成するようにする。しかし、このように必要なすべてのフレームの画像を作成するには、時間と労力がかかる。
【０００３】
一方、コンピュータ・グラフィックス技術を用いて、アニメーションを作成する方法が普及するようになった。この方法は、特に、３次元アニメーションの作成方法としては、非常に有効な方法である。
【０００４】
このコンピュータ・グラフィックス技術を用いたアニメーションデータの作成方法の一つの方法として、いわゆるキー・フレーム補間という方法がある。この方法においては、図４において、実線の四角で示すように、ユーザは、作成しようとするアニメーションの主要な変化点の画像をキー・フレームとして、そのキー・フレームの画像のみを作成する。
【０００５】
このキー・フレームは、一般に、オペレータが、アニメーションの構成要素（構成要素を以下、オブジェクトと呼ぶ）の画像を３次元空間にレイアウトして生成する。このオブジェクトの画像データは、モデルデータとして予めメモリなどに用意され、オペレータがメモリから読み出すことにより、利用できるようなものとなっている。モデルデータは２次元表現あるいは３次元表現のいずれの場合もある。
【０００６】
そして、図４において、点線の四角で示すキー・フレーム間のフレーム（以下、補間フレームという）は、その補間フレームを挟む前後のキー・フレームでの各オブジェクト間の相関性を利用して、補間処理により自動的に生成する。すなわち、補間フレームの前後のキー・フレームに含まれるオブジェクトが移動したり、回転したりしていた場合には、その２枚のキー・フレームの間の補間フレームの当該オブジェクトの移動位置や回転変化を、前後のキー・フレームに含まれる各オブジェクトのデータから補間処理により求めるものである。なお、補間処理は、オブジェクト毎に行なわれるものである。
【０００７】
こうして、３次元空間で、連続的な動きをするアニメーションのデータを作成することができる。したがって、上述のコンピュータ・グラフィックス技術を用いたアニメーションデータ作成装置においては、キー・フレームの画像データを管理しておくだけで、一連のアニメーションデータを比較的容易に作成することができる。
【０００８】
ところで、２枚のキー・フレーム間のオブジェクトの変化が、３次元空間で、２次元あるいは３次元のオブジェクトをある軸の回りで回転させるアニメーションの作成方法においては、補間フレームにおけるオブジェクトの補間処理は、従来は次のようにして行なわれていた。
【０００９】
一般に、３次元空間におけるオブジェクトの回転は、当該３次元空間を表すための３つの座標軸であるＸ軸、Ｙ軸、Ｚ軸のそれぞれの軸の回りの回転の角度成分に分解されて表される。すなわち、Ｘ軸回りの角度成分、Ｙ軸回りの角度成分、Ｚ軸回りの角度成分に分解されて表される。用途によっては、回転を極座標表現する場合もあるが、従来は希である。
【００１０】
そして、従来のアニメーションデータ作成装置においては、オブジェクトの補間フレームにおける補間データは、Ｘ軸、Ｙ軸、Ｚ軸の各軸回りの回転角度成分を、各々独立に補間した後、それらを合成して得るようにしている。
【００１１】
【発明が解決しようとする課題】
しかし、従来のアニメーション作成装置における回転のアニメーションデータの作成方法は、Ｘ軸、Ｙ軸、Ｚ軸の各軸回りの回転角度成分を、各々独立に補間するため、計算が簡単であるという長所がある反面、回転が作者が意図したものと異なり、不自然な回転になる。
【００１２】
これは、オブジェクトの回転をＸ軸、Ｙ軸、Ｚ軸の各軸回りの回転成分を独立のものとして、各軸回りに、例えばリニアに回転するとして、補間をするためである。
【００１３】
すなわち、補間フレームと、その前後の２枚のキー・フレームとの位置に応じて、その補間フレームでの回転角度（２枚のキー・フレーム間の途中の回転角度）を定めるのであるが、その回転角度が、それぞれＸ軸、Ｙ軸、Ｚ軸の各軸回りに独立に定められると、各補間フレームで、当該オブジェクトの回転軸が異なるような回転になってしまうからである。なぜなら、Ｘ軸、Ｙ軸、Ｚ軸の各軸は、全く相関がなく、各々の軸については、その軸の回りをリニアに回転するようにしても、それぞれ独立したものである３軸の回転を合成した各補間フレームでの回転も、各フレームで、それぞれ独立したものとなるからである。
【００１４】
このため、例えば、図５に示すように、オブジェクトＯＢが地球の画像であり、第１のキー・フレームＦ１中でのその地球ＯＢの画像が、図５Ａのような状態であったものが回転して、第２のキー・フレームＦ２中では、図５Ｂに示すような画像であった場合、上述した従来のアニメーションデータ作成方法により第１のキー・フレームＦ１と第２のキー・フレームＦ２との間の補間フレームを生成すれば、前述したように、回転軸が途中変わりながら回転するような態様であるため、図５Ｃで実線の矢印ＡＲｃで示すような回転軌跡を描くようなアニメーションとして作成されてしまう。
【００１５】
この回転は、図５Ｃで点線の矢印ＡＲｏで示すような、第１のキー・フレームＦ１と第２のキー・フレームＦ２との間で、一つの軸の回りを回転するような自然な回転の動きとは異なり、不自然なものである。
【００１６】
この発明は、以上の点にかんがみ、キー・フレーム補間法によるアニメーションデータの作成により、回転補間を行なう場合においても、自然な回転のアニメーションが得られるようにすることを目的とする。
【００１７】
【課題を解決するための手段】
上記課題を解決するため、この発明によるアニメーションデータの作成方法においては、
複数フレームからなるアニメーションのデータの作成に当たって、動きの主要な変化点のフレームは、アニメーションの構成要素の画像データを３次元空間にレイアウトしてキー・フレームとして生成し、キー・フレーム間のフレームの画像データは、当該フレームを挟む２枚のキー・フレームの前記構成要素毎のデータが使用されて補間処理により生成されるアニメーションデータの作成方法において、
前記構成要素についての前記当該フレームを挟む２枚のキー・フレーム間での変化が、ある軸を中心とした所定角度の回転である場合に、前記構成要素についての補間処理は、前記２枚のキー・フレーム間で前記構成要素が任意の一軸を中心に回転するものとして、前記補間処理を行なうようにする。
【００１８】
また、この発明によるアニメーションデータの作成装置は、
複数フレームからなるアニメーションの、動きの主要な変化点のフレームであるキー・フレームの画像であって、前記アニメーションの構成要素の画像を３次元空間にレイアウトした画像を形成するキー・フレーム・データを管理するキー・フレーム管理手段と、
前記キー・フレーム管理手段からのキー・フレーム・データを用いて２個のキー・フレーム間で必要となるフレームの画像データを、前記構成要素毎に補間により形成するデータ補間手段と
を備え、
前記データ補間手段は、前記構成要素についての補間処理が、前記構成要素が、ある軸を中心として回転するときのものである場合に、
補間により得ようとするフレームの前後のキー・フレーム間で前記構成要素が任意の一軸を中心として回転するものとして補間処理対象のフレームでの回転角度を求める手段と、
求めた回転角度から前記補間処理対象のフレームでの回転行列を求める手段と
を備えることを特徴とする。
【００１９】
【作用】
上記構成のこの発明による画像データ作成方法および作成装置においては、前記構成要素の回転の際の補間を行なう場合に、２枚のキー・フレーム間で当該構成要素が任意の一軸の回りを回転したとしたときの回転角がまず求められる。そして、その回転角から、当該補間フレームでの回転角が求められる。さらに、その補間フレームでの回転角が、３次元空間のＸ軸、Ｙ軸、Ｚ軸の各軸回りの角度成分に分解され、各軸についての補間処理が成される。
【００２０】
前記の補間フレームでの回転角は、任意の一軸についての回転角であるので、自然な回転のアニメーションのデータが生成される。
【００２１】
【実施例】
以下、図を参照しながら、この発明によるアニメーションデータの作成方法および作成装置の一実施例を説明する。図１は、この例のアニメーションデータ作成装置のブロック図である。
【００２２】
図１に示すように、アニメーションデータ作成装置は、入力部１と、オブジェクト管理部２と、キー・フレーム管理部３と、レイアウト管理部４と、画像表示部５と、データ補間部６と、データ記憶部７とを備えている。
【００２３】
入力部１は、キーボードやいわゆるマウスを備え、オペレータからの各種の入力を受け付ける。そして、オペレータからの入力に応じた文字情報や指示情報などのイベント情報を、オブジェクト管理部２、キー・フレーム管理部３、レイアウト管理部４に供給する。例えば、処理モードの切り換え指示や、キー・フレーム・データの作成情報や、一連のアニメーションデータの作成指示などが、入力部１より各部に供給される。
【００２４】
オブジェクト管理部２、キー・フレーム管理部３、レイアウト管理部４は、データを記憶するメモリを備え、一連のアニメーションデータを作成するために必要なデータを管理する。
【００２５】
オブジェクト管理部２は、作成しようとするアニメーションの構成要素であるオブジェクト、例えば飛行機、ヘリコプター、自動車などの画像を形成するモデル・データを、そのメモリに記憶して管理している。
【００２６】
モデル・データは、アニメーションの作成に先立って、入力部１や、図示しないスキャナ（画像読み取り装置）などを介してオブジェクト管理部２に提供され、各オブジェクトを識別するオブジェクトＩＤが付与されて、管理される。
【００２７】
キー・フレーム管理部３は、前述のように、オペレータからの指示によってモデル・データを３次元空間にレイアウトすることで作成されたキー・フレームの画像を構成するキー・フレーム・データを管理する。
【００２８】
この例の場合、このキー・フレーム・データは、入力部１を通じてオペレータにより選択指示されたオブジェクトのオブジェクトＩＤ、そのオブジェクトを配置するフレーム上の座標位置、オブジェクトの大きさ（縮小、拡大）、オブジェクトの回転角度などの情報からなっている。
【００２９】
キー・フレーム管理部３は、また、各キー・フレームが一連のアニメーションの開始位置から数えて何番目のフレームであるかを示すフレーム番号を付加して、各キー・フレーム・データを管理している。換言すれば、キー・フレーム管理部３は、一連のアニメーションの開始位置からの相対時間を用いてキー・フレームをも含めた一連のアニメーションを構成するすべてのフレームの位置を管理している。
【００３０】
レイアウト管理部４は、キー・フレーム・データの作成時に、作成しているキー・フレームの画像を表示するための画像表示信号を形成し、画像表示部５に供給する。また、後述するように、キー・フレームに基づいて作成した補間フレームをも含めた一連のアニメーションを表示するための画像表示信号を形成し、これを画像表示部５に供給する。
【００３１】
画像表示部５は、陰極線管や液晶ディスプレイなどが用いられ、レイアウト管理部４からの画像表示信号に応じて画像を表示する。
【００３２】
例えば、キー・フレーム・データの作成時には、オブジェクト管理部２、キー・フレーム管理部３、レイアウト管理部４、画像表示部５は、次のように動作する。
【００３３】
キー・フレーム・データを作成するため、オペレータが入力部１を介して、キー・フレーム入力モードを選択すると、この情報を受けて、各部はキー・フレームの作成情報の入力待ちとなる。そして、ユーザが入力部１を介して作成するキー・フレームのフレーム番号を設定すると、このフレーム番号が、キー・フレーム管理部３に供給される。
【００３４】
次に、オペレータは、当該キー・フレームに表示させるオブジェクトを選択し、そのオブジェクトを配置するフレーム上の座標位置、オブジェクトの大きさ、回転角度等の必要な情報を入力部１を介して入力していく。
【００３５】
このとき、入力された各情報は、順次レイアウト管理部４に供給される。レイアウト管理部４は、供給された情報に基づき、選択されたオブジェクトのモデル・データをオブジェクト管理部２から得て、当該オブジェクトをフレームに配置した画像を表示するための画像表示信号を形成する。
【００３６】
このとき、レイアウト管理部４は、入力部１を通じて入力された当該フレームのフレーム番号の情報の供給を受けて、フレームの画像とともにフレーム番号を表示するように画像表示信号を形成する。
【００３７】
形成された画像表示信号は、画像表示部５に供給され、画像表示部５の画面に、そのキー・フレームの画像が表示される。そして、オペレータは、画像表示部５の表示を見ながら、オブジェクトの位置、大きさ、回転角度などの調整を行なう。
【００３８】
そして、当該キー・フレームに配置するすべてのオブジェクトについての設定入力が完了し、画像表示部５に表示された画像でよければ、オペレータは、入力部１のキーボードの確定キーを押下するか、マウスをクリックするなどして、作成したキー・フレーム・データの確定処理を行なって、そのキー・フレーム・データを、キー・フレーム管理部３に登録する。
【００３９】
このようにして、ユーザは、作成しようとするアニメーションを作成するために必要となるすべてのキー・フレーム・データを画像表示部５に表示される画像を見ながら作成する。
【００４０】
そして、一連のアニメーションデータを作成するために必要となるすべてのキー・フレーム・データの作成が終了し、それらすべてのキー・フレーム・データがキー・フレーム管理部３に登録されると、ユーザは、アニメーションデータの作成モードを選択し、一連のアニメーションデータを作成する。このアニメーションデータの作成は、データ補間部６によって行なわれる。
【００４１】
データ補間部６は、オブジェクト管理部２、キー・フレーム管理部３からの情報を受けて、キー・フレームの画像データを用いて補間フレームの画像データを生成することにより、一連のアニメーションデータを作成する。
【００４２】
すなわち、アニメーションデータの作成モードが選択されると、入力部１からのモード選択情報に応じて、キー・フレーム管理部３は、キー・フレーム・データをデータ補間部６に供給するとともに、これらのキー・フレーム・データで指定されたオブジェクトのオブジェクトＩＤをオブジェクト管理部２に通知する。これを受けて、オブジェクト管理部２は、該当するモデル・データを読み出してデータ補間部６に供給する。また、データ補間部６には、キー・フレーム管理部３から、補間フレームのフレーム番号が、そのフレームの位置情報として提供される。
【００４３】
そして、データ補間部６は、補間フレームのフレーム番号から、その補間フレームを挟む２枚のキー・フレームを検知し、その２枚のキー・フレームのデータと当該キー・フレーム・データで指定されたオブジェクトのモデル・データとから前記２枚のキー・フレームの間の補間フレームの画像データを形成する。このようにデータ補間部６は、各キー・フレーム間に必要となる補間フレームの画像データを、前後のキー・フレームと、当該補間フレームとの空間的な距離に応じて補間処理により作成する。ここで、データ補間部６は、各補間フレームの前後のキー・フレームからの空間的な距離は、各フレームの位置情報、つまりフレーム番号によって把握する。
【００４４】
以上のようにして、データ補間部６は、キー・フレーム間の補間フレームの画像データを生成することによって一連のアニメーションデータを作成する。そして、データ補間部６は、作成したアニメーションデータをデータ記憶部７に送る。
【００４５】
データ記憶部７は、例えば、磁気ディスクや光ディスクなどの記憶媒体を備えており、キー・フレーム及び補間フレームのデータからなる一連のアニメーションデータをディスクなどに記憶する。
【００４６】
なお、前述したように、データ記憶部７に一連のアニメーションデータを記憶させる前に、アニメーション画像のモニターモードを用いて、データ補間部６で作成したアニメーションデータをキーフレーム管理部３を介してレイアウト管理部４に供給し、アニメーションを画像表示装置５に表示させて、モニターすることができる。
【００４７】
このモニターにより、生成した一連のアニメーションを修正したい場合には、キー・フレームを修正したり、キー・フレームを追加したりすることにより、より動きのスムーズなアニメーションを作成することができる。
【００４８】
また、レイアウト管理部４は、オペレータからの指示に応じて、所定の速さで一連のアニメーションを表示することができ、また、各フレームの画像を１枚、１枚、ページをめくるように表示させることもできるようにされており、画像の修正や確認などが効果的に行なえる。
【００４９】
なお、データ記憶部７には、アニメーションデータをイメージデータとして記憶してもよいし、オブジェクトＩＤ、その座標位置、回転などの表示用データを記憶するようにしてもよい。後者の場合には、アニメーションを再現するためには、オブジェクト管理部２のモデル・データと同じモデル・データが必要になるが、これをデータ記憶部７に記憶したり、あるいはアニメーション再生装置に、オブジェクト管理部２の内蔵メモリと同じ記憶内容のメモリを予め用意してもよい。
【００５０】
データ補間部６でのオブジェクトの補間処理が、ある軸の回りの回転である場合には、データ補間部６では、３次元座標系のＸ軸、Ｙ軸、Ｚ軸の各軸回りの回転として、当該回転についての補間を行なうのではなく、その補間フレームの前後のキー・フレームのデータから、当該オブジェクトが任意の一軸を中心に回転するものとして、前記補間処理を行なうようにする。
【００５１】
このため、データ補間部６は、回転についての補間を行なうときには、図２の機能ブロック図に示すように、一軸回りの回転角の算出手段６１と、補間回転行列算出手段６２を用いて、補間処理を実行する。
【００５２】
一軸回りの回転角の算出手段６１は、２枚のキー・フレームにおける回転対象のオブジェクトの回転角のＸ軸、Ｙ軸、Ｚ軸方向の成分から、２枚のキー・フレーム間で当該オブジェクトが任意の一軸を中心として回転する回転角θを求める。この回転角θの求め方の詳細は後述する。
【００５３】
補間回転行列算出手段６２は、前記の２枚のキー・フレーム間で、角度［０，θ］の範囲で前記オブジェクトが回転するとして、各補間フレームでの回転角θｄを求め、その回転角θｄを用いて補間回転行列Ｒｄを求める。そして、求めた補間回転行列Ｒｄを、３次元座標系のＸ軸、Ｙ軸、Ｚ軸の各軸回りの角度データに分解して、補間データを算出する。
【００５４】
次に、２枚のキー・フレーム間で当該オブジェクトが任意の一軸を中心として回転する回転角θの求め方について説明する。
【００５５】
３次元の座標系の原点回りの回転は、３×３の回転行列で表される。今、座標系Ｂが、座標系ＡをＸ軸回りにｒｘ度、Ｙ軸回りにｒｙ度、Ｚ軸回りにｒｚ度、この順に回転したとすると、回転行列は次の数２に示すようなものとなる。
【００５６】
【数２】
0003649469.tif 000002
この回転行列をＲとし、これが数３のように表されるとすると、その転置行列ＲT は、数４に示すようなものとなる。
【００５７】
【数３】
0003649469.tif 000003
【００５８】
【数４】
0003649469.tif 000004
ここで、
ＲT Ｒ＝１  …  （１）
が成り立つため、Ｒは直交行列である。逆に、｜Ｒ｜＝１となる直交行列は上の式で表され、回転行列である。一般に、直交行列は他の直交行列Ｔを使って、数５と正規化できることが知られている。
【００５９】
【数５】
0003649469.tif 000005
任意の２つの回転行列Ａ，Ｂがあるとき、
Ｒ＝Ａ-1Ｂ  …  （２）
とおき、上述ような直交行列Ｔを見付けて、数６とすると、数７のように表すことができる。
【００６０】
【数６】
0003649469.tif 000006
【００６１】
【数７】
0003649469.tif 000007
ここで、角度を［０，θ］の間で変化させると、前述したＡで表される座標系が、ある軸回りに回転してＢの状態になる。
このように、Ｔという直交行列を見付ければ、任意の２つの座標系の間の状態を、ある一つの回転軸の回りの回転によって補間することができる。
【００６２】
次にＴの見付け方について説明する。今、
Ｒｔ＝ｔ  …（３）
となるＲの固有ベクトルで絶対値が１のものを見付ける。これは、
（Ｒ−Ｅ）ｔ＝０  …（４）
；（Ｅは単位行列）
なので、ｔは行列（Ｒ−Ｅ）の成分ベクトルに直交する。
【００６３】
そして、（Ｒ−Ｅ）のうち、一次独立な２組を見付け、その外積を取り、それを正規化したものをｔ１とする。次に、ｔ１に垂直なベクトルを見付ける。これは、ｔ１を作った（Ｒ−Ｅ）のベクトルのどちらかを取ればよい。これも正規化してｔ２とする。次に、ｔ１とｔ２との外積を取り、ｔ３とする。これらｔ１，ｔ２，ｔ３は、すべて絶対値が１であり、かつ、互いに直交しているので、行列（ｔ１ｔ２ｔ３）は直交行列である。
【００６４】
今、行列（ｔ１ｔ２ｔ３）がＴであるとすると、数６の左辺は数８のように表すことができる。
【００６５】
【数８】
0003649469.tif 000008
ここで、前述した式（３）から、Ｒｔ１＝ｔ１であるので、数９となり、数８は、数１０のように表すことができる。
【００６６】
【数９】
0003649469.tif 000009
【００６７】
【数１０】
0003649469.tif 000010
そして、数１０の各要素を、次の数１１のように置く。
【００６８】
【数１１】
0003649469.tif 000011
すると、Ｔ、Ｒは、ともに直交行列であるので、Ｔ-1ＲＴも直交行列であり、
Ａ2 ＋Ｃ2 ＝１  …（５）
Ｂ2 ＋Ｄ2 ＝１  …（６）
Ａ2 ＋Ｂ2 ＝１  …（７）
Ｃ2 ＋Ｄ2 ＝１  …（８）
ＡＢ＋ＣＤ＝０  …（９）
ＡＣ＋ＢＤ＝０  …（10）
ＡＤ−ＢＣ＝１  …（11）
の関係があり、（式（５）−式（８））の減算により、
Ａ2 −Ｄ2 ＝０
Ａ＝±Ｄ
となる。
【００６９】
そして、Ａ＝−Ｄのとき、式（９）に代入して、
Ｄ（Ｂ−Ｃ）＝０
よって、
Ｄ＝０またはＢ＝Ｃ
となる。Ｄ＝０を式（11) に代入すると、
−ＢＣ＝１
また、（式（５）−（７））の減算から、
Ｂ＝±Ｃ
したがって、
Ｂ＝−Ｃ＝±１
となる。
【００７０】
一方、Ａ＝−Ｄ，Ｂ＝Ｃを式（11）に代入すると、
−Ｄ2 −Ｃ2 ＝１
となり、矛盾する。よって、
Ａ＝Ｄ＝０
Ｂ＝−Ｃ＝±１
である。
【００７１】
さて、Ａ＝Ｄのとき、式（９）に代入して、
Ｄ（Ｂ＋Ｃ）＝０
よって、
Ｄ＝０またはＢ＝−Ｃ
となる。
【００７２】
Ｄ＝０のときは上述と同様にして、Ｂ＝−Ｃ＝±１となる。そして、Ｄ≠０のときは、Ｂ＝−Ｃであるから、いずれの場合も、
Ａ＝Ｄ
Ｂ＝−Ｃ
Ｃ2 ＋Ｄ2 ＝１
となり、数１２とすることができる。以上のようにして、数６を満たす直交行列Ｔを見付けることができる。
【００７３】
【数１２】
0003649469.tif 000012
以上のような理論に基づいて、データ補間部６におけるオブジェクトの回転についての補間処理が行なわれる。このデータ補間部６での回転についての補間処理のルーチンの例を図３のフローチャートに示し、以下、このルーチンについて説明する。
【００７４】
まず、ステップＳ１において、補間フレームの前のキー・フレームＫ１における補間対象のオブジェクトのＸ軸、Ｙ軸、Ｚ軸の各軸回りの角度データｒｘ１，ｒｙ１，ｒｚ１と、補間フレームの後のキーフレームＫ２における補間対象のオブジェクトのＸ軸、Ｙ軸、Ｚ軸の各軸回りの角度データｒｘ２，ｒｙ２，ｒｚ２と、前記２枚のキー・フレームＫ１，Ｋ２間での補間フレームの枚数である補間ステップ数ｓを取得する。
【００７５】
次に、ステップＳ２に進み、角度データｒｘ１，ｒｙ１，ｒｚ１と角度データｒｘ２，ｒｙ２，ｒｚ２を用いて回転行列Ｒ＝Ｒ１-1Ｒ２を求める。ここで、Ｒ１，Ｒ１-1およびＲ２は、数１３に示すようなものとなる。
【００７６】
【数１３】
0003649469.tif 000013
次に、ステップＳ３に進み、直交行列Ｔを求める。これは、前述したようにして、求めることができる。次に、ステップＳ４において、この求まったＴについて、数１２の式から、当該オブジェクトがキー・フレームＫ１からキー・フレームＫ２までの間に、ある１つの軸の回りを回転するとしたときの回転角θを求める。このときの回転軸は、２枚のキー・フレームＫ１，Ｋ２間で当該オブジェクトが最小回転角を描くような回転軸である。
【００７７】
補間に当たっては、この求めた回転角θの範囲［０，θ］で、補間フレーム数ｓに応じた微小角度づつ順次に回転を行なうように考えて補間処理を行なう。このため、ステップＳ５において、前記各補間フレームにおける角度θｄを初期化（θｄ＝０）する。次のステップＳ６では、キー・フレームＫ１とキー・フレームＫ２との間の複数枚の補間フレームの最後の補間フレームまで処理を終了したか否かを判断する。終了したと判断したときには、このルーチンを終了する。
【００７８】
終了してしなければ、ステップＳ７に進んで、当該補間フレームでの角度θｄを、
θｄ＝θｄ＋θ／ｓ
なる演算により求める。
【００７９】
そして、次のステップＳ８で、当該補間フレームでの補間回転行列Ｒｄを、次の数１４から求める。
【００８０】
【数１４】
0003649469.tif 000014
次に、ステップＳ９に進み、ステップＳ８で求められた補間回転行列Ｒｄを、Ｘ軸、Ｙ軸、Ｚ軸の各軸回りの角度データｒｘｄ，ｒｙｄ，ｒｚｄに分解する。こうして補間データが作成されたらステップＳ６に戻り、次の補間フレームについての補間処理に移る。
【００８１】
以上のようにして、２枚のキー・フレーム間で、前述び図５Ｃで点線の矢印ＡＲｏに示したような、オブジェクトが任意軸回りの最小回転角を描く回転を行なう、自然な回転アニメーションとなる補間データを作成することができる。なお、このとき、前述したように、回転対象となるオブジェクトは２次元データでも３次元データでもよい。
【００８２】
【発明の効果】
以上説明したように、この発明によれば、２枚のキー・フレーム間での３次元空間での回転を、任意の一軸回りの回転をしたときの回転として、その回転角を求め、その回転角について、前記２枚のキー・フレーム間の各補間フレームでの回転角を補間により求め、それを、３次元空間座標のＸ軸、Ｙ軸、Ｚ軸の各軸回りの角度データに変換して補間処理を行なうので、アニメーションの作成者の意図する自然な回転をするアニメーションを作成することができる。
【図面の簡単な説明】
【図１】この発明によるアニメーションデータ作成装置の一実施例を説明するためのブロック図である。
【図２】この発明によるアニメーションデータ作成装置の一実施例の要部の機能ブロック図である。
【図３】この発明によるアニメーションデータ作成装置の一実施例の要部の処理動作のフローチャートを示す図である。
【図４】キーフレーム補間法によるアニメーションデータ作成方法を説明するための図である。
【図５】キーフレーム補間法による回転のアニメーションの動きを説明するための図である。
【符号の説明】
１    入力部
２    オブジェクト管理部
３    キー・フレーム管理部
４    レイアウト管理部
５    画像表示部
６    データ補間部
７    データ記憶部
６１    一軸回りの回転角の算出手段
６２    補間回転行列算出手段
【図１】
0003649469.tif 000017
【図２】
0003649469.tif 000018
【図３】
0003649469.tif 000019
【図４】
0003649469.tif 000020
【図５】
0003649469.tif 000021