(57)【要約】【課題】比較的簡易な処理で３次元オブジェクトを変形することのできる３次元オブジェクト処理装置を提供する。【解決手段】仮想３次元空間内に配置された３次元オブジェクトを、当該仮想３次元空間内に設定された複数の射影面のそれぞれに射影して得られる射影オブジェクトを、当該射影面内において変形し、各射影面内において変形された射影オブジェクトに基づいて、仮想３次元空間内の３次元オブジェクトを変形する３次元オブジェクト処理装置である。【選択図】図３
2011070605.tif 000002
【特許請求の範囲】
【請求項１】
仮想３次元空間内に配置された３次元オブジェクトの変形処理を実行する３次元オブジェクト処理装置であって、
前記３次元オブジェクトを、前記仮想３次元空間内に設定された複数の射影面のそれぞれに射影する射影手段と、
前記３次元オブジェクトを前記各射影面に射影して得られる射影オブジェクトを、当該射影面内において変形する射影オブジェクト変形手段と、
前記各射影面内において変形された前記射影オブジェクトに基づいて、前記仮想３次元空間内の前記３次元オブジェクトを変形する３次元オブジェクト変形手段と、
を含むことを特徴とする３次元オブジェクト処理装置。
【請求項２】
請求項１記載の３次元オブジェクト処理装置において、
前記３次元オブジェクトは複数の面要素を含んでなる表面形状によって構成され、
前記射影手段は、前記複数の面要素のそれぞれを前記各射影面に射影し、
前記射影オブジェクト変形手段は、前記射影された複数の面要素のそれぞれを、当該面要素同士の接続関係を保ったまま変形することにより、前記射影オブジェクトを変形する
ことを特徴とする３次元オブジェクト処理装置。
【請求項３】
請求項１又は２記載の３次元オブジェクト処理装置において、
前記複数の射影面は、互いに直交する３つの射影面であって、当該３つの射影面のそれぞれは、前記仮想３次元空間に設定された３つの基準軸のうちの２つを包含する
ことを特徴とする３次元オブジェクト処理装置。
【請求項４】
請求項１から３のいずれか一項記載の３次元オブジェクト処理装置において、
ユーザから、前記仮想３次元空間内における変化方向の指定を含む前記３次元オブジェクトの変形指示を受け付ける指示受付手段をさらに含み、
前記射影手段は、前記変形指示に含まれる変化方向に基づいて、前記複数の射影面の少なくとも一つの向きを決定する
ことを特徴とする３次元オブジェクト処理装置。
【請求項５】
請求項４記載の３次元オブジェクト処理装置において、
前記仮想３次元空間内の様子を示す画像を表示する表示部と、
前記表示部の表示画面と平行に配置され、物体の接触位置を検知するタッチセンサと、をさらに含み、
前記指示受付手段は、前記タッチセンサによって検知される接触位置の移動方向に応じて、前記仮想３次元空間内における前記画像の投影面に平行な変化方向の指定を含む変形指示を受け付け、
前記射影手段は、前記変化方向に基づいて、前記複数の射影面の少なくとも一つの向きを、前記画像の投影面に平行な向きに決定する
ことを特徴とする３次元オブジェクト処理装置。
【請求項６】
仮想３次元空間内に配置され、互いに接続される複数の頂点によって形成される表面形状を備える３次元オブジェクトの変形処理を実行する３次元オブジェクト処理装置であって、
前記複数の頂点のそれぞれを、前記仮想３次元空間内に設定された複数の射影面のそれぞれに射影する射影手段と、
前記各射影面内において、当該射影面に射影された複数の頂点によって構成される射影オブジェクトを変形する射影オブジェクト変形手段と、
前記各射影面内において変形された前記射影オブジェクトに基づいて、前記仮想３次元空間内の前記３次元オブジェクトを変形する３次元オブジェクト変形手段と、
を含むことを特徴とする３次元オブジェクト処理装置。
【請求項７】
仮想３次元空間内に配置された３次元オブジェクトを変形する３次元オブジェクト処理方法であって、
前記３次元オブジェクトを、前記仮想３次元空間内に設定された複数の射影面のそれぞれに射影するステップと、
前記３次元オブジェクトを前記各射影面に射影して得られる射影オブジェクトを、当該射影面内において変形するステップと、
前記各射影面内において変形された前記射影オブジェクトに基づいて、前記仮想３次元空間内の前記３次元オブジェクトを変形するステップと、
を含むことを特徴とする３次元オブジェクト処理方法。
【請求項８】
仮想３次元空間内に配置された３次元オブジェクトの変形処理を実行するためのプログラムであって、
前記３次元オブジェクトを、前記仮想３次元空間内に設定された複数の射影面のそれぞれに射影する射影手段、
前記３次元オブジェクトを前記各射影面に射影して得られる射影オブジェクトを、当該射影面内において変形する射影オブジェクト変形手段、及び
前記各射影面内において変形された前記射影オブジェクトに基づいて、前記仮想３次元空間内の前記３次元オブジェクトを変形する３次元オブジェクト変形手段、
としてコンピュータを機能させるためのプログラム。
【請求項９】
請求項８記載のプログラムが記憶されたコンピュータ読み取り可能な情報記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想３次元空間に配置された３次元オブジェクトの変形処理を行う３次元オブジェクト処理装置、３次元オブジェクト処理方法、プログラム、及び情報記憶媒体に関する。
【背景技術】
【０００２】
コンピュータゲームなどでは、２次元や３次元の仮想空間内にゲームキャラクタ等のオブジェクトを配置し、配置したオブジェクトを仮想空間内で移動させたり変形したりすることで、仮想空間内の様子が表現される。このように仮想空間内のオブジェクトを変形する方法として、各種の技術が提案されている。具体的に、例えば非特許文献１には、２次元平面に配置された２次元オブジェクトを変形する技術が開示されている。
【０００３】
ここで、仮想３次元空間内に配置された３次元オブジェクトを変形する場合、その内部構造まで考慮しないと自然な形状に変形することが難しい。そのため、３次元オブジェクトを変形する際には、骨格や関節などの構造を表す骨格モデルを予め生成し、当該骨格モデルに沿って全体の形状を変化させたり、物体内部まで含めた物理シミュレーションを実行して変形後の形状を決定したりするなどの方法が採られている。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】Takeo Igarashi, Tomer Moscovich, John F. Hughes,”As-Rigid-As-Possible Shape Manipulation”, ACM Transactions on Computer Graphics, Vol.24,No.3, ACM SIGGRAPH, 2005年
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上述したように、３次元オブジェクトを変形する場合、その表面形状だけでなく、内部構造まで考慮した変形処理を実行する必要がある。そのため、平面上の２次元オブジェクトを変形する場合と比較して、人手による骨格モデル作成等の作業が必要となったり、演算処理量が増えたりする傾向にある。
【０００６】
本発明は上記実情を考慮してなされたものであって、その目的の一つは、比較的簡易な処理で３次元オブジェクトを変形することのできる３次元オブジェクト処理装置、３次元オブジェクト処理方法、プログラム、及び情報記憶媒体を提供することにある。
【課題を解決するための手段】
【０００７】
本発明に係る３次元オブジェクト処理装置は、仮想３次元空間内に配置された３次元オブジェクトの変形処理を実行する３次元オブジェクト処理装置であって、前記３次元オブジェクトを、前記仮想３次元空間内に設定された複数の射影面のそれぞれに射影する射影手段と、前記３次元オブジェクトを前記各射影面に射影して得られる射影オブジェクトを、当該射影面内において変形する射影オブジェクト変形手段と、前記各射影面内において変形された前記射影オブジェクトに基づいて、前記仮想３次元空間内の前記３次元オブジェクトを変形する３次元オブジェクト変形手段と、を含むことを特徴とする。
【０００８】
上記３次元オブジェクト処理装置において、前記３次元オブジェクトは複数の面要素を含んでなる表面形状によって構成され、前記射影手段は、前記複数の面要素のそれぞれを前記各射影面に射影し、前記射影オブジェクト変形手段は、前記射影された複数の面要素のそれぞれを、当該面要素同士の接続関係を保ったまま変形することにより、前記射影オブジェクトを変形することとしてもよい。
【０００９】
また、上記３次元オブジェクト処理装置において、前記複数の射影面は、互いに直交する３つの射影面であって、当該３つの射影面のそれぞれは、前記仮想３次元空間に設定された３つの基準軸のうちの２つを包含することとしてもよい。
【００１０】
また、上記３次元オブジェクト処理装置は、ユーザから、前記仮想３次元空間内における変化方向の指定を含む前記３次元オブジェクトの変形指示を受け付ける指示受付手段をさらに含み、前記射影手段は、前記変形指示に含まれる変化方向に基づいて、前記複数の射影面の少なくとも一つの向きを決定することとしてもよい。
【００１１】
さらに上記３次元オブジェクト処理装置は、前記仮想３次元空間内の様子を示す画像を表示する表示部と、前記表示部の表示画面と平行に配置され、物体の接触位置を検知するタッチセンサと、をさらに含み、前記指示受付手段は、前記タッチセンサによって検知される接触位置の移動方向に応じて、前記仮想３次元空間内における前記画像の投影面に平行な変化方向の指定を含む変形指示を受け付け、前記射影手段は、前記変化方向に基づいて、前記複数の射影面の少なくとも一つの向きを、前記画像の投影面に平行な向きに決定することとしてもよい。
【００１２】
また、本発明に係る別の３次元オブジェクト処理装置は、仮想３次元空間内に配置され、互いに接続される複数の頂点によって形成される表面形状を備える３次元オブジェクトの変形処理を実行する３次元オブジェクト処理装置であって、前記複数の頂点のそれぞれを、前記仮想３次元空間内に設定された複数の射影面のそれぞれに射影する射影手段と、前記各射影面内において、当該射影面に射影された複数の頂点によって構成される射影オブジェクトを変形する射影オブジェクト変形手段と、前記各射影面内において変形された前記射影オブジェクトに基づいて、前記仮想３次元空間内の前記３次元オブジェクトを変形する３次元オブジェクト変形手段と、を含むことを特徴とする。
【００１３】
また、本発明に係る３次元オブジェクト処理方法は、仮想３次元空間内に配置された３次元オブジェクトを変形する３次元オブジェクト処理方法であって、前記３次元オブジェクトを、前記仮想３次元空間内に設定された複数の射影面のそれぞれに射影するステップと、前記３次元オブジェクトを前記各射影面に射影して得られる射影オブジェクトを、当該射影面内において変形するステップと、前記各射影面内において変形された前記射影オブジェクトに基づいて、前記仮想３次元空間内の前記３次元オブジェクトを変形するステップと、を含むことを特徴とする。
【００１４】
また、本発明に係るプログラムは、仮想３次元空間内に配置された３次元オブジェクトの変形処理を実行するためのプログラムであって、前記３次元オブジェクトを、前記仮想３次元空間内に設定された複数の射影面のそれぞれに射影する射影手段、前記３次元オブジェクトを前記各射影面に射影して得られる射影オブジェクトを、当該射影面内において変形する射影オブジェクト変形手段、及び前記各射影面内において変形された前記射影オブジェクトに基づいて、前記仮想３次元空間内の前記３次元オブジェクトを変形する３次元オブジェクト変形手段、としてコンピュータを機能させるためのプログラムである。このプログラムは、コンピュータ読み取り可能な情報記憶媒体に記憶されてよい。
【図面の簡単な説明】
【００１５】
【図１】本発明の実施の形態に係る３次元オブジェクト処理装置の構成図である。
【図２】本発明の実施の形態に係る３次元オブジェクト処理装置が実現する機能を示す機能ブロック図である。
【図３】本発明の実施の形態に係る３次元オブジェクト処理装置の処理対象となる３次元オブジェクトの一例を示す図である。
【図４Ａ】図３に示す３次元オブジェクトを射影面に射影してなる射影オブジェクトの一例を示す図である。
【図４Ｂ】図３に示す３次元オブジェクトを別の射影面に射影してなる射影オブジェクトの一例を示す図である。
【図４Ｃ】図３に示す３次元オブジェクトをさらに別の射影面に射影してなる射影オブジェクトの一例を示す図である。
【図５Ａ】図４Ａに示す射影オブジェクトを変形した様子を示す図である。
【図５Ｂ】図４Ｂに示す射影オブジェクトを変形した様子を示す図である。
【図５Ｃ】図４Ｃに示す射影オブジェクトを変形した様子を示す図である。
【図６】図３に示す３次元オブジェクトを変形した様子を示す図である。
【発明を実施するための形態】
【００１６】
以下、本発明の実施の形態について、図面に基づき詳細に説明する。
【００１７】
図１は、本発明の一実施形態に係る３次元オブジェクト処理装置１の構成図である。３次元オブジェクト処理装置１は、例えばパーソナルコンピュータや家庭用ゲーム機等であって、仮想３次元空間に配置された３次元オブジェクトに対する変形処理を実行する。図１に示すように、３次元オブジェクト処理装置１は、制御部１１と、記憶部１２と、操作部１３と、表示部１４と、を含んで構成される。
【００１８】
制御部１１は、ＣＰＵ等を含んで構成され、記憶部１２に記憶されたプログラムに従って各種の情報処理を実行する。本実施形態において制御部１１が実行する処理の内容については、後述する。
【００１９】
記憶部１２は、ＲＡＭやＲＯＭ等のメモリ素子を含んで構成され、制御部１１によって実行されるプログラムや各種のデータを記憶する。また、記憶部１２は制御部１１のワークメモリとしても機能する。本実施形態では、この記憶部１２内に仮想３次元空間に関する各種の情報が記憶されることによって、３次元オブジェクト処理装置１内に仮想３次元空間が構築される。
【００２０】
操作部１３は、キーボードやマウス、あるいは家庭用ゲーム機のコントローラ等であって、ユーザの操作入力を受け付けて、その内容を示す信号を制御部１１に出力する。表示部１４は、液晶ディスプレイ装置等であって、制御部１１の指示に従って各種の画像を表示する。本実施形態では、表示部１４は、仮想３次元空間内に配置される３次元オブジェクトの様子を示す画像を表示する。なお、操作部１３は、ユーザの指やスタイラス等の物体の接触位置を検知するタッチセンサを含んでもよい。このタッチセンサは、表示部１４の表示画面に対する操作入力に使用するために、表示画面と平行に配置されることが望ましい。具体的に、このタッチセンサは、表示部１４の表示画面と重畳して配置されてもよいし、３次元オブジェクト処理装置１の筐体裏面に、表示部１４の表示画面と対向するように配置されてもよい。また、このタッチセンサは、例えば静電容量式や感圧式、光学式など、物体の接触位置を検出可能なデバイスであれば、どのような方式のものであってもよい。
【００２１】
図２は、本実施形態に係る３次元オブジェクト処理装置１が実現する機能を示す機能ブロック図である。同図に示されるように、３次元オブジェクト処理装置１は、機能的に、仮想空間管理部２１と、オブジェクト射影部２２と、射影オブジェクト変形部２３と、３次元オブジェクト変形部２４と、を含んで構成される。これらの機能は、制御部１１が記憶部１２に記憶されたプログラムを実行することにより、実現される。このプログラムは、光ディスク媒体等の各種のコンピュータ読み取り可能な情報記憶媒体に格納されて提供されてもよいし、インターネット等の通信ネットワーク経由で提供されてもよい。
【００２２】
仮想空間管理部２１は、記憶部１２内に構築される仮想３次元空間Ｓに関する情報を管理する。具体的に、仮想空間管理部２１は、３次元オブジェクトＯを仮想３次元空間Ｓ内に配置する。また、仮想空間管理部２１は、ユーザが操作部１３を介して入力する３次元オブジェクトＯに対する操作指示を受け付ける指示受付手段として機能する。さらに仮想空間管理部２１は、仮想３次元空間Ｓ内に設定された視点位置ＶＰ及び視線方向ＶＤに関する情報を管理しており、これらの情報を用いて視点位置ＶＰから視線方向ＶＤに向かって仮想３次元空間Ｓ内を見た様子を示す画像を描画する。仮想空間管理部２１が描画した画像を表示部１４が表示することによって、ユーザは、仮想３次元空間Ｓ内に配置された３次元オブジェクトＯを閲覧できる。
【００２３】
以下では具体例として、本実施形態で処理対象となる３次元オブジェクトＯは略円柱形のオブジェクトであって、その表面は２つの略円形の底面と略円筒状の側面とから構成されることとする。図３は、この３次元オブジェクトＯが配置された仮想３次元空間Ｓの様子を示す図である。３次元オブジェクトＯは、表面（外面）形状だけで構成されてよく、内部構造に関する情報を持っていなくともよい。この３次元オブジェクトＯの表面形状は、図３に示されるように、複数の面要素によって構成されている。ここでは各面要素は、三角形の平板状の構造をしたポリゴンであるものとし、このような平板状の面要素が多数集まることによって、近似的に３次元オブジェクトＯの表面を構成する曲面が表現されている。すなわち、３次元オブジェクトＯの表面形状は、当該３次元オブジェクトＯを構成する各面要素の頂点の位置座標と、各面要素の接続関係に関する情報と、によって決定されている。ここで、各面要素の接続関係に関する情報は、３次元オブジェクトＯの表面において、各頂点が他の頂点とどのように接続されているかを示す情報である。この情報によって、各面要素同士がどの頂点や辺を共有して隣接しているかが規定される。換言すると、図３に例示する３次元オブジェクトＯは、互いに接続される複数の頂点によって形成される表面形状を備えていることになる。
【００２４】
また、仮想３次元空間Ｓには、互いに直交する３つの基準軸（Ｘ軸、Ｙ軸及びＺ軸）が設定されている。各面要素の頂点の位置座標は、この３つの基準軸を基準として表される。
【００２５】
オブジェクト射影部２２は、この３次元オブジェクトＯを、仮想３次元空間Ｓ内に設定された複数の射影面のそれぞれに射影する。ここではオブジェクト射影部２２は、３次元オブジェクトＯの表面形状を構成する各頂点を、仮想３次元空間Ｓ内に設定された互いに直交する３つの射影面Ｐ１，Ｐ２及びＰ３のそれぞれに射影することとする。すなわち、オブジェクト射影部２２は、各面要素の頂点を、当該頂点を通り各射影面と直交する垂線と、各射影面と、の交点に射影することによって、３次元オブジェクトＯの表面を構成する各面要素を３つの射影面のそれぞれに射影する。なお、以下では、射影面Ｐ１はＺ軸及びＸ軸を含むＺＸ平面、射影面Ｐ２はＸ軸及びＹ軸を含むＸＹ平面、射影面Ｐ３はＹ軸及びＺ軸を含むＹＺ平面であることとする。また、３次元オブジェクトＯを射影面Ｐ１，Ｐ２及びＰ３のそれぞれに射影して得られる２次元オブジェクトを、それぞれ射影オブジェクトＯｐ１，Ｏｐ２及びＯｐ３と表記する。また、ここではオブジェクト射影部２２は、３次元オブジェクトＯを射影面Ｐ１，Ｐ２及びＰ３のそれぞれに対して直交射影することとしたが、射影の方法はこのようなものに限られない。例えばオブジェクト射影部２２は、各面要素の頂点と射影点とを結ぶ直線の各射影面に対する角度が９０°以外の予め定められた角度になるように、３次元オブジェクトＯを各射影面に対して斜めに射影してもよい。あるいは、予め定められた仮想３次元空間内の基準点（例えば視点位置ＶＰや仮想３次元空間内に設定された光源の位置）と各頂点とを結ぶ直線を各射影面まで延長することによって、３次元オブジェクトＯを各射影面に対して放射状に射影してもよい。
【００２６】
図４Ａ、図４Ｂ及び図４Ｃは、図３に示す円柱状の３次元オブジェクトＯを射影面Ｐ１，Ｐ２及びＰ３のそれぞれに射影して得られる射影オブジェクトＯｐ１，Ｏｐ２及びＯｐ３を示す図である。ここで、例えば図４Ｃにおいては、円柱の一つの底面だけが射影面Ｐ３上に現れているように見えるが、実際には２つの底面のそれぞれを構成する面要素が重なって射影されている。また、円柱の側面を構成する各面要素も、底面の外周に重なるように略直線状に射影されている。同様に、図４Ａ及び図４Ｂにおいても、側面の手前側だけでなく、奥側の面要素も重なって射影されており、さらに円柱の底面を構成する各面要素も側面の端部に重なって射影されている。すなわち、各射影オブジェクトＯｐ１，Ｏｐ２及びＯｐ３は、いずれも３次元オブジェクトＯの表面形状を構成する全ての面要素を含んで構成されている。
【００２７】
さらに、これらの各面要素は、その接続関係を保ったまま各射影面に射影される。すなわち、仮想３次元空間Ｓ内において互いに隣接していた面要素同士は、各射影面内においても同じ頂点又は辺を共有して隣接している。
【００２８】
射影オブジェクト変形部２３は、オブジェクト射影部２２によって各射影面に射影された射影オブジェクトＯｐ１，Ｏｐ２及びＯｐ３のそれぞれを、当該射影オブジェクトが射影された射影面内において変形する。具体的に、射影オブジェクト変形部２３は、３次元オブジェクトＯの表面形状を形成する複数の頂点を各射影面に射影して得られる複数の射影点のそれぞれを、射影点同士の接続関係を保ったまま、当該射影面内で移動させる。これに応じて、射影された各面要素は、お互いの接続関係を保ったまま変形され、これによって互いに接続される複数の射影点によって構成される射影オブジェクトの全体が変形される。
【００２９】
ここで、射影オブジェクト変形部２３は、予め定められた変形アルゴリズム及び入力条件に従って、各射影オブジェクトに対する変形処理を行う。射影オブジェクト変形部２３が実行する変形処理は、各射影面内において、各射影点同士の接続関係を保ったまま射影オブジェクトを変形させる処理であれば、どのようなものであってもよい。なお、射影オブジェクトは２次元平面上のオブジェクトであって、当該射影オブジェクトの変形も射影面内で行われるので、ここで用いられる変形アルゴリズムは、２次元オブジェクト用の変形アルゴリズムであってもよい。つまり、本実施形態に係る３次元オブジェクト処理装置１は、３次元オブジェクトＯの変形を行うために、立体的な形状を持つオブジェクトにはそのまま適用できないような変形アルゴリズムを利用することもできる。また、射影オブジェクト変形部２３は、各射影オブジェクトの変形処理を互いに独立に実行すればよい。すなわち、各射影オブジェクトの変形処理は、他の射影面に射影された射影オブジェクトの変形処理の結果とは無関係に実行される。
【００３０】
以下、射影オブジェクト変形部２３が各射影オブジェクトに対して実行する変形処理の具体例について、説明する。なお、ここでは射影オブジェクト変形部２３は、ユーザが操作部１３を介して入力する操作指示に従って、各射影オブジェクトを変形することとする。具体的に、ユーザは、３次元オブジェクトＯが表示部１４の画面に表示された状態で、３次元オブジェクトＯの表面を構成する複数の面要素の頂点のうち、その位置を固定する固定点（動かさない点）及び位置を変化させる変形点（動かす点）を指定することとする。また、変形点に対する変形指示として、仮想３次元空間Ｓ内における当該変形点の位置の変化方向及び変化量も指定する。これらの指示情報は、仮想空間管理部２１によって受け付けられ、射影オブジェクト変形部２３に入力される。
【００３１】
図３には、このようなユーザの指示内容の具体例が示されている。この図の例では、三角形の印が付された３つの頂点が固定点であって、丸印が付された３つの頂点が変形点である。また、各変形点の変化方向及び変化量を表す変形ベクトルは、各変形点を起点とした矢印によって示されている。すなわち、この図の例では、３つの変形点を図の上方（すなわち、Ｚ軸正方向）に移動させる変形指示をユーザが行ったことが示されている。なお、ユーザは、このような変形点の移動指示を、複数の変形点に対して共通に実行してもよい。この場合、各変形点の変化方向及び変化量は、いずれも同じになる。あるいは、ユーザは、変形点の移動指示を、複数の変形点のそれぞれに対して個別に実行してもよい。この場合、各変形点の変化方向及び変化量は、互いに異なって構わない。
【００３２】
また、操作部１３がタッチセンサを含む場合、ユーザは、表示部１４に３次元オブジェクトＯが表示された状態で、この表示された３次元オブジェクトＯ内の位置に対応するタッチセンサの位置に指やスタイラスを接触させ、そのままタッチセンサ上において指やスタイラスを動かすことで、変形指示を入力してもよい。この場合、タッチセンサ上の接触位置に対応する３次元オブジェクトＯの表面上の位置（例えば３次元オブジェクトＯの表面形状を構成する各頂点のうち、接触位置に一致又は最も近接する頂点）が変形点となり、接触位置の移動方向及び移動量に対応する方向及び距離が、当該変形点に対する変形方向及び変形量の指示となる。この場合の変形方向は、例えば視線方向ＶＤに垂直な方向（すなわち、画像の投影面に平行な方向）であってよい。
【００３３】
射影オブジェクト変形部２３は、この変形ベクトルを各射影面に射影することによって、各射影面に射影された変形点の変化方向及び変化量を決定する。図４Ａ、図４Ｂ及び図４Ｃには、図３に例示する操作指示があった場合の、射影オブジェクトＯｐ１，Ｏｐ２及びＯｐ３それぞれにおける固定点及び変形点の位置、並びに射影された変形ベクトルが示されている。なお、この例では各変形点に対する変形ベクトルは射影面Ｐ２と直交しているので、射影面Ｐ２の射影された変形ベクトルの大きさは０になり、図４Ｂ中には現れない。
【００３４】
射影オブジェクト変形部２３は、この固定点、変形点、及び射影された変形ベクトルに応じて、射影オブジェクトＯｐ１，Ｏｐ２及びＯｐ３のそれぞれを、その平面形状をなるべく保つようにして変形する。すなわち、射影オブジェクト変形部２３は、固定点については移動させず、かつ、変形点については、射影された変形ベクトルが示す方向及び移動量で射影面内を移動させるという条件の下で、固定点及び変形点を除くその他の頂点については、変形点の移動に伴う各面要素の形状の変化が最小限に抑えられるように、射影面内を移動させる。具体的に、射影オブジェクト変形部２３は、射影された変形ベクトルが示す方向及び移動量で移動した後の変形点の位置を算出し、固定点の位置、及び移動後の変形点の位置を基準として、他の各頂点の位置を算出する。これによって、各射影オブジェクトは、射影面内においてユーザの変形指示を反映した態様で変形される。このような変形処理は、例えば非特許文献１に開示される方法で実現されてよい。
【００３５】
図５Ａ、図５Ｂ及び図５Ｃのそれぞれは、図４Ａ、図４Ｂ及び図４Ｃのそれぞれに示される射影オブジェクトを、同図に示される操作指示に従って変形した様子を示す図である。前述の通り、射影面Ｐ２内においては射影された変形ベクトルの大きさが０になるので、図５Ｂに示されるように、射影オブジェクトＯｐ２は実質的に変形されずそのままの形状を保っている。一方、図５Ａに示されるように、射影オブジェクトＯｐ１は、その一方端が上方に持ち上げられるように変形している。また、図５Ｃに示されるように、射影オブジェクトＯｐ３は、重なっていた２つの円の一方が上方に持ち上げられるように変形している。なお、これに伴って円の外周と重なっていた円柱の側面に対応する面要素が射影面Ｐ２上に現れるが、図の簡略化のために、図５Ｃにおいては円柱の側面に対応する面要素は省略されている。
【００３６】
射影オブジェクト変形部２３は、上述した方法以外の他の変形アルゴリズムに従って各射影オブジェクトの変形処理を実行してもよい。例えば射影オブジェクト変形部２３は、２次元バネ−質点系モデルに基づいて、各射影オブジェクトを変形してもよい。この場合、例えば各面要素の頂点を質点、各頂点を結ぶ面要素の辺をバネとみなすことによって、各射影オブジェクトは互いにバネで接続された質点の集合として表される。ユーザの操作指示を表す変形ベクトルに応じて変形点が各射影面内を移動すると、その移動に応じて各バネに弾性力が生じ、この弾性力が各質点に作用することになる。射影オブジェクト変形部２３は、この各質点に作用する力の大きさを演算することによって、各質点の移動方向及び移動量を決定する。このようにして決定された移動方向及び移動量に応じて各頂点を移動させることで、射影オブジェクト全体をユーザの操作指示に応じて変形することができる。なお、このような変形アルゴリズムを３次元オブジェクトＯにそのまま適用する場合、通常、３次元オブジェクトＯの内部構造を規定するための質点及びバネが３次元オブジェクトＯの内部に配置されるが、本実施形態では、各射影面上に射影された２次元オブジェクトに対して変形を行うので、必ずしもこのような内部構造を規定する質点及びバネを用意する必要はない。
【００３７】
あるいは射影オブジェクト変形部２３は、ＦＦＤ（Free Form Deformation）と呼ばれる手法によって射影オブジェクトを変形してもよい。この場合、射影オブジェクト変形部２３は、射影オブジェクトが配置された射影面の一部又は全部を歪ませる変形を行うことにより、射影面内の射影オブジェクトを変形する。この場合も、平面上の変形を行うだけなので、３次元オブジェクトＯが配置された仮想３次元空間Ｓ自体を変形する場合と比較して、より軽い処理負荷で各射影オブジェクトを変形する演算を行うことができる。
【００３８】
３次元オブジェクト変形部２４は、射影オブジェクト変形部２３によって各射影面内で変形された射影オブジェクトの形状に基づいて、仮想３次元空間Ｓ内の３次元オブジェクトＯを変形する。具体的に、３次元オブジェクト変形部２４は、各射影面で変形された３つの射影オブジェクトＯｐ１，Ｏｐ２及びＯｐ３の形状を合成することによって、変形後の３次元オブジェクトＯの形状を決定する。
【００３９】
ここで、３次元オブジェクト変形部２４が実行する処理の具体例について、説明する。３次元オブジェクトＯの表面形状を構成する各面要素の頂点の一つを頂点Ｖとすると、当該頂点Ｖは、オブジェクト射影部２２によって３つの射影面Ｐ１，Ｐ２及びＰ３のそれぞれに射影されている。ここで頂点Ｖを３つの射影面Ｐ１，Ｐ２及びＰ３のそれぞれに射影して得られる点をそれぞれ射影点Ｖｐ１，Ｖｐ２及びＶｐ３と表記すると、射影オブジェクト変形部２３によって、射影オブジェクト変形後の射影点Ｖｐ１，Ｖｐ２及びＶｐ３それぞれの射影面内における位置が決定される。この変形後の射影点Ｖｐ１，Ｖｐ２及びＶｐ３それぞれの射影面内の位置に基づいて、仮想３次元空間Ｓ内における変形後の頂点Ｖの位置が決定される。すなわち、射影面Ｐ１内における点Ｖｐ１のＸ座標値と射影面Ｐ２内における点Ｖｐ２のＸ座標値の平均値を、頂点ＶのＸ座標値として算出する。同様に、射影面Ｐ２内における点Ｖｐ２のＹ座標値と射影面Ｐ３内における点Ｖｐ３のＹ座標値を用いて頂点ＶのＹ座標値を、射影面Ｐ３内における点Ｖｐ３のＺ座標値と射影面Ｐ１内における点Ｖｐ１のＺ座標値を用いて頂点ＶのＺ座標値を、それぞれ算出する。これによって、３次元オブジェクトＯが変形した後の頂点Ｖの位置座標が決定される。同様の処理を３次元オブジェクトＯの表面形状を構成する各頂点について実行することで、各射影オブジェクトの変形を反映した仮想３次元空間Ｓ内における各頂点の位置座標が決定される。この各頂点は、３次元オブジェクトＯを各射影面に射影する前の接続関係を保っているので、この接続関係に従って各頂点を接続することで、３次元オブジェクトＯ全体の変形後の表面形状が決定される。図６は、図５Ａ、図５Ｂ及び図５Ｃに示される射影オブジェクトＯｐ１，Ｏｐ２及びＯｐ３をこのようにして合成して得られる、変形後の３次元オブジェクトＯの一例を示す図である。
【００４０】
３次元オブジェクト変形部２４によって変形された３次元オブジェクトＯは、仮想空間管理部２１によって表示部１４に表示され、ユーザに提示される。なお、以上説明したオブジェクト射影部２２による射影処理、射影オブジェクト変形部２３による射影オブジェクトの変形処理、３次元オブジェクト変形部２４が各射影オブジェクトを合成して３次元オブジェクトＯを変形する処理、及び仮想空間管理部２１が変形後の３次元オブジェクトＯを表示する処理は、所定時間おきに繰り返し実行されてよい。これによって、ユーザは、自分が操作部１３に対して入力した操作指示に応じて３次元オブジェクトＯが変形していく様子を閲覧できる。
【００４１】
以上説明した本実施形態に係る３次元オブジェクト処理装置１によれば、３次元オブジェクトＯを複数の射影面に射影して得られる射影オブジェクトのそれぞれに対して変形処理を実行し、その結果を合成して３次元オブジェクトＯの変形後の形状を決定する。すなわち、変形処理自体は平面上のオブジェクトに対して実行されるので、３次元オブジェクトＯそのものを直接変形する場合と比較して、内部構造を考慮せずに変形処理を行うことができ、処理負荷を軽減できる。また、平面上のオブジェクトのみを対象とした変形アルゴリズムを利用して３次元オブジェクトＯを変形することもできる。
【００４２】
なお、本発明の実施の形態は以上説明したものに限られない。例えば以上の説明においては、射影面Ｐ１，Ｐ２及びＰ３が互いに直交し、かつ、位置座標決定に用いられる３つの基準軸に平行であることとしたが、射影面はこのようなものに限られない。すなわち、仮想３次元空間Ｓ内に設定される射影面は、必ずしも３つである必要はなく、２つでも、また４つ以上でもよい。さらに、各射影面は基準軸に平行でなくともよく、また互いに直交しておらずともよい。
【００４３】
ここで、射影面の数及び向きは、３次元オブジェクトＯの形状及びその変化の特徴がより顕著に表れるように選択することが望ましい。そのため、オブジェクト射影部２２は、３次元オブジェクトＯの外形に応じて射影面を設定してもよい。具体例として、オブジェクト射影部２２は、３次元オブジェクトＯの長手方向（最も両端間の距離が長くなる方向）に平行な面を少なくとも射影面として選択する。例えば図３に示す円柱形のオブジェクトであれば、当該オブジェクトを底面から見た形状よりも、側面から見た形状の方が、変形の自由度が大きい。そこで、この側面から見た向きに３次元オブジェクトＯを射影するような面を優先的に射影面として設定することで、３次元オブジェクトＯの特徴的な変形を表現することができる。あるいは、オブジェクト射影部２２は、射影オブジェクトが射影面に占める面積が最も大きくなるような面を、射影面の一つとして選択してもよい。
【００４４】
また、オブジェクト射影部２２は、変形点に対する変形指示の方向（すなわち、変形ベクトルの方向）に応じて射影面を決定してもよい。ユーザが変形指示を行う場合、少なくとも変形ベクトルの方向に対する３次元オブジェクトＯの変形は、明確にユーザに提示されることが望ましい。そこで、この変形ベクトルの方向に平行な平面を射影面として選択することで、当該変形ベクトルにより示される変形指示がより反映されるように３次元オブジェクトＯを変形することができる。なお、複数の変形点に対して変形指示がなされている場合、これら複数の変形ベクトルを合成して得られる合成ベクトルの向きに応じて射影面を決定してもよい。また、複数の変形ベクトルそれぞれの向きに応じて、複数の射影面それぞれの向きを決定してもよい。
【００４５】
また、オブジェクト射影部２２は、視線方向ＶＤに応じて射影面を決定してもよい。３次元オブジェクト処理装置１が視線方向ＶＤに沿って仮想３次元空間Ｓを見た様子を表示部１４に表示する場合、この視線方向ＶＤに垂直な向きの形状の変化はユーザに分かり易く提示され、一方で視線方向ＶＤに平行な向きの変化は画面上に明確に現れにくい。そこで、例えばオブジェクト射影部２２は、少なくとも視線方向ＶＤに垂直な平面を射影面の一つとして選択することで、画面上に現れやすい形状の変化を３次元オブジェクトＯ全体の変形に反映させることができる。
【００４６】
なお、以上説明した射影面の向きを決定する複数の基準は、互いに組み合わせて用いられてもよい。例えばオブジェクト射影部２２は、複数の射影面の一つを３次元オブジェクトＯの長手方向に平行な平面とし、他の一つを視線方向ＶＤに直交する平面としてもよい。あるいは、３次元オブジェクトＯの長手方向に対する傾きが小さく、かつ、視線方向ＶＤに対する傾きが大きな平面を射影面の一つとして選択することとしてもよい。
【００４７】
さらに、オブジェクト射影部２２は、３次元オブジェクトＯを射影して得られる射影オブジェクトの形状によっては、射影面の向きを変化させて、３次元オブジェクトＯの射影処理を再実行してもよい。例えば３次元オブジェクトＯの表面形状を構成する面要素の多くが射影面に対して直交している場合、このような面要素は射影面に射影された際に大きさ（面積）を持たない直線形状になってしまう。ところが、変形アルゴリズムの種類によっては、各面要素の形状を変化させて射影オブジェクトを変形するので、多数の面要素が直線状に射影されてしまうと、正常に変形処理を実行することが難しくなってしまう場合がある。そこで、このような場合には、射影面の向きを所定量だけ変化させて、再度射影処理を実行することで、直線状に射影される面要素の数を減らすことができる。
【００４８】
ここで、前述したように射影面が互いに直交し、かつ基準軸に平行な場合には、単純に各射影面内における射影点の位置座標値の平均を算出することで、各射影面内における射影点の位置を合成して、仮想３次元空間Ｓ内における頂点の位置を決定することができる。しかしながら、一部又は全部の射影面が位置座標を規定する基準軸に対して斜交している場合、３次元オブジェクト変形部２４は、各射影面に射影された射影点の位置を合成する際に、各射影面の基準軸に対する傾きを考慮して、当該射影面内の位置座標値に対して補正を行ってから、他の射影面の位置座標値との平均を算出する必要がある。
【００４９】
具体例として、仮想３次元空間Ｓ内に２つの射影面Ｐ１及びＰ２が設定され、射影面Ｐ１は前述の例と同様にＺＸ平面であり、射影面Ｐ２はＸ軸を含みＹ軸及びＺ軸のそれぞれに対して４５°傾いた平面である場合について、説明する。ここで、ある頂点Ｖ１を射影面Ｐ１上に射影して得られる射影点の変形処理後の位置座標が（ｕ１，ｖ１）で、当該頂点Ｖ１を射影面Ｐ２上に射影して得られる射影点の変形処理後の位置座標が（ｕ２，ｖ２）だったとする。なお、射影面Ｐ１上の位置座標は、仮想３次元空間ＳのＸ軸に沿った位置を第１成分、Ｚ軸に沿った位置を第２成分として表されている。また、射影面Ｐ２上の位置座標は、仮想３次元空間ＳのＸ軸に沿った位置を第１成分、Ｘ軸と直交する軸に沿った位置を第２成分として表されている。この場合、２つの射影点の位置から、仮想３次元空間Ｓ内における３次元オブジェクトＯ変形後の頂点Ｖ１の位置は、
Ｘ座標値：（ｕ１＋ｕ２）／２
Ｙ座標値：ｖ２・ｓｉｎ４５°
Ｚ座標値：（ｖ１＋ｖ２・ｃｏｓ４５°）／２
と算出されることになる。
【００５０】
また、オブジェクト射影部２２が、３次元オブジェクトＯを構成する頂点を各射影面に対して斜めに射影している場合（すなわち、各頂点の射影方向が射影面に対して斜交している場合）も、３次元オブジェクト変形部２４は、この射影方向の射影面に対する傾きを考慮して、当該射影面内における射影点の位置座標値に対して補正を行ってから、他の射影面内における射影点の位置座標値との平均を算出する。この場合の補正処理は、上述した射影面が基準軸に対して傾いている場合と同様の補正処理であってよい。また、オブジェクト射影部２２が各頂点を放射状に射影した場合には、当該射影の態様（例えば各頂点の射影方向の射影面に対する角度や、射影の基準点から当該頂点までの距離、基準点から当該頂点に対応する射影点までの距離など）を考慮して、各頂点に対応する複数の射影点を合成する処理を実行してもよい。
【００５１】
なお、各射影面上の射影点を合成して仮想３次元空間Ｓ内における変形後の頂点位置を算出する際には、各射影面について重み付けを行ってから、各射影面の座標値の平均を算出することとしてもよい。この場合の重み付け係数は、どの射影面における射影オブジェクトの変形を重視するかによって決定される。例えば３次元オブジェクト変形部２４は、前述したように３次元オブジェクトＯの外形や視線方向ＶＤの向き、変形ベクトルの向きなどに応じて複数の射影面のうちの一部の射影面の向きを決定した場合、当該一部の射影面に対する重み付け係数を他の射影面に対する重み付け係数より大きくしてもよい。また、射影面自体はこれらの情報と無関係に決定される場合であっても、３次元オブジェクト変形部２４は、３次元オブジェクトＯの外形や視線方向ＶＤの向き、変形ベクトルの向きなどに応じて各射影面の重み付け係数を決定してもよい。例えば３次元オブジェクト変形部２４は、３次元オブジェクトＯの長手方向に対する傾きが小さな射影面や、視線方向ＶＤに対する傾きが大きな射影面、あるいは変形ベクトルの向きに対する傾きが小さな射影面ほど、重み付け係数が大きくなるように、各射影面の重み付け係数を決定する。このような制御を行うことにより、３次元オブジェクトＯの長手方向に沿った向きの変形や、視線方向ＶＤと交差する方向の変形、操作方向に沿った向きの変形が強調されるように、３次元オブジェクトＯの変形を行うことができる。
【００５２】
なお、このような各射影面の重み付け係数を決定する基準も、複数種類組み合わせて用いられてよい。例えば３次元オブジェクト変形部２４は、各射影面の視線方向ＶＤ及び変形ベクトル双方に対する傾きに応じて、各射影面の重み付け係数を決定してもよい。
【００５３】
また、以上の説明においては、３次元オブジェクトＯの表面形状は面要素によって構成されることとしたが、これに限らず、例えば複数の頂点位置とその接続関係を規定する情報によって構成されてもよい。質点−バネモデルを用いる場合であれば、このような情報だけで射影オブジェクトの変形処理が可能である。また、これまでの説明では、３次元オブジェクトＯは内部構造に関する情報を持たないこととしたが、３次元オブジェクトＯは内部構造に関する情報を含んで構成されてもよい。具体的に、例えば３次元オブジェクトＯは、その内部構造を規定する骨格モデル（スケルトン）と、この骨格モデルを取り囲む外皮とに基づいて構成されてもよい。この場合、オブジェクト射影部２２は骨格モデルを各射影面に射影することとし、各射影面に射影された骨格モデルが、射影オブジェクト変形部２３による変形の対象となる射影オブジェクトとなる。すなわち、射影オブジェクト変形部２３は、ユーザの操作指示に基づいて、各射影面上の骨格モデルを変形し、３次元オブジェクト変形部２４は、この変形された各射影面上の骨格モデルの情報に基づいて、仮想３次元空間Ｓ内の骨格モデルを変形する。これによって、仮想３次元空間Ｓ内の３次元オブジェクトＯが変形する。この場合も、変形処理を２次元空間内のオブジェクトに対して行うので、３次元オブジェクトＯを直接変形する場合と比較して、処理負荷を軽減できる。
【００５４】
また、以上の説明においては３次元オブジェクト処理装置１自身が仮想３次元空間Ｓ内の様子を示す画像の描画を行い、３次元オブジェクトＯを表す画像を表示部１４に表示することとしたが、３次元オブジェクト処理装置１は外部のクライアント装置からの要求に応じて３次元オブジェクトＯの変形処理を実行することとし、描画処理自体は行わないこととしてもよい。この場合、３次元オブジェクト処理装置１はクライアント装置から入力される変形指示に関する情報に基づいて３次元オブジェクトＯを変形させる処理を実行し、その結果得られる変形後の３次元オブジェクトＯの形状を示す情報を、クライアント装置に対して返信する。
【００５５】
また、以上の説明においては、ユーザが操作部１３に対して入力する変形指示に応じて、各射影オブジェクトの変形が行われることとしたが、変形の内容は、例えば３次元オブジェクトＯの形状を定義するアプリケーションプログラムの処理内容に応じて決定されてもよい。
【符号の説明】
【００５６】
１  ３次元オブジェクト処理装置、１１  制御部、１２  記憶部、１３  操作部、１４  表示部、２１  仮想空間管理部、２２  オブジェクト射影部、２３  射影オブジェクト変形部、２４  ３次元オブジェクト変形部。
【図１】
2011070605.tif 000003
【図２】
2011070605.tif 000004
【図３】
2011070605.tif 000005
【図４Ａ】
2011070605.tif 000006
【図４Ｂ】
2011070605.tif 000007
【図４Ｃ】
2011070605.tif 000008
【図５Ａ】
2011070605.tif 000009
【図５Ｂ】
2011070605.tif 000010
【図５Ｃ】
2011070605.tif 000011
【図６】
2011070605.tif 000012