(57)【特許請求の範囲】
【請求項１】
仮想空間に配置される平面状の物体が他の物体に固定されつつ振動する様子を表す画像を生成して表示する画像処理装置であって、
当該物体が配置される平面内に、第１テクスチャ画像を貼り付ける第１多角形領域と、第２テクスチャ画像を貼り付ける第２多角形領域と、が設定され、
当該第１テクスチャ画像と当該第２テクスチャ画像は、それぞれ透明領域と不透明領域とから構成され、
当該第１テクスチャ画像の所定の一辺上における当該不透明領域の位置と、当該第２テクスチャ画像の所定の一辺上における当該不透明領域の位置は、一致し、
当該第１多角形領域の位置と形状と、当該第２多角形領域の位置と形状と、を記憶する記憶部と、
当該第１多角形領域と当該第２多角形領域のそれぞれの所定の一辺（以下「固定辺」という。）の位置が重なるようにそれぞれの固定辺を固定し、且つ、当該第１多角形領域と当該第２多角形領域のそれぞれの当該固定辺の端点以外の頂点の位置を、当該第１多角形領域については第１の周期で、当該第２多角形領域については第２の周期でそれぞれ振動させて、当該形状を変化させるように、前記記憶部に記憶される形状を更新する更新部と、
前記記憶部に記憶される位置と形状に基づいて、当該第１多角形領域に当該第１テクスチャ画像を貼り付け、当該第２多角形領域に当該第２テクスチャ画像を貼り付けた画像を生成して表示する生成表示部と、
を備えることを特徴とする画像処理装置。
【請求項２】
請求項１に記載の画像処理装置であって、
前記更新部は、当該第１多角形領域の当該固定辺の位置と、当該第２多角形領域の当該固定辺の位置と、を一致させて、当該第１テクスチャ画像をアフィン変換して変形し、当該第２テクスチャ画像をアフィン変換して変形する、
ことを特徴とする画像処理装置。
【請求項３】
請求項１又は２に記載の画像処理装置であって、
前記更新部は、当該第２多角形領域を、当該第１多角形領域を変形する向きと逆向きに変形することにより、当該第１多角形領域の形状と当該第２多角形領域の当該形状を変化させる、
ことを特徴とする画像処理装置。
【請求項４】
請求項１乃至３のいずれか１項に記載の画像処理装置であって、
前記更新部は、当該第１多角形領域と当該第２多角形領域のそれぞれの当該固定辺の端点以外の頂点の位置を、それぞれの当該固定辺が伸びる向きに振動させるように、前記記憶部に記憶される形状を更新する、
ことを特徴とする画像処理装置。
【請求項５】
請求項１乃至３のいずれか１項に記載の画像処理装置であって、
前記更新部は、当該第１多角形領域と当該第２多角形領域のそれぞれの当該固定辺の端点以外の頂点の位置を、それぞれの当該固定辺が伸びる向きと垂直な向きに振動させるように、前記記憶部に記憶される形状を更新する、
ことを特徴とする画像処理装置。
【請求項６】
記憶部、更新部、生成表示部を有し、仮想空間に配置される平面状の物体が他の物体に固定されつつ振動する様子を表す画像を生成して表示する画像処理装置にて実行される画像処理方法であって、
当該物体が配置される平面内に、第１テクスチャ画像を貼り付ける第１多角形領域と、第２テクスチャ画像を貼り付ける第２多角形領域と、が設定され、
当該第１テクスチャ画像と当該第２テクスチャ画像は、それぞれ透明領域と不透明領域とから構成され、
当該第１テクスチャ画像の所定の一辺上における当該不透明領域の位置と、当該第２テクスチャ画像の所定の一辺上における当該不透明領域の位置は、一致し、
前記記憶部には、当該第１テクスチャ画像を貼り付ける第１多角形領域の位置と形状と、当該第２テクスチャ画像を貼り付ける第２多角形領域の位置と形状と、が記憶され、
当該第１多角形領域と当該第２多角形領域のそれぞれの所定の一辺（以下「固定辺」という。）の位置が重なるようにそれぞれの固定辺を固定し、且つ、当該第１多角形領域と当該第２多角形領域のそれぞれの当該固定辺の端点以外の頂点の位置を、当該第１多角形領域については第１の周期で、当該第２多角形領域については第２の周期でそれぞれ振動させて、当該形状を変化させるように、前記更新部が前記記憶部に記憶される形状を更新する更新ステップと、
前記生成表示部が、前記記憶部に記憶される位置と形状に基づいて、当該第１多角形領域に当該第１テクスチャ画像を貼り付け、当該第２多角形領域に当該第２テクスチャ画像を貼り付けた画像を生成して表示する生成表示ステップと、
を備えることを特徴とする画像処理方法。
【請求項７】
仮想空間に配置される平面状の物体が他の物体に固定されつつ振動する様子を表す画像を生成して表示するコンピュータにおいて実行されるプログラムであって、
当該物体が配置される平面内に、第１テクスチャ画像を貼り付ける第１多角形領域と、第２テクスチャ画像を貼り付ける第２多角形領域と、が設定され、
当該第１テクスチャ画像と当該第２テクスチャ画像は、それぞれ透明領域と不透明領域とから構成され、
当該第１テクスチャ画像の所定の一辺上における当該不透明領域の位置と、当該第２テクスチャ画像の所定の一辺上における当該不透明領域の位置は、一致し、
当該第１多角形領域の位置と形状と、当該第２多角形領域の位置と形状と、を記憶する記憶部、
当該第１多角形領域と当該第２多角形領域のそれぞれの所定の一辺（以下「固定辺」という。）の位置が重なるようにそれぞれの固定辺を固定し、且つ、当該第１多角形領域と当該第２多角形領域のそれぞれの当該固定辺の端点以外の頂点の位置を、当該第１多角形領域については第１の周期で、当該第２多角形領域については第２の周期でそれぞれ振動させて、当該形状を変化させるように、前記記憶部に記憶される形状を更新する更新部、
前記記憶部に記憶される位置と形状に基づいて、当該第１多角形領域に当該第１テクスチャ画像を貼り付け、当該第２多角形領域に当該第２テクスチャ画像を貼り付けた画像を生成して表示する生成表示部、
として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、揺れの動きを簡単に表現するために好適な画像処理装置、画像処理方法、ならびに、プログラムに関する。
【背景技術】
【０００２】
ゲーム等の分野では、仮想空間を表す画像がよりリアルに見えるように様々な工夫がなされている。例えば特許文献１では、水面オブジェクトの形状を時間経過に応じて変形させることにより、水面の波が揺れる様子を表現し、波がよりリアルに見えるように工夫している。また例えば特許文献２では、オブジェクト画像に固定点からの距離に応じた歪みを生じさせることにより、水の流れや風によって草などが揺れる様子を表現している。
【特許文献１】特開２００２−２１６１５９号公報
【特許文献２】特開２００５−３４６１６５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかし、上記のような従来技術によれば、無数のポリゴンで覆われたオブジェクトを変形してテクスチャ画像を貼り付けているため、揺れに合わせてポリゴンの頂点を再計算しなければならず、比較的重い処理になってしまうという問題があった。
【０００４】
本発明はこのような課題を解決するものであり、揺れの動きを簡単に表現するために好適な画像処理装置、画像処理方法、ならびに、プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００５】
以上の目的を達成するため、本発明の原理にしたがって、下記の発明を開示する。
【０００６】
本発明の第１の観点に係る画像処理装置は、記憶部、更新部、生成表示部を備える。
記憶部は、第１テクスチャ画像を貼り付ける第１多角形領域と、第２テクスチャ画像を貼り付ける第２多角形領域と、のそれぞれの位置と形状を記憶する。
更新部は、当該第１多角形領域と当該第２多角形領域のそれぞれの所定の一辺の端点以外の頂点の位置を、当該第１多角形領域については第１の周期で、当該第２多角形領域については第２の周期でそれぞれ振動させて、当該形状を変化させるように、記憶部に記憶される形状を更新する。
生成表示部は、記憶部に記憶される位置と形状に基づいて、当該第１多角形領域に当該第１テクスチャ画像を貼り付け、当該第２多角形領域に当該第２テクスチャ画像を貼り付けた画像を生成して表示する。
【０００７】
本発明の画像処理装置は、仮想空間に配置される多角形領域にテクスチャ画像を貼り付け、仮想空間内の視点の位置から視線の方向にこの多角形領域を含む仮想空間内の様子を見た画像を生成して表示する。多角形領域は、例えば長方形、正方形、平行四辺形、台形などの四角形や、あるいは三角形などの形状である。画像処理装置は、仮想空間内の任意の位置に多角形領域を設定することができる。テクスチャ画像には、揺れを表現する対象となるものの絵が予め描かれている。例えば、木の葉が風で揺れている様子を表現したい場合には木の葉の絵を、水草が水の流れで揺れている様子を表現したい場合には水草の絵を、静止画であるテクスチャ画像に描いておく。
【０００８】
多角形領域には第１多角形領域と第２多角形領域とがあり、それぞれ形状が可変である。画像処理装置は、第１多角形領域の形状を第１の周期で振動するように変形させ、第２多角形領域の形状を第２の周期で振動するように変形させる。第１の周期と第２の周期は同じでもよいし異なっていてもよい。また、振動の振幅は同じでもよいし異なっていてもよい。そして、画像処理装置は、変形させた第１多角形領域に第１テクスチャ画像を貼り付け、また、変形させた第２多角形領域に第２テクスチャ画像を貼り付ける。第１テクスチャ画像と第２テクスチャ画像は同じでもよいし異なっていてもよい。
【０００９】
例えば垂直同期割り込みなどの定期的なタイミングで徐々に第１多角形領域と第２多角形領域の形状を振動するように変化させると、第１テクスチャ画像と第２テクスチャ画像に描かれた絵（例えば木の葉や水草などの絵）が左右、上下等に揺れる様子を表すアニメーションが表示される。本発明によれば、画像処理装置は、テクスチャ画像の貼付先である多角形領域の形状を変化させるという比較的計算負荷が小さいＵＶ空間における図形の変形処理を行うだけで、揺れの動きを表現することができる。
【００１０】
更新部は、当該第１多角形領域と当該第２多角形領域のそれぞれの当該所定の一辺の位置を一致させて、当該第１テクスチャ画像をアフィン変換して変形し、当該第２テクスチャ画像をアフィン変換して変形してもよい。
【００１１】
すなわち、画像処理装置は、第１多角形領域と第２多角形領域の変形手法として、図形を移動、回転、反転、拡大あるいは縮小によって変形させる所定のアフィン行列を用いたアフィン変換を採用することができる。アフィン行列の各行列要素を変えれば、様々な変形の仕方を実現することができる。
【００１２】
当該第１多角形領域と当該第２多角形領域は、仮想空間における同一平面上に存在してもよい。
そして、更新部は、当該第２多角形領域を、当該第１多角形領域を変形する向きと逆向きに変形することにより、当該第１多角形領域の形状と当該第２多角形領域の当該形状を変化させてもよい。
【００１３】
例えば、初期状態（揺らす前の状態）における第１多角形領域と第２多角形領域の形状をいずれも長方形にし、第１多角形領域を所定方向に傾けて平行四辺形に変形させ、第２多角形領域を所定方向と反対向きに傾けて平行四辺形に変形させる。そして、第１多角形領域と第２多角形領域の形状を、時間の経過と共に振動するように変化させると、まるで同じ場所でぶるぶると震えているかのような揺れの動きを表現することができる。つまり、１つしかない物体の絵をわざと残像のように複数描くことで、物体が揺れたり移動したりしている様子を直感的に分かりやすく表現することができる。ただし、形状は長方形や平行四辺形に限られない。
【００１４】
本発明のその他の観点に係る画像処理装置は、記憶部、更新部、生成表示部を備える。
記憶部は、一つ又は複数のテクスチャ画像を貼り付ける多角形領域の位置と形状を記憶する。
更新部は、当該多角形領域の所定の一辺の端点以外の頂点の位置を、当該所定の一辺が伸びる向きに、所定の周期で振動させるように、記憶部に記憶される形状を更新する。
生成表示部は、記憶部に記憶される位置と形状に基づいて、当該多角形領域に一つ又は複数の当該テクスチャ画像を貼り付けた画像を生成して表示する。
【００１５】
多角形領域の形状は可変である。多角形領域を構成する図形の所定の一辺は、形状の変化の前後において位置を不変とする。この所定の一辺のことを固定辺と呼ぶ。画像処理装置は、多角形領域の形状を所定の周期で固定辺の伸びる向きに振動するように変形させる。そして、画像処理装置は、変形させた多角形領域に所定のテクスチャ画像を貼り付ける。テクスチャ画像は一つでもよいし複数でもよい。例えば垂直同期割り込みなどの定期的なタイミングで徐々に多角形領域の形状を振動するように変化させると、テクスチャ画像に描かれた絵（例えば木の葉や水草などの絵）が左右、上下等に揺れる様子を表すアニメーションが表示される。本発明によれば、画像処理装置は、テクスチャ画像の貼付先である多角形領域の形状を変化させるという比較的計算負荷が小さいＵＶ空間における図形の変形処理を行うだけで、揺れの動きを表現することができる。
【００１６】
更新部は、更に、当該所定の一辺の端点以外の頂点の位置を、当該所定の一辺が伸びる向きと垂直な向きに、当該所定の周期で振動させるように、記憶部に記憶される形状を更新してもよい。
【００１７】
すなわち、多角形領域の形状は、固定辺の伸びる向きに歪むとともに、固定辺の伸びる向きと垂直な向きにも歪む。例えば、テクスチャ画像に描かれている絵が伸び縮みして不自然に見えないようにすることができる。本発明によれば、より自然な揺れの動きを簡単に表現することができる。
【００１８】
更新部は、当該所定の一辺を固定して当該所定の周期で振動させるように、記憶部に記憶される形状を更新してもよい。
【００１９】
本発明では、第１多角形領域と第２多角形領域は、第１多角形領域を表す多角形の所定の一辺と、第２多角形領域を表す多角形の所定の一辺が同一直線上に存在するように配置される。つまり、第１多角形領域を表す多角形の固定辺と第２多角形領域を表す多角形の固定辺は同一直線上に配置される。例えば、木の葉が風で揺れている様子を表現したい場合には、木の葉が生えている枝の方向であって木の葉の付け根部分を含む位置に固定辺を設ける。例えば、水草が波で揺れている様子を表現したい場合には、水草が生えている地面の方向であって水草の付け根部分を含む位置に固定辺を設ける。このように固定辺を設けると、物体が揺れている様子を更に分かりやすく表現することができる。なお、第１多角形領域と第２多角形領域のそれぞれの変形の前後において、固定辺の位置を不変とすることが望ましい。
【００２０】
本発明のその他の観点に係る画像処理方法は、記憶部、更新部、生成表示部を有する画像処理装置にて実行される画像処理方法であって、更新ステップと生成表示ステップを備える。
記憶部には、第１テクスチャ画像を貼り付ける第１多角形領域と、第２テクスチャ画像を貼り付ける第２多角形領域と、のそれぞれの位置と形状が記憶される。
更新ステップは、当該第１多角形領域と当該第２多角形領域のそれぞれの所定の一辺の端点以外の頂点の位置を、当該第１多角形領域については第１の周期で、当該第２多角形領域については第２の周期でそれぞれ振動させて、当該形状を変化させるように、更新部が記憶部に記憶される形状を更新する。
生成表示ステップは、生成表示部が、記憶部に記憶される位置と形状に基づいて、当該第１多角形領域に当該第１テクスチャ画像を貼り付け、当該第２多角形領域に当該第２テクスチャ画像を貼り付けた画像を生成して表示する。
【００２１】
本発明の画像処理方法を用いた画像処理装置は、テクスチャ画像の貼付先である多角形領域の形状を変化させるという比較的計算負荷が小さいＵＶ空間における図形の変形処理を行うだけで、揺れの動きを簡単に表現することができる。
【００２２】
本発明のその他の観点に係るプログラムは、コンピュータを、記憶部、更新部、生成表示部として機能させる。
記憶部は、第１テクスチャ画像を貼り付ける第１多角形領域と、第２テクスチャ画像を貼り付ける第２多角形領域と、のそれぞれの位置と形状を記憶する。
更新部は、当該第１多角形領域と当該第２多角形領域のそれぞれの所定の一辺の端点以外の頂点の位置を、当該第１多角形領域については第１の周期で、当該第２多角形領域については第２の周期でそれぞれ振動させて、当該形状を変化させるように、記憶部に記憶される形状を更新する。
生成表示部は、記憶部に記憶される位置と形状に基づいて、当該第１多角形領域に当該第１テクスチャ画像を貼り付け、当該第２多角形領域に当該第２テクスチャ画像を貼り付けた画像を生成して表示する。
【００２３】
本発明によれば、コンピュータを上述のように動作する画像処理装置として機能させることができる。
また、本発明のプログラムは、コンパクトディスク、フレキシブルディスク、ハードディスク、光磁気ディスク、ディジタルビデオディスク、磁気テープ、半導体メモリ等のコンピュータ読取可能な情報記憶媒体に記録することができる。
上記プログラムは、プログラムが実行されるコンピュータとは独立して、コンピュータ通信網を介して配布・販売することができる。また、上記情報記憶媒体は、コンピュータとは独立して配布・販売することができる。
【発明の効果】
【００２４】
本発明によれば、揺れの動きを簡単に表現するために好適な画像処理装置、画像処理方法、ならびに、プログラムを提供することができる。
【発明を実施するための最良の形態】
【００２５】
（実施形態１）
本発明の実施形態を説明する。以下では、理解を容易にするため、ゲーム用の情報処理装置を利用して本発明が実現される実施形態を説明するが、以下の実施形態は説明のためのものであり、本願発明の範囲を制限するものではない。したがって、当業者であればこれらの各要素もしくは全要素をこれと均等なものに置換した実施形態を採用することが可能であるが、これらの実施形態も本発明の範囲に含まれる。
【００２６】
図１は、プログラムを実行することにより、本発明の画像処理装置の機能を果たす典型的な情報処理装置１００の概要構成を示す模式図である。以下、本図を参照して説明する。
【００２７】
情報処理装置１００は、ＣＰＵ（Central Processing Unit）１０１と、ＲＯＭ（Read Only Memory）１０２と、ＲＡＭ（Random Access Memory）１０３と、インターフェース１０４と、コントローラ１０５と、外部メモリ１０６と、ＤＶＤ−ＲＯＭ（Digital Versatile Disk - Read Only Memory）ドライブ１０７と、画像処理部１０８と、音声処理部１０９と、ＮＩＣ（Network Interface Card）１１０と、を備える。
【００２８】
ゲーム用のプログラムおよびデータを記憶したＤＶＤ−ＲＯＭをＤＶＤ−ＲＯＭドライブ１０７に装着して、情報処理装置１００の電源を投入することにより、当該プログラムが実行され、本実施形態の画像処理装置が実現される。
【００２９】
ＣＰＵ  １０１は、情報処理装置１００全体の動作を制御し、各構成要素と接続され制御信号やデータをやりとりする。また、ＣＰＵ  １０１は、レジスタ（図示せず）という高速アクセスが可能な記憶域に対してＡＬＵ（Arithmetic Logic Unit）（図示せず）を用いて加減乗除等の算術演算や、論理和、論理積、論理否定等の論理演算、ビット和、ビット積、ビット反転、ビットシフト、ビット回転等のビット演算などを行うことができる。さらに、マルチメディア処理対応のための加減乗除等の飽和演算や、三角関数等、ベクトル演算などを高速に行えるように、ＣＰＵ  １０１自身が構成されているものや、コプロセッサを備えて実現するものがある。
【００３０】
ＲＯＭ  １０２には、電源投入直後に実行されるＩＰＬ（Initial Program Loader）が記録され、これが実行されることにより、ＤＶＤ−ＲＯＭに記録されたプログラムをＲＡＭ  １０３に読み出してＣＰＵ  １０１による実行が開始される。また、ＲＯＭ  １０２には、情報処理装置１００全体の動作制御に必要なオペレーティングシステムのプログラムや各種のデータが記録される。
【００３１】
ＲＡＭ  １０３は、データやプログラムを一時的に記憶するためのもので、ＤＶＤ−ＲＯＭから読み出したプログラムやデータ、その他ゲームの進行やチャット通信に必要なデータが保持される。また、ＣＰＵ  １０１は、ＲＡＭ  １０３に変数領域を設け、当該変数に格納された値に対して直接ＡＬＵを作用させて演算を行ったり、ＲＡＭ  １０３に格納された値を一旦レジスタに格納してからレジスタに対して演算を行い、演算結果をメモリに書き戻す、などの処理を行う。
【００３２】
インターフェース１０４を介して接続されたコントローラ１０５は、ユーザがダンスゲームやサッカーゲームなどのゲームの実行の際に行う操作入力を受け付ける。
【００３３】
インターフェース１０４を介して着脱自在に接続された外部メモリ１０６には、ゲームのプレイ状況（過去の成績等）を示すデータ、ゲームの進行状態を示すデータ、ネットワークを用いたゲームのチャット通信のログ（記録）のデータなどが書き換え可能に記憶される。ユーザは、コントローラ１０５を介して指示入力を行うことにより、これらのデータを適宜外部メモリ１０６に記録することができる。
【００３４】
ＤＶＤ−ＲＯＭドライブ１０７に装着されるＤＶＤ−ＲＯＭには、ゲームを実現するためのプログラムとゲームに付随する画像データや音声データが記録される。ＣＰＵ  １０１の制御によって、ＤＶＤ−ＲＯＭドライブ１０７は、これに装着されたＤＶＤ−ＲＯＭに対する読み出し処理を行って、必要なプログラムやデータを読み出し、これらはＲＡＭ  １０３等に一時的に記憶される。
【００３５】
画像処理部１０８は、ＤＶＤ−ＲＯＭから読み出されたデータをＣＰＵ  １０１や画像処理部１０８が備える画像演算プロセッサ（図示せず）によって加工処理した後、これを画像処理部１０８が備えるフレームメモリ（図示せず）に記録する。フレームメモリに記録された画像情報は、所定の同期タイミングでビデオ信号に変換され画像処理部１０８に接続されるモニター（図示せず）へ出力される。これにより、各種の画像表示が可能となる。
【００３６】
画像演算プロセッサは、２次元の画像の重ね合わせ演算やアルファブレンディング等の透過演算、各種の飽和演算を高速に実行できる。
【００３７】
また、仮想３次元空間に配置され、各種のテクスチャ情報が付加されたポリゴン情報を、Ｚバッファ法によりレンダリングして、所定の視点位置から仮想３次元空間に配置されたポリゴンを所定の視線の方向へ俯瞰したレンダリング画像を得る演算の高速実行も可能である。
【００３８】
さらに、ＣＰＵ  １０１と画像演算プロセッサが協調動作することにより、文字の形状を定義するフォント情報にしたがって、文字列を２次元画像としてフレームメモリへ描画したり、各ポリゴン表面へ描画することが可能である。
【００３９】
また、ゲームの画像などの情報をＤＶＤ−ＲＯＭに用意しておき、これをフレームメモリに展開することによって、ゲームの様子などを画面に表示することができるようになる。
【００４０】
音声処理部１０９は、ＤＶＤ−ＲＯＭから読み出した音声データをアナログ音声信号に変換し、これに接続されたスピーカ（図示せず）から出力させる。また、ＣＰＵ  １０１の制御の下、ゲームの進行の中で発生させるべき効果音や楽曲データを生成し、これに対応した音声をスピーカから出力させる。
【００４１】
音声処理部１０９では、ＤＶＤ−ＲＯＭに記録された音声データがＭＩＤＩデータである場合には、これが有する音源データを参照して、ＭＩＤＩデータをＰＣＭデータに変換する。また、ＡＤＰＣＭ（Adaptive Differential Pulse Code Modulation）形式やOgg Vorbis形式等の圧縮済音声データである場合には、これを展開してＰＣＭデータに変換する。ＰＣＭデータは、そのサンプリング周波数に応じたタイミングでＤ／Ａ（Digital/Analog）変換を行って、スピーカに出力することにより、音声出力が可能となる。
【００４２】
ＮＩＣ  １１０は、情報処理装置１００をインターネット等のコンピュータ通信網（図示せず）に接続するためのものであり、ＬＡＮ（Local Area Network）を構成する際に用いられる１０ＢＡＳＥ−Ｔ／１００ＢＡＳＥ−Ｔ規格にしたがうものや、電話回線を用いてインターネットに接続するためのアナログモデム、ＩＳＤＮ（Integrated Services Digital Network）モデム、ＡＤＳＬ（Asymmetric Digital Subscriber Line）モデム、ケーブルテレビジョン回線を用いてインターネットに接続するためのケーブルモデム等と、これらとＣＰＵ  １０１との仲立ちを行うインターフェース（図示せず）により構成される。
【００４３】
このほか、情報処理装置１００は、ハードディスク等の大容量外部記憶装置を用いて、ＲＯＭ  １０２、ＲＡＭ  １０３、外部メモリ１０６、ＤＶＤ−ＲＯＭドライブ１０７に装着されるＤＶＤ−ＲＯＭ等と同じ機能を果たすように構成してもよい。
【００４４】
次に、本実施形態の画像処理装置２００が行う処理について説明する。
【００４５】
図２は、画像処理装置２００の機能的な構成を説明するための図である。
図３（ａ）は、仮想空間内に配置される図形で表される領域（以下、「多角形領域」という。）に貼り付ける第１テクスチャ画像３１０の例を示す図である。本図では、一例として、第１テクスチャ画像３１０には木の葉の絵が描かれている。
図３（ｂ）は、仮想空間内に配置される多角形領域に貼り付ける第２テクスチャ画像３２０の例を示す図である。本図では、一例として、第２テクスチャ画像３２０には第１テクスチャ画像３１０とは異なる木の葉の絵が描かれている。
図４は、モニターに表示される画面４００内の多角形領域を説明するための図である。多角形領域には、第１多角形領域４１０と第２多角形領域４２０とがある。
【００４６】
本実施形態の画像処理装置２００は、第１多角形領域４１０を表す図形にアフィン変換などの画像変換を施して形状を変化させ、画像変換後の第１多角形領域４１０に第１テクスチャ画像３１０を貼り付ける。また、画像処理装置２００は、第２多角形領域４２０を表す図形にアフィン変換などの画像変換を施して形状を変化させ、画像変換後の第２多角形領域４２０に第２テクスチャ画像３２０を貼り付ける。画像処理装置２００は、このようにレンダリングして得られた画像を画面４００に表示する。以下詳述する。
【００４７】
まず、画像処理装置２００の各部について説明する。画像処理装置２００は、記憶部２０１、更新部２０２、生成表示部２０３を備える。
【００４８】
記憶部２０１は、第１貼付領域情報２５１と第２貼付領域情報２５２を記憶する。ＣＰＵ  １０１とＲＡＭ  １０３が協働して記憶部２０１として機能する。
【００４９】
第１貼付領域情報２５１は、図３（ａ）に示すような第１テクスチャ画像３１０を貼り付けるべき第１多角形領域４１０の位置と形状を指定する情報である。同様に、第２貼付領域情報２５２は、図３（ｂ）に示すような第２テクスチャ画像３２０を貼り付けるべき第２多角形領域４２０の位置と形状を指定する情報である。
【００５０】
第１多角形領域４１０と第２多角形領域４２０の位置は、それぞれ、画面４００に定義されるＸ−Ｙ座標系における座標値として表される。例えば、第１多角形領域４１０を構成する図形の任意の頂点あるいは重心点等の座標値を指定することにより、第１多角形領域４１０の画面４００における位置が一意に決まる。第２多角形領域４２０についても同様である。
【００５１】
第１多角形領域４１０と第２多角形領域４２０は、仮想空間内の同一平面上に配置される。
【００５２】
第１多角形領域４１０と第２多角形領域４２０の形状は、それぞれ、三角形、四角形（典型的には長方形や台形）などの形状である。
【００５３】
後述するように、ＣＰＵ  １０１は、第１多角形領域４１０の位置と形状を変更することができる。同様に、ＣＰＵ  １０１は、第２多角形領域４２０の位置と形状を変更することができる。
【００５４】
第１多角形領域４１０と第２多角形領域４２０は、画面４００内にそれぞれ１つずつ設定されてもよいし、複数個設定されてもよい。複数の第１多角形領域４１０（あるいは第２多角形領域４２０）を設定する場合、記憶部２０１は、それぞれの第１多角形領域４１０（あるいは第２多角形領域４２０）の位置と形状を示す第１貼付領域情報２５１（あるいは第２貼付領域情報２５２）を記憶する。
【００５５】
なお、記憶部２０１が、第１貼付領域情報２５１として、第１多角形領域４１０を構成する図形のすべての頂点の位置（座標値）を格納することにより、第１多角形領域４１０の形状を決めることもできる。例えば、ＣＰＵ  １０１は、隣り合う頂点同士を結ぶ線分を、第１多角形領域４１０を表す図形の一辺とする。ＣＰＵ  １０１は、すべての隣り合う頂点同士について線分を求め、求めた線分を結合してできる図形を、第１多角形領域４１０の形状とすることができる。第２多角形領域４２０についても同様である。
【００５６】
また、記憶部２０１は、第１多角形領域４１０に貼り付ける第１テクスチャ画像３１０と、第２多角形領域４２０に貼り付ける第２テクスチャ画像３２０とを予め記憶する。
【００５７】
第１テクスチャ画像３１０には、透明領域３１５と不透明領域３１６とがある。不透明領域３１６は、例えば上記の木の葉の絵のような、透明でない色を用いて描かれる画像領域である。透明領域３１５は、不透明領域３１６でない領域である。同様に、第２テクスチャ画像３２０にも、透明領域３２５と不透明領域３２６とがある。
【００５８】
記憶部２０１は、第１貼付領域情報２５１、第２貼付領域情報２５２、第１テクスチャ画像３１０、第２テクスチャ画像３２０を、外部メモリ１０６等の他のメモリに記憶してもよい。
【００５９】
次に、更新部２０２は、第１多角形領域４１０と第２多角形領域４２０のそれぞれの所定の一辺が、ある時点で一致し、この所定の一辺の端点以外の頂点の位置を、第１多角形領域４１０については第１の周期で、第２多角形領域４２０については第２の周期で、それぞれ振動させて形状を変化させるように、第１貼付領域情報２５１と第２貼付領域情報２５２を更新する。ＣＰＵ  １０１、ＲＡＭ  １０３、画像処理部１０８が協働して更新部２０２として機能する。
【００６０】
第１多角形領域４１０内と第２多角形領域４２０内には、それぞれ、ローカル座標系（Ｕ−Ｖ座標系）が定義される。
【００６１】
図５（ａ）〜（ｃ）は、第１多角形領域４１０の形状が変化する様子を表す図である。図６（ａ）〜（ｃ）は、第２多角形領域４２０の形状が変化する様子を表す図である。本発明を理解しやすいように、形状を変化させる前の状態（初期状態）における第１多角形領域４１０の形状を長方形にした場合を例にとって説明する。なお、これらの図において、第１多角形領域４１０内には第１テクスチャ画像３１０が貼り付けられ、第２多角形領域４２０内には第２テクスチャ画像３２０が貼り付けられているが、第１多角形領域４１０と第２多角形領域４２０にそれぞれ第１テクスチャ画像３１０と第２テクスチャ画像３２０を貼り付ける処理については、生成表示部２０３の構成の説明において詳述する。
【００６２】
ＣＰＵ  １０１は、第１多角形領域４１０を表す図形を、所定のアフィン行列を用いたアフィン変換によって変形する。図５（ａ）は、アフィン変換前の状態（初期状態）における第１多角形領域４１０を表している。図５（ｂ）と（ｃ）は、アフィン変換後の第１多角形領域４１０を表している。
【００６３】
ＣＰＵ  １０１は、第１多角形領域４１０の隣り合う２つの頂点５１１，５１２を結ぶ線分を、上記の所定の一辺（以下、「固定辺」と呼ぶ）５１０とする。固定辺５１０は、アフィン変換の前と後とで位置が不変である。
【００６４】
以下の説明において、固定辺５１０の対辺（２つの頂点５１３，５１４を結ぶ線分）のＵ軸方向への移動量の大きさを表すパラメータをＬと表し、頂点５１２，５１３を結ぶ線分で表される一辺と頂点５１１，５１４を結ぶ線分で表される一辺を傾ける角度の大きさを表すパラメータをθと表す。同様に、固定辺６１０の対辺（２つの頂点６１３，６１４を結ぶ線分）のＵ軸方向への移動量の大きさを表すパラメータをＭと表し、頂点６１２，６１３を結ぶ線分で表される一辺と頂点６１１，６１４を結ぶ線分で表される一辺を傾ける角度の大きさを表すパラメータをφと表す。
【００６５】
後述する生成表示部２０３が第１テクスチャ画像３１０を第１多角形領域４１０に貼り付け、且つ、第２テクスチャ画像３２０を第２多角形領域４２０に貼り付けたとき、第１テクスチャ画像３１０を構成する全画素データのうち固定辺５１０上の不透明領域５１５の位置と、第２テクスチャ画像３２０を構成する全画素データのうち固定辺６１０上の不透明領域６１５の位置は、同じであることが望ましい。例えば、更新部２０２による第１多角形領域４１０と第２多角形領域４２０の変形前後において、第１テクスチャ画像３１０に描かれた木の葉の付け根部分と、第２テクスチャ画像３２０に描かれた木の葉の付け根部分とが常に一致するように、第１テクスチャ画像３１０と第２テクスチャ画像３２０を作成すると、木の葉の揺れの動きがより自然に見えるようになる。
【００６６】
例えばＣＰＵ  １０１は、図５（ｂ）に示すように、固定辺５１０の位置と向きを固定したまま、固定辺５１０の対辺（２つの頂点５１３，５１４を結ぶ線分）をＵ軸の負方向へ距離Ｌだけ平行移動することによって、第１多角形領域４１０を長方形から平行四辺形に変形する。言い換えれば、ＣＰＵ  １０１は、頂点５１２，５１３を結ぶ線分で表される一辺と、頂点５１１，５１４を結ぶ線分で表される一辺が、共に角度θだけ傾くように、第１多角形領域４１０を変形する。距離Ｌは０≦Ｌ≦ＬＡの範囲で、角度θは０≦θ≦θＡの範囲で、可変である。本図に示す変形は、一般に剪断変形と呼ばれる。
【００６７】
例えばＣＰＵ  １０１は、図５（ｃ）に示すように、固定辺５１０を固定したまま、固定辺５１０の対辺をＵ軸の正方向へ距離Ｌだけ平行移動することによって、第１多角形領域４１０を長方形から平行四辺形に変形する。言い換えれば、ＣＰＵ  １０１は、頂点５１２，５１３を結ぶ線分で表される一辺と、頂点５１１，５１４を結ぶ線分で表される一辺が、共に角度θだけ傾くように、第１多角形領域４１０を変形する。距離Ｌは０≦Ｌ≦ＬＢの範囲で、角度θは０≦θ≦θＢの範囲で、可変である。
【００６８】
例えばＣＰＵ  １０１は、図５（ｂ）に示す変形と図５（ｃ）に示す変形とを組み合わせてもよい。すなわち、ＣＰＵ  １０１は、固定辺５１０の対辺を、時間の経過と共に、Ｕ軸の負方向に最大でＬＡ、Ｕ軸の正方向に最大でＬＢ、平行移動するように、振動運動させる。言い換えれば、ＣＰＵ  １０１は、頂点５１２，５１３を結ぶ線分で表される一辺と、頂点５１１，５１４を結ぶ線分で表される一辺が、Ｕ軸の負方向に最大でθＡ、Ｕ軸の正方向に最大でθＢだけ傾くように、振動運動させる。それぞれの振動の周期は、同じでもよいし、異なっていてもよい。
【００６９】
ＣＰＵ  １０１は、変化させた第１多角形領域４１０の位置と形状を示す情報を用いて第１貼付領域情報２５１を更新する。
【００７０】
同様に、ＣＰＵ  １０１は、第２多角形領域４２０を表す図形を、所定のアフィン行列を用いたアフィン変換によって変形する。図６（ａ）は、アフィン変換前の状態（初期状態）における第２多角形領域４２０を表している。図６（ｂ）と（ｃ）は、アフィン変換後の第２多角形領域４２０を表している。
【００７１】
ＣＰＵ  １０１は、第２多角形領域４２０の隣り合う２つの頂点６１１，６１２を結ぶ線分を固定辺６１０とする。固定辺６１０は、固定辺５１０と同様、アフィン変換の前と後とで位置が不変である。
【００７２】
例えばＣＰＵ  １０１は、図６（ｂ）に示すように、固定辺６１０の位置と向きを固定したまま、固定辺６１０の対辺をＵ軸の負方向へ距離Ｍだけ平行移動することによって、第２多角形領域４２０を長方形から平行四辺形に変形する。言い換えれば、ＣＰＵ  １０１は、頂点６１２，６１３を結ぶ線分で表される一辺と、頂点６１１，６１４を結ぶ線分で表される一辺が、共に角度φだけ傾くように、第２多角形領域４２０を変形する。距離Ｍは０≦Ｍ≦ＭＡの範囲で、角度φは０≦φ≦φＡの範囲で、可変である。
【００７３】
例えばＣＰＵ  １０１は、図６（ｃ）に示すように、固定辺６１０を固定したまま、固定辺６１０の対辺をＵ軸の正方向へ距離Ｍだけ平行移動することによって、第２多角形領域４２０を長方形から平行四辺形に変形する。言い換えれば、ＣＰＵ  １０１は、頂点６１２，６１３を結ぶ線分で表される一辺と、頂点６１１，６１４を結ぶ線分で表される一辺が、共に角度φだけ傾くように、第２多角形領域４２０を変形する。距離Ｌは０≦Ｍ≦ＭＢの範囲で、角度φは０≦φ≦φＢの範囲で、可変である。
【００７４】
例えばＣＰＵ  １０１は、図６（ｂ）に示す変形と図６（ｃ）に示す変形とを組み合わせてもよい。すなわち、ＣＰＵ  １０１は、固定辺６１０の対辺を、時間の経過と共に、Ｕ軸の負方向に最大でＭＡ、Ｕ軸の正方向に最大でＭＢ、平行移動するように、振動運動させる。言い換えれば、ＣＰＵ  １０１は、頂点６１２，６１３を結ぶ線分で表される一辺と、頂点６１１，６１４を結ぶ線分で表される一辺が、Ｕ軸の負方向に最大でφＡ、Ｕ軸の正方向に最大でφＢだけ傾くように、振動運動させる。それぞれの振動の周期は、同じでもよいし、異なっていてもよい。
【００７５】
ＣＰＵ  １０１は、変化させた第２多角形領域４２０の位置と形状を示す情報で第２貼付領域情報２５２を更新する。
【００７６】
第１多角形領域４１０と第２多角形領域４２０のそれぞれの所定の一辺が、ある時点で一致するということは、第１多角形領域４１０の固定辺５１０と第２多角形領域４２０の固定辺６１０が、ある時点において共に同じ直線上に存在するという意味である。「ある時点」は、典型的には、アフィン変換前の初期状態を指す。第１多角形領域４１０の固定辺５１０と第２多角形領域４２０の固定辺６１０が、常に同一直線上に存在していてもよい。
【００７７】
なお、ＣＰＵ  １０１は、固定辺５１０，６１０として、揺れを表現したい画像に合わせて、第１多角形領域４１０と第２多角形領域４２０を表す多角形の各辺の中から適宜それぞれ１つずつ選択するものとする。例えば、木の枝にぶら下がっている木の葉が風で揺れる様子を表現したいのであれば、木の葉が生えている枝に沿った方向に固定辺５１０，６１０を設定する。例えば、海の中に生えている昆布やワカメなどの海草が海水の動きにあわせてゆらゆらと動く様子を表現したいのであれば、海草が生えている海底に沿った方向に固定辺５１０，６１０を設定する。
【００７８】
このように固定辺５１０，６１０を設けることで、物体が動き回るのではなく、ある部分が固定されたまま物体が揺れている様子を更に分かりやすく表現できるようになる。
【００７９】
第１多角形領域４１０と第２多角形領域４２０の形状は、長方形や平行四辺形に限られない。例えば図７（ａ）に示すように、変形の前後の第１多角形領域４１０の形状は、頂点５１１乃至５１４を有する任意の四角形としてもよい。ＣＰＵ  １０１は、固定辺５１０の両端の頂点５１１，５１２以外の他の頂点５１３，５１４が、それぞれ所定の軌道７０１，７０２の上を往復して振動するように、第１多角形領域４１０を変形してもよい。頂点５１３の振動の周期と、頂点５１４の振動の周期は、同じであることが望ましい。
【００８０】
また例えば図７（ｂ）に示すように、変形の前後の第１多角形領域４１０の形状は、頂点５１１乃至５１３を有する任意の三角形としてもよい。ＣＰＵ  １０１は、固定辺５１０の両端の頂点５１１，５１２以外の他の頂点５１３が、所定の軌道７０３の上を往復して振動するように、第１多角形領域４１０を変形してもよい。
【００８１】
同様に、第２多角形領域４２０の形状も、頂点６１１乃至６１４を有する任意の四角形、あるいは、頂点６１１乃至６１３を有する任意の三角形としてもよい。すなわち、図７（ａ），（ｂ）において、頂点５１１乃至５１４を頂点６１１乃至６１４に、固定辺５１０を固定辺６１０に、それぞれ読み替えればよい。
【００８２】
次に、生成表示部２０３は、記憶部２０１に記憶されている第１貼付領域情報２５１に基づいて第１多角形領域４１０に第１テクスチャ画像３１０を貼り付け、記憶部２０１に記憶されている第２貼付領域情報２５２に基づいて第２多角形領域４２０に第２テクスチャ画像３２０を貼り付けた画像を生成し、生成した画像をモニターに表示する。ＣＰＵ  １０１、ＲＡＭ  １０３、画像処理部１０８が協働して生成表示部２０３として機能する。
【００８３】
具体的には、第１多角形領域４１０の形状が四角形である場合、図８（ａ）に示すように、ＣＰＵ  １０１は、画像処理部１０８を制御して、第１テクスチャ画像３１０の頂点３１１を第１多角形領域４１０の頂点５１１に、頂点３１２を頂点５１２に、頂点３１３を頂点５１３に、頂点３１４を頂点５１４に、それぞれ対応させて、第１テクスチャ画像３１０を第１多角形領域４１０に貼り付ける。同様に、第２多角形領域４２０の形状が四角形である場合、ＣＰＵ  １０１は、第２テクスチャ画像３２０の頂点３２１を第２多角形領域４２０の頂点６１１に、頂点３２２を頂点６１２に、頂点３２３を頂点６１３に、頂点３２４を頂点６１４に、それぞれ対応させて、第２テクスチャ画像３２０を第２多角形領域４２０に貼り付ける。以下の説明において、ＣＰＵ  １０１が画像処理部１０８を制御して第１テクスチャ画像３１０と第２テクスチャ画像３２０をそれぞれ第１多角形領域４１０と第２多角形領域４２０に貼り付けた画像を生成する処理のことを画像生成処理と呼ぶ。
【００８４】
第１多角形領域４１０の形状が三角形である場合、図８（ｂ）に示すように、ＣＰＵ  １０１は、画像処理部１０８を制御して、第１テクスチャ画像３１０の頂点３１１を第１多角形領域４１０の頂点５１１に、頂点３１２を頂点５１２に、頂点３１３と頂点３１４を共に頂点５１３に、それぞれ対応させて、第１テクスチャ画像３１０を第１多角形領域４１０に貼り付ける。同様に、第２多角形領域４２０の形状が三角形である場合、ＣＰＵ  １０１は、第２テクスチャ画像３２０の頂点３２１を第２多角形領域４２０の頂点６１１に、頂点３２２を頂点６１２に、頂点３２３と頂点３２４を共に頂点６１３に、それぞれ対応させて、第２テクスチャ画像３２０を第２多角形領域４２０に貼り付ける。
【００８５】
図９（ａ）〜（ｃ）は、変形前の第１多角形領域４１０の形状と変形前の第２多角形領域４２０の位置と形状と大きさを同じにした場合において、ＣＰＵ  １０１が第１多角形領域４１０に第１テクスチャ画像３１０を貼り付け、第２多角形領域４２０に第２テクスチャ画像３２０を貼り付けた画像の例である。図９（ａ）が第１多角形領域４１０と第２多角形領域４２０の変形前であり、図９（ｂ），（ｃ）が変形後である。
【００８６】
ＣＰＵ  １０１は、第１多角形領域４１０の固定辺５１０の位置と向きを固定し、所定の第１の振動周期で単位時間あたり角度θの大きさだけ歪むように、第１多角形領域４１０を変形する。また、ＣＰＵ  １０１は、第２多角形領域４２０の固定辺６１０の位置と向きを固定し、所定の第２の振動周期で第１多角形領域４１０の変形方向と逆方向に単位時間あたり角度φの大きさだけ歪むように、第２多角形領域４２０を変形する。
【００８７】
仮に、第１の振動周期（第１多角形領域４１０の振動の周期）と第２の周期（第２多角形領域４２０の振動の周期）を同じにすると、生成される画像は、図９（ａ）、図９（ｂ）、図９（ａ）、図９（ｃ）、図９（ａ）の順に変わる。ＣＰＵ  １０１が画像生成処理を繰り返し実行することにより、第１テクスチャ画像３１０に描かれた木の葉と第２テクスチャ画像３２０に描かれた木の葉が交互に入れ替わるように左右に木の葉が揺れるアニメーション画像を生成することができる。
【００８８】
図１０（ａ）と（ｂ）は、図３（ａ）に示される第１テクスチャ画像３１０と図３（ｂ）に示される第２テクスチャ画像３２０を、それぞれ、図４の第１多角形領域４１０と第２多角形領域４２０に貼り付けてできる画像の例である。本発明を理解しやすくするために第１多角形領域４１０の縁と第２多角形領域４２０の縁を実線で示しているが、これらの縁はモニターには表示されない。
【００８９】
図１０（ａ）と（ｂ）に示すように、画面４００内に複数の第１多角形領域４１０（及び／又は第２多角形領域４２０）がある場合、ＣＰＵ  １０１は、それぞれの第１多角形領域４１０（及び／又は第２多角形領域４２０）について、アフィン変換などを施して形状を変化させ、第１テクスチャ画像３１０（及び／又は第２テクスチャ画像３２０）を貼り付ける。それぞれの第１多角形領域４１０（及び／又は第２多角形領域４２０）の変形方法は同じでもよいし異なっていてもよい。
【００９０】
例えば、画面４００内に複数の第１多角形領域４１０（及び／又は第２多角形領域４２０）を設定し、すべての第１多角形領域４１０（及び／又は第２多角形領域４２０）について同じアフィン行列を用いて変形させて第１テクスチャ画像３１０（及び／又は第２テクスチャ画像３２０）を貼り付けると、第１テクスチャ画像３１０（及び／又は第２テクスチャ画像３２０）に描かれた絵が一斉に同じように上下左右等に揺れる様子を表す画像を生成することができる。
【００９１】
一般に、コンピュータグラフィックス（ＣＧ）の分野では、シェーダーと呼ばれるアプリケーションソフトウェアを用いてレンダリングすることが多いが、本発明によれば、比較的計算負荷が小さいＵ−Ｖ空間における図形の変形処理を行うだけで、揺れの動きを表現することができる。
【００９２】
次に、本実施形態の上記の各部が実行する画像生成処理について、図１１のフローチャートを用いて説明する。
【００９３】
まずＣＰＵ  １０１は、第１多角形領域４１０の位置と形状を示す第１貼付領域情報２５１と、第２多角形領域４２０の位置と形状を示す第２貼付領域情報２５２を、ＲＡＭ  １０３から読み出す（ステップＳ１１０１）。
【００９４】
ＣＰＵ  １０１は、第１多角形領域４１０を表す図形（多角形）を所定のアフィン行列ＡＭ１を用いてアフィン変換する。また、ＣＰＵ  １０１は、第２多角形領域４２０を表す図形を所定のアフィン行列ＡＭ２を用いてアフィン変換する（ステップＳ１１０２）。
【００９５】
アフィン行列ＡＭ１による変形を、アフィン行列ＡＭ２による変形と逆方向にすると、揺れの動きをより明確に表現できる。例えば図９（ｂ），（ｃ）に示すように、ＣＰＵ  １０１は、第１多角形領域４１０を角度θだけ歪め、第２多角形領域４２０を角度θの方向と逆方向の角度φだけ歪める。ただし、変形の向きは任意である。角度θの大きさと角度φの大きさは同じでもよいし異なっていてもよい。
【００９６】
例えば、仮想空間内に仮想の風が吹いているとき、比較的弱い風であれば、第１多角形領域４１０と第２多角形領域４２０の変形方向を逆にする。一方、比較的強い風であれば、第１多角形領域４１０と第２多角形領域４２０の変形方向を同じにする。このようにすると、弱い風のときには木の葉がゆらゆらとゆっくり揺れ、強い風のときには木の葉がバタバタとなびく、といったように、揺れの動きに変化をもたせることができる。
【００９７】
ＣＰＵ  １０１は、画像処理部１０８を制御して、第１多角形領域４１０に第１テクスチャ画像３１０を貼り付けて、第２多角形領域４２０に第２テクスチャ画像３２０を貼り付ける（ステップＳ１１０３）。このステップの処理は一般にレンダリングと呼ばれる。
【００９８】
そして、ＣＰＵ  １０１は、ステップＳ１１０２で変形した第１多角形領域４１０の位置と形状で第１貼付領域情報２５１を更新し、同じくステップＳ１１０２で変形した第２多角形領域４２０の位置と形状で第２貼付領域情報２５２を更新する（ステップＳ１１０４）。
【００９９】
ＣＰＵ  １０１は、画像処理部１０８を制御して、ステップＳ１１０３で生成した画像をモニターに表示する。
【０１００】
この画像生成処理を、例えば垂直同期割り込みごとに繰り返し実行することにより、仮想空間内での物体の揺れの動きを表すアニメーションを作成することができる。
【０１０１】
一般に、風のような透明な空気の動きや、水中における透明な水の動きは、画像に表現しづらいことが多い。そこで、本発明のようにテクスチャの貼り付け先の図形を変形させ、変形した図形に合わせてテクスチャを貼り付けるようにすると、画像処理の負荷を軽減しつつ、揺れの動きを簡単に表現できるようになる。
【０１０２】
本実施形態では、画面４００内に２種類の多角形領域を設定しているが、３種類以上の多角形領域を設定し、ＣＰＵ  １０１がそれぞれの多角形領域を変形するようにしてもよい。
【０１０３】
（実施形態２）
次に、本発明のその他の実施形態について説明する。上記実施形態では、２つのテクスチャ画像３１０，３２０を使い分けているが、第１多角形領域４１０と第２多角形領域４２０に共通の１つのテクスチャ画像を用いて貼り付けるようにしてもよい。また、３つ以上のテクスチャ画像を使い分けるようにしてもよい。
【０１０４】
例えば、お皿の上に乗ったプリンの画像を生成するとき、最も単純な従来の表現手法としては、図１２（ａ）に示すように１つの多角形領域１２０１に１つのテクスチャ画像１２０２を貼り付けて描画すればよい。一方で、漫画などで用いられる表現手法に、１つの物体が揺れたり移動したりしている様子を複数の絵を用いて残像のように表現することがある。例えば、柔らかいプリンがぷるぷると揺れる様子を描くとき、図１２（ｂ）に示すように、１つしかないプリンをわざと何個も描き、残像を描くことで、揺れている様子を表現することがある。そこで、本発明を適用すると、あたかもこのような漫画などで用いられる表現手法で描いたかのように、物体（プリン）が揺れる様子を表現することができる。
【０１０５】
すなわち、図１２（ｃ）に示すように、初期状態で同一の位置且つ同一の形状をした第１多角形領域４１０と第２多角形領域４２０を画面４００内に設定する。また、第１多角形領域４１０と第２多角形領域４２０に貼り付ける共通のテクスチャ画像１２０２を予め用意する。図１２（ｄ）に示すように、ＣＰＵ  １０１は、第１多角形領域４１０を所定周期Ｔ１で角度θだけ変形する。同様に、ＣＰＵ  １０１は、第２多角形領域４２０を同じ所定周期Ｔ１で角度θだけ逆方向に変形する。言い換えれば、変形後の第１多角形領域４１０と変形後の第２多角形領域４２０のそれぞれの形状は、直線１２０３に対して線対称の関係にある。
【０１０６】
そして、ＣＰＵ  １０１は、変形した第１多角形領域４１０と第２多角形領域４２０にテクスチャ画像１２０２を貼り付ける。
【０１０７】
ＣＰＵ  １０１は、図１３に示すように時間の経過とともに角度θを変化させ、第１多角形領域４１０と第２多角形領域４２０を変形する処理を繰り返し実行する。図１３に示すように角度θを所定の周期Ｔ１で振動させると、物体が揺れる様子をより分かりやすく表現することができる。
【０１０８】
（実施形態３）
次に、本発明のその他の実施形態について説明する。ＣＰＵ  １０１は、固定辺５１０，６１０に垂直な方向にも第１多角形領域４１０と第２多角形領域４２０を変形することができる。
【０１０９】
例えば図１４（ａ）に示すように、ＣＰＵ  １０１は、頂点１４０１乃至１４０４を有する変形前の第１多角形領域（又は第２多角形領域）１４００を、固定辺１４０５を固定した上で、角度θだけ歪ませるように変形する。このとき、各辺の長さを不変とする。すると、変形後の第１多角形領域（又は第２多角形領域）１４１０は、変形前の第１多角形領域（又は第２多角形領域）１４００よりもΔＬだけ高さが低くなる。
【０１１０】
図１４（ｂ）は、ＣＰＵ  １０１が画像処理部１０８を制御して変形後の第１多角形領域１４１０に所定のテクスチャ画像を貼り付け、変形後の第２多角形領域１４２０に同じく所定のテクスチャ画像を貼り付けてできる画像を表す図である。このように固定辺１４０５に垂直な方向にも変形させることにより、テクスチャ画像が横方向に間延びしてしまう（木の長さが伸びてしまう）ことがなくなるので、揺れている様子をより自然に表現することができる。
【０１１１】
なお、変形後の第１多角形領域１４１０と第２多角形領域１４２０にそれぞれテクスチャ画像を貼り付けるとき、テクスチャ画像を構成する画素データのうち固定辺１４０５上の不透明領域１４０６の位置を不変にすると、揺れている様子を更に自然に表現することができる。
【０１１２】
（実施形態４）
次に、本発明のその他の実施形態について説明する。本実施形態は、画面４００内に第１多角形領域４１０を設定する一方、第２多角形領域４２０を設定しない点で、上記実施形態と異なる。
【０１１３】
図１５（ａ）〜（ｃ）は、第１多角形領域４１０の形状が変化する様子を表す図である。第１多角形領域４１０に貼り付ける第１テクスチャ画像３１０には、揺れの動きを表現したい複数の対象物の絵が予め描かれている。例えば、第１テクスチャ画像３１０には複数の木の葉の絵が描かれている。
【０１１４】
図１５（ａ）は、ＣＰＵ  １０１が、形状変換前の第１多角形領域４１０に第１テクスチャ画像３１０を貼り付けた様子を表す。例えば、形状変換前において、第１多角形領域４１０の形状を長方形とし、Ｖ方向の長さ（高さ）をＬ１とする。
【０１１５】
ＣＰＵ  １０１は、第１多角形領域４１０の一辺を固定辺５１０とし、第１多角形領域４１０を変形する。例えばＣＰＵ  １０１は、図１５（ｂ）に示すように、第１多角形領域４１０をＵ軸の負の方向へ角度θＡだけ歪ませて平行四辺形に変形する。あるいは、図１５（ｃ）に示すように、ＣＰＵ  １０１は、第１多角形領域４１０をＵ軸の正の方向へ角度θＢだけ歪ませて平行四辺形に変形する。そして、ＣＰＵ  １０１は、変形した第１多角形領域４１０に第１テクスチャ画像３１０を貼り付ける。
【０１１６】
ＣＰＵ  １０１は、図１３に示すように、経過時間と共に、歪ませる角度θを変える。つまり、ＣＰＵ  １０１は、θＭＩＮ≦θ≦θＭＡＸの範囲で、周期Ｔ１で往復運動するように、角度θを変化させる。第１多角形領域４１０の形状は、図１５（ａ）から図１５（ｂ）に変化し、更に図１５（ｂ）から図１５（ａ）に変化し、更に図１５（ａ）から図１５（ｃ）に変化し、更に図１５（ｃ）から図１５（ａ）に変化する。このような変化を繰り返すことによって、物体（この場合は木の葉）が揺れる様子を表現する。
【０１１７】
なお、上述の各実施形態を組み合わせ、ＣＰＵ  １０１は、角度θを変化させるだけでなく、第１多角形領域４１０の高さも変化させてもよい。
【０１１８】
図１６は、経過時間と高さの関係の例を示す図である。ＣＰＵ  １０１は、図１３に示す角度θの変化に合わせて、第１多角形領域４１０の高さを同じ周期Ｔ１で変化させる。言い換えれば、第１多角形領域４１０の高さの変化量ΔＬ（＝Ｌ−ＬＡあるいはＬ−ＬＢ）は、ＬＭＩＮ≦Ｌ≦ＬＭＡＸ（＝Ｌ１）の範囲で、周期Ｔ１で往復運動する。このように高さも一緒に変えることで、揺れる向きに物体が伸びて見えてしまわないように、より自然に揺れて見える。
【０１１９】
本実施形態によれば、テクスチャの貼付先である多角形領域の数を減らすことができるので、更に処理負担を軽減して、物体が揺れる様子を表現することができる。
【０１２０】
本発明は、上述した実施形態に限定されず、種々の変形及び応用が可能である。また、上述した実施形態の各構成要素を自由に組み合わせることも可能である。
【０１２１】
コンピュータを画像処理装置２００の全部又は一部として動作させるためのプログラムを、メモリカード、ＣＤ−ＲＯＭ、ＤＶＤ、ＭＯ（Magneto Optical disk）などのコンピュータ読み取り可能な記録媒体に格納して配布し、これを別のコンピュータにインストールし、上述の手段として動作させ、あるいは、上述の工程を実行させてもよい。
【０１２２】
さらに、インターネット上のサーバ装置が有するディスク装置等にプログラムを格納しておき、例えば、搬送波に重畳させて、コンピュータにダウンロード等するものとしてもよい。
【０１２３】
以上説明したように、本発明によれば、揺れの動きを簡単に表現するために好適な画像処理装置、画像処理方法、ならびに、プログラムを提供することができる。
【図面の簡単な説明】
【０１２４】
【図１】本発明の画像処理装置が実現される典型的な情報処理装置の概要構成を示す図である。
【図２】画像処理装置の機能的な構成を説明するための図である。
【図３】（ａ）第１テクスチャ画像の構成例である。（ｂ）第２テクスチャ画像の構成例である。
【図４】第１多角形領域、第２多角形領域を説明するための図である。
【図５】（ａ）は変形前の第１多角形領域を表す図である。（ｂ）と（ｃ）は、変形後の第１多角形領域を表す図である。
【図６】（ａ）は変形前の第２多角形領域を表す図である。（ｂ）と（ｃ）は、変形後の第２多角形領域を表す図である。
【図７】（ａ）四角形の第１多角形領域（又は第２多角形領域）を変形する処理を説明するための図である。（ｂ）三角形の第１多角形領域（又は第２多角形領域）を変形する処理を説明するための図である。
【図８】（ａ）と（ｂ）は、画像生成処理を説明するための図である。
【図９】（ａ）〜（ｃ）は、画像生成処理によって生成された画像の例である。
【図１０】画像生成処理によって生成された画像の例である。
【図１１】画像生成処理を説明するためのフローチャートである。
【図１２】（ａ）実施形態２において、１つの多角形領域に１つのテクスチャ画像を貼り付ける従来の処理を説明するための図である。（ｂ）漫画などで用いられる残像表現の例である。（ｃ）本発明における第１多角形領域と第２多角形領域と共通のテクスチャ画像を説明するための図である。（ｄ）本発明における画像生成処理を説明するための図である。
【図１３】実施形態２において、時間経過と角度θとの関係の例を表す図である。
【図１４】実施形態３において、第１多角形領域と第２多角形領域を変形する処理を説明するための図である。
【図１５】実施形態４において、第１多角形領域を変形する処理を説明するための図である。
【図１６】実施形態４において、経過時間と第１多角形領域の高さとの関係の例を表す図である。
【符号の説明】
【０１２５】
１００  情報処理装置
１０１  ＣＰＵ
１０２  ＲＯＭ
１０３  ＲＡＭ
１０４  インターフェース
１０５  コントローラ
１０６  外部メモリ
１０７  ＤＶＤ−ＲＯＭドライブ
１０８  画像処理部
１０９  音声処理部
１１０  ＮＩＣ
２００  画像処理装置
２０１  記憶部
２０２  更新部
２０３  生成表示部
２５１  第１貼付領域情報
２５２  第２貼付領域情報
３１０  第１テクスチャ画像
３１１乃至３１４  頂点
３１５  透明領域
３１６  不透明領域
３２０  第２テクスチャ画像
３２１乃至３２４  頂点
３２５  透明領域
３２６  不透明領域
４００  画面
４１０  第１多角形領域
４２０  第２多角形領域
５１０  固定辺
５１１乃至５１４  頂点
５１５  固定辺上の不透明領域
６１０  固定辺
６１１乃至６１４  頂点
６１５  固定辺上の不透明領域
７０１乃至７０３  軌道
１２０１  多角形領域
１２０２  テクスチャ画像
１２０３  直線
１４００  変形前の第１多角形領域（又は第２多角形領域）
１４０１乃至１４０４  頂点
１４０５  固定辺
１４０６  固定辺上の不透明領域
１４１０  変形後の第１多角形領域
１４２０  変形後の第２多角形領域
【要約】
【課題】揺れの動きを簡単に表現する。
【解決手段】画像処理装置２００において、記憶部２０１は、第１テクスチャ画像を貼り付ける第１多角形領域の位置と形状を示す第１貼付領域情報２５１と、第２テクスチャ画像を貼り付ける第２多角形領域の位置と形状を示す第２貼付領域情報２５２を記憶する。更新部２０２は、第１多角形領域の所定の一辺と第２多角形領域の所定の一辺とが同一直線上に存在するように第１多角形領域の形状と第２多角形領域を仮想空間内に配置し、第１多角形領域の形状と第２多角形領域の形状をアフィン変換を用いて変形する。生成表示部２０３は、第１多角形領域に第１テクスチャ画像を貼り付け、第２多角形領域に第２テクスチャ画像を貼り付けた画像を生成して表示する。更新部２０２は、第１多角形領域の形状を変形する処理を第１の周期で繰り返し実行し、第２多角形領域の形状を変形する処理を第２の周期で繰り返し実行する。
【選択図】図２【図１】
0004354510.tif 000002
【図２】
0004354510.tif 000003
【図３】
0004354510.tif 000004
【図４】
0004354510.tif 000005
【図５】
0004354510.tif 000006
【図６】
0004354510.tif 000007
【図７】
0004354510.tif 000008
【図８】
0004354510.tif 000009
【図９】
0004354510.tif 000010
【図１０】
0004354510.tif 000011
【図１１】
0004354510.tif 000012
【図１２】
0004354510.tif 000013
【図１３】
0004354510.tif 000014
【図１４】
0004354510.tif 000015
【図１５】
0004354510.tif 000016
【図１６】
0004354510.tif 000017