(57)【要約】【課題】  輪郭線で囲まれた領域で定義できる図形をより高速に描画する。【解決手段】閉平面図形の輪郭曲線２の定義データから輪郭曲線２上に基準分割点Ｐ１〜Ｐ９を設定し、隣接する基準分割点間を結ぶ輪郭辺Ｅｎｍ（ｎ，ｍは自然数）を設定する。それら輪郭辺Ｅｎｍのうち一方の端点Ｐｃに共有して隣接する２本の輪郭辺の他方の端点Ｐｓ，Ｐｅ同士を結んで当該閉平面図形の内側に内部辺Ｅｔを設定し、更に輪郭辺及び設定済みの内部辺のうち、一方の端点を共有して隣接する２本の辺の他方の端点同士を結んで更なる内部辺を設定する処理を繰り返し、設定された輪郭辺及び内部辺からポリゴンモデルを生成する。輪郭線で定義される図形の内部領域にポリゴンで満たして描画することで、閉平面図形を高速に描画することができる。【選択図】図４
2010117900.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに、滑らかな輪郭曲線によって定義された閉平面図形のポリゴンモデルを生成させるためのプログラムであって、
前記閉平面図形の前記輪郭曲線上に複数の輪郭点を設定する輪郭点設定手段、
前記輪郭点設定手段によって設定された輪郭点それぞれについて、隣接する輪郭点間を結ぶ輪郭辺を設定する輪郭辺設定手段、
前記輪郭辺設定手段によって設定された輪郭辺のうち、一方の端点を共有点として共有して隣接する２本の輪郭辺の他方の端点同士を結んで前記閉平面図形の内側に内部辺を設定する処理と、前記輪郭辺及び設定済みの内部辺のうち、一方の端点を共有点として共有して隣接する２本の辺の他方の端点同士を結んで更なる内部辺を設定する処理とを行う内部辺設定手段、
前記輪郭辺設定手段によって設定された輪郭辺と、前記内部辺設定手段によって設定された内部辺とに基づいてポリゴンモデルを生成するポリゴンモデル生成手段、
として前記コンピュータを機能させるためのプログラム。
【請求項２】
前記輪郭点設定手段によって設定された輪郭点間の前記輪郭曲線上に、新たな輪郭点を追加設定する追加輪郭点設定手段、
前記輪郭辺設定手段によって設定された輪郭辺と、前記内部辺設定手段によって設定された内部辺と、前記追加輪郭点設定手段によって設定された輪郭点とに基づいて、前記ポリゴンモデル生成手段によって生成されたポリゴンモデルを細分化して再構成するポリゴンモデル細分化手段、
として前記コンピュータを更に機能させるための請求項１に記載のプログラム。
【請求項３】
前記閉平面図形と仮想カメラとを仮想３次元空間に配置する配置手段として前記コンピュータを機能させるとともに、
前記輪郭点設定手段が、前記閉平面図形と前記仮想カメラとの距離に応じて、前記輪郭曲線上に設定する輪郭点の数を可変するように前記コンピュータを機能させるための請求項１又は２に記載のプログラム。
【請求項４】
前記閉平面図形と仮想カメラとを仮想３次元空間に配置する配置手段、
前記閉平面図形及び／又は前記仮想カメラを移動する移動手段、
前記閉平面図形と前記仮想カメラとの距離が所定距離以内に近接したことを検出する近接検出手段、
として前記コンピュータを機能させるとともに、
前記追加輪郭点設定手段が、前記近接検出手段による検出に応じて新たな輪郭点を追加設定するように前記コンピュータを機能させるための請求項２に記載のプログラム。
【請求項５】
前記閉平面図形が外側と内側とに輪郭曲線を有する図形である場合に、外側の輪郭曲線上の輪郭点のうちの１つと内側の輪郭曲線上の輪郭点のうちの１つとを結ぶ１つの辺を前記輪郭辺又は前記内部辺として設定する手段として前記コンピュータを機能させるための請求項１〜４の何れか一項に記載のプログラム。
【請求項６】
前記輪郭辺と前記内部辺とをもとに三角形パッチ群を生成して、生成した三角形パッチ群をドロネー三角形網化処理するドロネー三角形網化手段として前記コンピュータを機能させるとともに、
前記ポリゴンモデル生成手段がドロネー三角形網化処理された前記三角形パッチ群に基づいてポリゴンモデルを生成するように前記コンピュータを機能させるための請求項１〜５の何れか一項に記載のプログラム。
【請求項７】
前記内部辺設定手段が、（１）対象辺の両端点のどちらかが共有点で無く、且つ（２）当該対象辺が前記輪郭辺及び前記内部辺と重複せず、且つ（３）当該対象辺が前記輪郭辺及び前記内部辺と交差せず、且つ（４）当該対象辺と端点を共有する前記輪郭辺又は前記内部辺とで形成する三角形内部に他の輪郭辺及び内部辺が存在せず、且つ（５）当該対象辺が前記閉平面図形の閉領域内に存在する、場合に当該対象辺を新たな内部辺として設定するように前記コンピュータを機能させるための請求項１〜６の何れか一項に記載のプログラム。
【請求項８】
請求項１〜７の何れか一項に記載のプログラムを記憶したコンピュータ読み出し可能な情報記憶媒体。
【請求項９】
滑らかな輪郭曲線によって定義された閉平面図形のポリゴンモデルを生成するポリゴンモデル生成装置であって、
前記閉平面図形の前記輪郭曲線上に複数の輪郭点を設定する輪郭点設定手段と、
前記輪郭点設定手段によって設定された輪郭点それぞれについて、隣接する輪郭点間を結ぶ輪郭辺を設定する輪郭辺設定手段と、
前記輪郭辺設定手段によって設定された輪郭辺のうち、一方の端点を共有して隣接する２本の輪郭辺の他方の端点同士を結んで前記閉平面図形の内側に内部辺を設定する処理と、前記輪郭辺及び設定済みの内部辺のうち、一方の端点を共有して隣接する２本の辺の他方の端点同士を結んで更なる内部辺を設定する処理とを行う内部辺設定手段と、
前記輪郭辺設定手段によって設定された輪郭辺と、前記内部辺設定手段によって設定された内部辺とに基づいてポリゴンモデルを生成するポリゴンモデル生成手段と、
を備えたポリゴンモデル生成装置。
【請求項１０】
滑らかな輪郭曲線によって定義された閉平面図形のポリゴンモデルを生成するポリゴンモデル生成方法であって、
前記閉平面図形の前記輪郭曲線上に複数の輪郭点を設定する輪郭点設定ステップと、
前記輪郭点それぞれについて、隣接する輪郭点間を結ぶ輪郭辺を設定する輪郭辺設定ステップと、
前記輪郭辺のうち、一方の端点を共有して隣接する２本の輪郭辺の他方の端点同士を結んで前記閉平面図形の内側に内部辺を設定する処理と、前記輪郭辺及び設定済みの内部辺のうち、一方の端点を共有して隣接する２本の辺の他方の端点同士を結んで更なる内部辺を設定する処理とを行う内部辺設定ステップと、
前記輪郭辺及び前記内部辺に基づいてポリゴンモデルを生成するポリゴンモデル生成ステップと、
を含むポリゴンモデル生成方法。 
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータに、滑らかな輪郭曲線によって定義された閉平面図形のポリゴンモデルを生成させるためのプログラム等に関する。
【背景技術】
【０００２】
近年の３次元コンピュータグラフィックス（３ＤＣＧ）における画像生成はポリゴンモデルを利用したものが主流となっており、図形描画に係るさまざまな処理においてＣＰＵの低負荷・高速化を狙った技術開発がなされている。
例えば、ポリゴンの塗り潰し処理に着目した技術としては、対象図形の輪郭線をＶＲＡＭ上に描画する際に、ポリゴンの各辺と走査ラインとの交点位置に基づいて対象図形の内側を簡単に塗り潰す技術などがある（例えば、特許文献１を参照）。
【特許文献１】特開平１０−１８８０１０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ここでビデオゲーム等のリアルタイム３ＤＣＧ（3 Dimension Computer Graphics）による画像生成技術に目を移すと、画像内には文字やマークなど輪郭線で閉領域が定義できる図形が多数登場する。それらは、仮想カメラに対して前後に移動制御され、見かけ上、拡大したり縮小するような使われ方をする。しかも、ビデオゲームでは高い操作応答性も要求される。こうした前提条件では、上述のような従来技術であっても図形の描画に多くの時間を要してしまうケースがあった。
【０００４】
本発明は、こうした事情を鑑みてなされたものであり、その目的とするところは、輪郭線で囲まれた領域で定義できる図形をより高速に描画することである。
【課題を解決するための手段】
【０００５】
上記の課題を解決する第１の発明は、コンピュータに、滑らかな輪郭曲線によって定義された閉平面図形（例えば、図２の図形群４０に含まれる文字）のポリゴンモデルを生成させるためのプログラムであって、
前記閉平面図形の前記輪郭曲線上に複数の輪郭点（例えば、図４（ａ）の輪郭点６）を設定する輪郭点設定手段（例えば、図１１の処理部２００、ゲーム演算部２１０、閉平面図形描画制御部２１２、図１６のステップＳ４４〜Ｓ４６）、
前記輪郭点設定手段によって設定された輪郭点それぞれについて、隣接する輪郭点間を結ぶ輪郭辺を設定する輪郭辺設定手段（例えば、図１１の処理部２００、ゲーム演算部２１０、閉平面図形描画制御部２１２、図１７のステップＳ８０〜Ｓ８２）、
前記輪郭辺設定手段によって設定された輪郭辺のうち、一方の端点を共有点として共有して隣接する２本の輪郭辺の他方の端点同士を結んで前記閉平面図形の内側に内部辺を設定する処理と、前記輪郭辺及び設定済みの内部辺のうち、一方の端点を共有点として共有して隣接する２本の辺の他方の端点同士を結んで更なる内部辺を設定する処理とを行う内部辺設定手段（例えば、図１１の処理部２００、ゲーム演算部２１０、閉平面図形描画制御部２１２、図１７のステップＳ９４）、
前記輪郭辺設定手段によって設定された輪郭辺と、前記内部辺設定手段によって設定された内部辺とに基づいてポリゴンモデルを生成するポリゴンモデル生成手段（例えば、図１１の処理部２００、ゲーム演算部２１０、閉平面図形描画制御部２１２、図１７のステップＳ１０２）、として前記コンピュータを機能させるためのプログラムである。
【０００６】
また、別形態として、滑らかな輪郭曲線によって定義された閉平面図形のポリゴンモデルを生成するポリゴンモデル生成装置であって、
前記閉平面図形の前記輪郭曲線上に複数の輪郭点を設定する輪郭点設定手段（例えば、図１の制御ユニット１２１０、図１６のステップＳ４４〜Ｓ４６）と、
前記輪郭点設定手段によって設定された輪郭点それぞれについて、隣接する輪郭点間を結ぶ輪郭辺を設定する輪郭辺設定手段（例えば、図１の制御ユニット１２１０、図１７のステップＳ８０〜Ｓ８２）と、
前記輪郭辺設定手段によって設定された輪郭辺のうち、一方の端点を共有して隣接する２本の輪郭辺の他方の端点同士を結んで前記閉平面図形の内側に内部辺を設定する処理と、前記輪郭辺及び設定済みの内部辺のうち、一方の端点を共有して隣接する２本の辺の他方の端点同士を結んで更なる内部辺を設定する処理とを行う内部辺設定手段（例えば、図１の制御ユニット１２１０、図１７のステップＳ９４）と、
前記輪郭辺設定手段によって設定された輪郭辺と、前記内部辺設定手段によって設定された内部辺とに基づいてポリゴンモデルを生成するポリゴンモデル生成手段（例えば、図１の制御ユニット１２１０、図１７のステップＳ１０２）と、を備えたポリゴンモデル生成装置（例えば、図１の家庭用ゲーム装置１２００）を構成しても良い。
【０００７】
また、更に別形態として、滑らかな輪郭曲線によって定義された閉平面図形のポリゴンモデルを生成するポリゴンモデル生成方法であって、
前記閉平面図形の前記輪郭曲線上に複数の輪郭点を設定する輪郭点設定ステップ（例えば、図１６のステップＳ４４〜Ｓ４６）と、
前記輪郭点それぞれについて、隣接する輪郭点間を結ぶ輪郭辺を設定する輪郭辺設定ステップ（例えば、図１７のステップＳ８０〜Ｓ８２）と、
前記輪郭辺のうち、一方の端点を共有して隣接する２本の輪郭辺の他方の端点同士を結んで前記閉平面図形の内側に内部辺を設定する処理と、前記輪郭辺及び設定済みの内部辺のうち、一方の端点を共有して隣接する２本の辺の他方の端点同士を結んで更なる内部辺を設定する処理とを行う内部辺設定ステップ（例えば、図１７のステップＳ９４）と、
前記輪郭辺及び前記内部辺に基づいてポリゴンモデルを生成するポリゴンモデル生成ステップ（例えば、図１７のステップＳ１０２）と、を含むポリゴンモデル生成方法を構成しても良い。
【０００８】
ここで言う「閉平面図形」とは、輪郭線が定義されており、その輪郭線で囲まれた領域を塗りつぶすことで描画することのできる図形である。例えば、文字やピクトグラム、矢印、記号などが該当する。また、人物や動物、自然物、乗り物、ロボットなどといったゲームやビデオグラムに登場するキャラクタも図形として扱うことで閉平面図形と見なすことができる。
【０００９】
第１及びその別形態の発明によれば、閉平面図形の輪郭曲線の定義データから輪郭曲線上に複数の輪郭点を設定し、それら輪郭点それぞれについて、隣接する輪郭点間を結ぶ輪郭辺を設定することができる。そして、それら輪郭辺のうち一方の端点を共有して隣接する２本の輪郭辺の他方の端点同士を結んで当該閉平面図形の内側に内部辺を設定し、更に輪郭辺及び設定済みの内部辺のうち、一方の端点を共有して隣接する２本の辺の他方の端点同士を結んで更なる内部辺を設定する処理を繰り返す。そうして設定された輪郭辺及び内部辺からポリゴンモデルを生成することができる。
つまり、輪郭線で定義される図形の内部領域にポリゴンを満たして描画することで、閉平面図形を高速に描画することができる。しかも、家庭用ゲーム装置などはポリゴンモデルの生成・描画に最適なハードウェア及びソフトウェアで構築されているので、ハードウェアの特性を最大限に利用した演算の高速化が期待できる。
【００１０】
また、輪郭線が定義された閉平面図形は、例えばポストスクリプト（登録商標）形式のフォントのように拡大縮小されても輪郭が滑らかに表現されることが望まれる図形のデータ形式として存在する。従って、３ＤＣＧ内で文字等をポリゴンモデルで表現することを望む場合、既存の閉平面図形のデータを流用するだけでよいことになり、事前に専用のポリゴンモデルを製作する必要が無いので製作工数の大幅な削減が可能になるといった副次的な効果も得られる。
【００１１】
また、第２の発明は、第１の発明のプログラムであって、前記輪郭点設定手段によって設定された輪郭点間の前記輪郭曲線上に、新たな輪郭点を追加設定する追加輪郭点設定手段（例えば、図１１の処理部２００、ゲーム演算部２１０、閉平面図形描画制御部２１２、図１９のステップＳ１６６）、
前記輪郭辺設定手段によって設定された輪郭辺と、前記内部辺設定手段によって設定された内部辺と、前記追加輪郭点設定手段によって設定された輪郭点とに基づいて、前記ポリゴンモデル生成手段によって生成されたポリゴンモデルを細分化して再構成するポリゴンモデル細分化手段（例えば、図１１の処理部２００、ゲーム演算部２１０、閉平面図形描画制御部２１２、図１９のステップＳ１６８、Ｓ１７０）、として前記コンピュータを更に機能させるためのプログラムである。
【００１２】
第２の発明によれば、第１の発明と同様の効果を奏するとともに、輪郭曲線により沿った滑らかな外形のポリゴンモデルを生成することができる。
【００１３】
第３の発明は、第１又は第２の発明のプログラムであって、前記閉平面図形と仮想カメラとを仮想３次元空間に配置する配置手段（例えば、図１１の処理部２００、ゲーム演算部２１０、図１５のステップＳ６、Ｓ１０）、として前記コンピュータを機能させるとともに、前記輪郭点設定手段が、前記閉平面図形と前記仮想カメラとの距離に応じて、前記輪郭曲線上に設定する輪郭点の数を可変するように前記コンピュータを機能させるためのプログラムである。
【００１４】
また、第４の発明は、第２の発明のプログラムであって、前記閉平面図形と仮想カメラとを仮想３次元空間に配置する配置手段、前記閉平面図形及び／又は前記仮想カメラを移動する移動手段、前記閉平面図形と前記仮想カメラとの距離が所定距離以内に近接したことを検出する近接検出手段、として前記コンピュータを機能させるとともに、前記追加輪郭点設定手段が、前記近接検出手段による検出に応じて新たな輪郭点を追加設定するように前記コンピュータを機能させるためのプログラムである。
【００１５】
第３又は第４の発明によれば、仮想カメラから閉平面図形までの距離に応じて設定する輪郭点の数を適当に変更できるので、閉平面図形のポリゴンモデルの外形の滑らかさを適当に維持しつつ、不必要なポリゴンを作らずに済む。従って、閉平面図形について単一のポリゴンモデルを用意してそれを仮想カメラと当該図形との相対距離に係わらず使用する場合に比べて３ＤＣＧの生成負荷を低減できる。
【００１６】
第５の発明は、第１〜第４の発明の何れかのプログラムであって、前記閉平面図形が外側と内側とに輪郭曲線を有する図形である場合に、外側の輪郭曲線上の輪郭点のうちの１つと内側の輪郭曲線上の輪郭点のうちの１つとを結ぶ１つの辺を前記輪郭辺又は前記内部辺として設定する手段（例えば、図１１の処理部２００、ゲーム演算部２１０、図１７のステップＳ８４、Ｓ８６）として前記コンピュータを機能させるためのプログラムである。
【００１７】
第５の発明によれば、閉平面図形が外側と内側とに輪郭曲線を有する図形（例えば、アルファベットの「Ｂ」、数字の「６」は該当するが、アルファベットの「Ｘ」、数字の「７」は該当しない。）であっても、同様に事前に専用のポリゴンモデルを製作する工数を削減し、３ＤＣＧ生成時には高速な塗り潰しが可能になる。
【００１８】
第６の発明は、第１〜第５の発明の何れかのプログラムであって、前記輪郭辺と前記内部辺とをもとに三角形パッチ群を生成して、生成した三角形パッチ群をドロネー三角形網化処理するドロネー三角形網化手段として前記コンピュータを機能させるとともに、前記ポリゴンモデル生成手段がドロネー三角形網化処理された前記三角形パッチ群に基づいてポリゴンモデルを生成するように前記コンピュータを機能させるためのプログラムである。
【００１９】
第６の発明によれば、第１〜第５の発明の何れかと同様の効果を奏するとともに、ポリゴンモデルをより３ＤＣＧ生成に適した形状とすることができる。
【００２０】
第７の発明は、第１〜第６の発明の何れかのプログラムであって、前記内部辺設定手段が、（１）対象辺の両端点のどちらかが共有点で無く、且つ（２）当該対象辺が前記輪郭辺及び前記内部辺と重複せず、且つ（３）当該対象辺が前記輪郭辺及び前記内部辺と交差せず、且つ（４）当該対象辺と端点を共有する前記輪郭辺又は前記内部辺とで形成する三角形内部に他の輪郭辺及び内部辺が存在せず、且つ（５）当該対象辺が前記閉平面図形の閉領域内に存在する、場合に当該対象辺を新たな内部辺として設定するように前記コンピュータを機能させるためのプログラムである。
【００２１】
第７の発明によれば、第１〜第６の発明の何れかと同様の効果を奏するとともに、更に効率的に内部辺を設定できる。
【００２２】
第８の発明は、第１〜第７の発明の何れかのプログラムを記憶したコンピュータ読取可能な情報記憶媒体である。ここで言う「情報記憶媒体」とは、例えば磁気ディスクや光学ディスク、ＩＣメモリなどを含む。第８の発明によれば、第１〜第７の発明の何れかのプログラムをコンピュータに読み取らせて実行させることによって、コンピュータに第１〜第７の発明の何れかと同様の効果を発揮させることができる。
【発明の効果】
【００２３】
本発明によれば、閉平面図形の輪郭曲線の定義データから輪郭曲線上に複数の輪郭点を設定し、それら輪郭点それぞれについて、隣接する輪郭点間を結ぶ輪郭辺を設定することができる。そして、それら輪郭辺のうち一方の端点を共有して隣接する２本の輪郭辺の他方の端点同士を結んで当該閉平面図形の内側に内部辺を設定し、更に輪郭辺及び設定済みの内部辺のうち、一方の端点を共有して隣接する２本の辺の他方の端点同士を結んで更なる内部辺を設定する処理を繰り返す。そうして設定された輪郭辺及び内部辺からポリゴンモデルを生成することができる。従って、輪郭線で定義される図形の内部領域にポリゴンを満たして描画することで、閉平面図形を高速に描画することができる。
【発明を実施するための最良の形態】
【００２４】
〔第１実施形態〕
次に、本発明を適用した第１実施形態として、家庭用ゲーム装置で閉平面図形の高速塗り潰しを利用したロールプレイングゲーム（ＲＰＧ）を実行する例を説明する。
【００２５】
図１は、本実施形態におけるポリゴン生成装置に相当する家庭用ゲーム装置の構成例を説明するシステム構成図である。同図に示すように、家庭用ゲーム装置１２００は、ゲーム装置本体１２０１と、ゲームコントローラ１２３０と、ビデオモニタ１２２０とを備える。
【００２６】
ゲーム装置本体１２０１は、制御ユニット１２１０と、光学ディスク１２０２やメモリカード１２０４といった情報記憶媒体の読み取り装置１２０６，１２０８とを備える。そして、家庭用ゲーム装置１２００は、光学ディスク１２０２やメモリカード１２０４からゲームプログラム及び各種設定データを読み出し、ゲームコントローラ１２３０に為される操作入力に基づいて制御ユニット１２１０が各種のゲーム演算を実行し、所与のビデオゲームを実行する。
【００２７】
制御ユニット１２１０は、ＣＰＵ（Central Processing Unit）やＧＰＵ（Graphics Processing Unit）及びＤＳＰ（Digital Signal Processor）などの各種マイクロプロセッサ、ＡＳＩＣ(Application Specific Integrated Circuit)、ＩＣメモリなどの電気電子機器を備え家庭用ゲーム装置１２００の各部を制御する。また、制御ユニット１２１０は、インターネットやＬＡＮ（Local Area Network）、ＷＡＮ（Wide Area Network）と言った通信回線１と接続して外部装置との間でデータ通信を実現する通信装置１２１２を備える。
【００２８】
ゲームコントローラ１２３０は、選択の決定やキャンセル、タイミングの入力などに用いられるコントローラ上面に設けられたプッシュボタン１２３２と、左右の前側面に設けられたプッシュボタン１２３３Ｒ，１２３３Ｌと、図で言うところの上下左右の各方向を単独入力するための方向入力キー１２３４と、右アナログレバー１２３６Ｒと、左アナログレバー１２３６Ｌとを備える。
【００２９】
本実施形態では、方向入力キー１２３４で行動させるプレーヤキャラクタや、行動内容を選択入力し、プッシュボタン１２３２で行動の決定やキャンセル等の操作を入力する。
【００３０】
ゲーム装置本体１２０１の制御ユニット１２１０は、ゲームコントローラ１２３０から受信した操作入力信号に基づいてゲーム画像やゲーム音を生成してビデオゲームを実行する。生成されたゲーム画像やゲーム音は、信号ケーブル１２０９で接続されたビデオモニタ１２２０（音声信号や映像信号の外部入力機能を備えたテレビジョンを含む）に出力される。ビデオモニタ１２２０には、画像を表示するディスプレイ１２２２と音声を放音するスピーカ１２２４とが備えられており、プレーヤはディスプレイ１２２２に映し出されるゲーム画像を見ながら、スピーカ１２２４から放音されるゲーム音を聞きつつゲームをプレイする。
【００３１】
［ゲーム画面例の説明］
図２は、本実施形態におけるゲーム画面例Ｗ２を示す図である。ゲーム画面は、仮想３次元空間に配置されたポリゴンモデルを仮想カメラで撮影した画像を使用する所謂３ＤＣＧを主体に生成される。
【００３２】
本実施形態におけるゲームでは、プレーヤが操作するプレーヤキャラクタ３２は味方キャラクタ３４，３６とともにゲームフィールド内で遭遇する敵キャラクタ群３８と交戦する。この際、プレーヤキャラクタ３２は、魔法を唱えて敵を攻撃することができる。そして呪文詠唱の演出表現として、図形群４０がまるで詠唱するプレーヤキャラクタ３２の付近から空間に出現し、周りを飛び回って魔法が発動するといった演出表現が行なわれる。この図形群４０は、アルファベットや象形文字、シンボルマークなどの文字や図形を近似型スプラインによって輪郭曲線が定義された複数の閉平面図形を含む。閉平面図形のデータとしては、例えば、ポストスクリプト形式の文字フォント、ベクトル形式で描かれたシンボルマークなどがこれに該当する。
【００３３】
図形群４０に含まれる各図形は、例えば図３の略ハート型図形の例のように、滑らかな輪郭曲線２の内側に複数の三角形ポリゴン４を設定して、プレーヤキャラクタ３２やその他のキャラクタのポリゴンモデルと同様に表示制御することで、輪郭曲線２で囲まれた閉平面図形の高速塗り潰しを行う。尚、同図の例は、説明を簡明化させるために、少ない数の三角形ポリゴン４で輪郭曲線２を表現している。そのため、全体として、本来滑らかな輪郭曲線２のカーブに沿わない多角形を成しているが、実際にはより多数の三角形ポリゴン４を配置して見かけ上は輪郭曲線２のカーブに近い外形となる。
【００３４】
［高速塗り潰しの原理の説明］
次に、図４〜図１０を参照して、本実施形態における閉平面図形の高速塗り潰しの原理について説明する。
【００３５】
先ず図４（ａ）に示すように、ベジエ曲線で定義された輪郭曲線２の始点Ｐ１から曲線方向に沿って複数の輪郭点６（図中の黒点）を設定する。
輪郭点６は、例えば「ド・カステリョのアルゴリズム」によって求められ、その数は当該閉平面図形が画面内に最も大きく表示される想定条件において、多角形のポリゴンモデルとして表してもその輪郭が十分に滑らかに表現される「最大分割数」だけ求める。つまり、設定する輪郭点６の数は、当該図形が仮想カメラに対して最も近接した状態において当該図形内に三角形ポリゴン４を並べて満たしたときにその外形が適度な滑らかさをもって輪郭曲線２のカーブを表現できる程度に十分な数とされる。この値は、図形群４０の各図形を仮想カメラに対してゲーム画面内のどの当たりで飛び回らせ、ゲーム画面内でどれだけアップで見せるかといった演出上の観点から適宜設定される。すなわち、ゲーム画面内に表示される図形の大きさや図形の移動速度等を勘案し、本来滑らかな輪郭であるはずの図形が多角形状の輪郭になっていることをプレーヤに視認されないように、輪郭点６の数が設定される。そして、ここで求められた輪郭点６は、以降「最大分割点」とも呼ぶ。尚、後述する三角形ポリゴン細分化処理によって、三次元仮想空間中の当該図形と仮想カメラとの距離に応じて、輪郭点間に分割点が設定されて、より小さい三角形ポリゴンに細分化される。このため、ここで設定される「最大分割数」は初期値として設定されるものとも言える。
【００３６】
次に、図４（ｂ）に示すように、最大分割数だけ設定した複数の輪郭点６の中から、始点Ｐ１を含むようにして基準数だけ輪郭点を設定し、これを「基準分割点（同図の例ではＰ１〜Ｐ９）」とする。基準分割点の数（基準数）は、当該閉平面図形がゲーム画面内で最も小さく表示される想定条件においてその輪郭が適当に滑らかに表現される分割数とされる。
【００３７】
そして、輪郭曲線２（同図中の一点鎖線）に沿って隣接する二つの基準分割点間を結ぶ辺を求め、これを「輪郭辺」とする。輪郭辺Ｅ１２，Ｅ２３，Ｅ３４，…，Ｅ９１（同図中の実線；Ｅｎｍ（ｎ，ｍは自然数）は基準分割点Ｐｎと基準分割点Ｐｍを結ぶ辺を言う）は、閉平面図形の閉領域内を満たすように並べられる三角形ポリゴン４の集合の外形となるものであり、三角形ポリゴン４を生成するためのエッジの一部となる。
【００３８】
次に、図４（ｃ）に示すように、輪郭辺Ｅ１２，Ｅ２３，…，Ｅ９１より内側、つまり閉平面図形の閉領域内に「内部辺（Ｅｔ）」を設定する。
その為には、先ず先に求めた各輪郭辺Ｅ１２，Ｅ２３，…，Ｅ９１をベジエ曲線の曲線方向に沿った順に判定対象（判定対象輪郭辺）として設定し、更に設定した輪郭辺の一方の端点Ｐｃを共有して隣接する「隣接輪郭辺」との組み合わせを全て求める。そして、求めた全ての判定対象輪郭辺と隣接輪郭辺との組み合わせにおいて共通点とならなかった端点Ｐｓ，Ｐｅを結ぶ辺を仮設定する。この仮設定された辺が、次の条件（１）〜（５）の全てを満たす場合に当該仮設定辺を内部辺Ｅｔとして決定する。
【００３９】
条件（１）：仮設定した辺の両端のどちらかが隣接する輪郭辺の共有点になった履歴が無い（未だ共有点になっていない）。
条件（２）：仮設定した辺は、輪郭辺又は既に設定されている内部辺と重複しない。
条件（３）：仮設定した辺は、輪郭辺又は既に設定されている内部辺と交差しない。
条件（４）：対象とする隣接する２本の輪郭辺と仮設定した辺とで作られる三角形内部に、輪郭辺又は既に設定されている内部辺が存在しない。
条件（５）：設定した辺は、閉平面図形の閉領域内に存在している。
【００４０】
図４（ｃ）の例では、基準分割点Ｐ１と基準分割点Ｐ２とを結ぶ輪郭辺Ｅ１２を判定対象輪郭辺（図中の太黒線）とした場合、隣接輪郭辺としては、基準分割点Ｐ２を共有点Ｐｃとする輪郭辺Ｅ２３と、基準分割点Ｐ１を共有点Ｐｃとする輪郭辺Ｅ９１（輪郭点Ｐ９〜Ｐ１）との二つの組み合わせが考えられる。
【００４１】
輪郭辺Ｅ２３の組み合わせでは、同図に示すように非共有点Ｐｓ，Ｐｅとなる基準分割点Ｐ１と基準分割点Ｐ３とを結ぶ辺Ｅｔ（図中の破線）が仮設定される。図４（ｃ）のように輪郭辺しか設定さていない状態では、仮設定された辺Ｅｔは上記５つの条件全てを満たすので内部辺として確定される。一方、輪郭辺Ｅ９１の組み合わせは、図５（ａ）に示すように、仮設定した辺Ｅｔは、先に設定した内部辺Ｅ１３と交差するため上記条件（３）を満たさないので、内部辺としては確定されないことになる。
【００４２】
次に、輪郭曲線２に沿って次に位置する基準分割点Ｐ２を端点とする輪郭辺Ｅ２３を判定対象輪郭辺とする。この場合、隣接輪郭辺としては、輪郭辺Ｅ１２（基準分割点Ｐ１〜Ｐ２）と、輪郭辺Ｅ３４（基準分割点Ｐ３〜Ｐ４）との二つの組み合わせが考えられる。尚、この時内部辺Ｅ１３（基準分割点Ｐ１〜Ｐ３）は隣接輪郭辺の対象とはしない。
【００４３】
輪郭辺Ｅ１２の組み合わせで仮設定される辺Ｅｔは、内部辺Ｅ１３と重複し上記条件（２）を満たさないので内部辺としては確定されない。また、輪郭辺Ｅ３４の組み合わせで仮設定される辺Ｅｔは、図５（ｂ）に示すように、閉平面図形の閉領域外を通るので上記条件（５）を満たさないので内部辺としては確定されないことになる。
【００４４】
次に、輪郭曲線２に沿って基準分割点Ｐ２の次に位置する基準分割点Ｐ３を端点とする輪郭辺Ｅ３４（基準分割点Ｐ３〜Ｐ４）を判定対象輪郭辺とする。この場合、隣接輪郭辺としては、輪郭辺Ｅ２３（基準分割点Ｐ２〜Ｐ３）と、輪郭辺Ｅ４５（基準分割点Ｐ４〜Ｐ５）との二つの組み合わせが考えられる。
【００４５】
輪郭辺Ｅ２３の組み合わせで仮設定される辺Ｅｔは、図５（ｂ）と同様になり、閉平面図形の閉領域外を通るので上記条件（５）を満たさないので内部辺としては確定されないことになる。一方、輪郭辺Ｅ４５の組み合わせで仮設定される辺Ｅｔは、図５（ｃ）に示すように、基準分割点Ｐ３と基準分割点Ｐ５とを結ぶ辺であり、上記の５つの条件全てを満たすので新たな内部辺として確定される。
【００４６】
次に、基準分割点Ｐ３の次に輪郭曲線２に沿って位置する基準分割点Ｐ４を端点とする輪郭辺Ｅ４５（基準分割点Ｐ４〜Ｐ５）を判定対象輪郭辺とする。この場合、隣接輪郭辺としては、輪郭辺Ｅ３４（基準分割点Ｐ３〜Ｐ４）と、輪郭辺Ｅ５６（基準分割点Ｐ５〜Ｐ６）との二つの組み合わせが考えられる。
【００４７】
輪郭辺Ｅ３４の組み合わせで仮設定される辺Ｅｔは、先に確定された内部辺Ｅ３５（基準分割点Ｐ３〜Ｐ５）と重複し上記条件（２）を満たさないので内部辺としては確定されない。一方、輪郭辺Ｅ５６の組み合わせで仮設定される辺Ｅｔは、図６（ａ）に示すように、先に設定した内部辺Ｅ３５と交差するため上記条件（３）を満たさないので、内部辺としては確定されないことになる。
【００４８】
以下、同様に判定対象とする輪郭辺を輪郭曲線２の曲線方向に順送りしつつ処理を繰り返すと、図６（ｂ）に示すように判定対象輪郭辺が輪郭辺Ｅ５６の場合では、基準分割点Ｐ５と基準分割点Ｐ７を結ぶ仮設定辺Ｅｔは内部辺として確定されるが、図６（ｃ）に示すように判定対象輪郭辺が輪郭辺Ｅ６７の場合では、これと交差す基準分割点Ｐ６と基準分割点Ｐ８を結ぶ仮設定辺Ｅｔは内部辺として確定されない。
【００４９】
更に、図７（ａ）に示すように判定対象輪郭辺が輪郭辺Ｅ７８の場合では、基準分割点Ｐ７と基準分割点Ｐ９を結ぶ仮設定辺Ｅｔは内部辺として確定されるが、図７（ｂ）に示すように判定対象輪郭辺が輪郭辺Ｅ８９の場合では、これと交差する基準分割点Ｐ８と基準分割点Ｐ１を結ぶ仮設定された辺Ｅｔは内部辺として確定されない。
【００５０】
また更に、輪郭辺Ｅ９１（基準分割点Ｐ９〜Ｐ１）を判定対象輪郭辺とした場合では、図７（ｃ）に示すように、基準分割点Ｐ９と基準分割点Ｐ２を結ぶ仮設定辺Ｅｔは既に確定している内部辺Ｅ１３（基準分割点Ｐ１〜Ｐ３）と交差するために内部辺として確定されない。
【００５１】
一通り全ての輪郭辺を判定対象として内部辺の候補選択と確定判定を行った後、新たに追加設定された内部辺が存在する場合、それらの各内部辺を新たな判定対象として、同様にして更なる内部辺の候補選択と確定判定を行う。図４〜図７の例では、内部辺Ｅ１３、Ｅ３５、Ｅ５７，Ｅ７９が新たに設定されているので、これらの内部辺が次の判定対象となる。
【００５２】
内部辺Ｅ１３を判定対象とした場合、図８（ａ）に示すように、輪郭辺Ｅ１２（基準分割点Ｐ１〜Ｐ２）、輪郭辺Ｅ２３（基準分割点Ｐ２〜Ｐ３）、輪郭辺Ｅ３４（基準分割点Ｐ３〜Ｐ４）、内部辺Ｅ５６（基準分割点Ｐ３〜Ｐ５）、輪郭辺Ｅ９１（基準分割点Ｐ９〜Ｐ１）をそれぞれ隣接輪郭辺とする５つの組み合わせが考えられる。
【００５３】
前４つの組み合わせについては、仮設定される辺Ｅｔは、何れも既存の輪郭辺又は内部辺と重複するために確定されない。残る輪郭辺Ｅ９１との組み合わせについては、図８（ａ）に示すように、仮設定した辺Ｅｔ（基準分割点Ｐ３〜Ｐ９）は上記５つの条件全てを満たすので新たな内部辺Ｅ３９として確定される。
【００５４】
次に、内部辺Ｅ３５を対象とした場合、図８（ｂ）に示すように輪郭辺Ｅ２３、内部辺Ｅ１３、内部辺Ｅ３９、輪郭辺Ｅ３４、輪郭辺Ｅ４５、輪郭辺Ｅ５６、内部辺Ｅ５７をそれぞれ隣接辺とする７つの組み合わせが考えられる。
【００５５】
前６つの組み合わせについては仮設定される辺はいずれも既存の輪郭辺又は内部辺と重複するので新たな内部辺として確定されることはない。残る内部辺Ｅ５７との組み合わせについては、仮設定辺Ｅｔ（基準分割点Ｐ３〜Ｐ７）は上記５つの条件全てを満たすので新たな内部辺Ｅ３７として確定される。
【００５６】
以下、同様に内部辺Ｅ７９を対象とした場合には、新たな内部辺は確定されない。
更に、新たに追加された内部辺Ｅ３９、Ｅ３７についても同様に処理するが、仮設定した辺Ｅｔが既存の輪郭辺又は内部辺と重複するので新たな内部辺として確定されることはない。
【００５７】
全ての輪郭辺及び内部辺について処理を完了した結果、図８（ｃ）で示すような各辺が確定され、基準輪郭点を元にした三角形ポリゴンが完成する。これを「基準三角形ポリゴン」と呼ぶ。そして、この基準三角形ポリゴンに基づいて当該閉平面図形のポリゴンモデルが生成される。
【００５８】
ただし、基準三角形ポリゴンは、閉平面図形がゲーム画面内において想定される最小サイズにおいてその輪郭が適当に滑らかに見えるように設定されている。その為、呪文詠唱演出のように閉平面図形が仮想３次元空間内を移動し、仮想カメラに対して近づくタイミングが想定されるが、仮想カメラに近接して大写しになると今度は基準三角形ポリゴンによる分割では閉平面図形の輪郭が角張って見えてしまう。
そこで、本実施形態では基準三角形ポリゴンを閉平面図形の予定配置位置から仮想カメラまでの近接度合に応じて細分化した「適用三角形ポリゴン」を生成し、この適用三角形ポリゴンに従って図形群４０の各閉平面図形のポリゴンモデルを形成・配置する。
【００５９】
具体的には、閉平面図形の予定配置位置から仮想カメラまでの距離に応じた輪郭線の分割数（別の見方をすると三角形ポリゴンを形成すべき分割点の数）が予め「分割数設定ＴＢＬ」として定義されている。そして、ゲーム画面を描画するタイミングにおいて、仮想３次元空間における閉平面図形の予定配置位置から仮想カメラまでの距離を算出し、算出した距離に対応する分割数を分割数設定ＴＢＬから取得する。
この分割数が基準三角形ポリゴンの分割数よりも多い場合には、予め設定されている最大分割点の中から新たに分割点を設定し、この設定した分割点と基準三角形ポリゴンの各辺とに基づいて三角形ポリゴンを細分化・再構成して適用三角形ポリゴンとする。
【００６０】
適用三角形ポリゴンを求めるための細分化の具体的な手法は、公知の三角形ポリゴンの細分化技術を適宜応用することによって実現できる。
本実施形態では次のように細分化する。
例えば図９（ａ）のように、最大分割点（図４（ａ）の輪郭点６）の中から基準分割点Ｐ１〜Ｐ９の間にそれぞれ一つずつ新たな分割点（図中の符号無しの黒点）が設定されたとする。そして、新たに設定・追加された分割点をもとに、三角形ポリゴンの細分化を行う。
【００６１】
図９（ｂ）の基準分割点Ｐ３〜Ｐ４〜Ｐ５で形成される三角形ポリゴンのように、隣接する２辺が閉平面図形の輪郭に面している場合には、当該２辺の共有点（この例ではＰ４）から対面の辺（この例では内部辺Ｅ３５）の中点を求めてこれを新たな頂点Ｐ１０として登録する。そして、図９（ｃ）に示すように、輪郭辺Ｅ３４に代えて、基準分割点Ｐ３〜Ｐ４間に新たに設定された分割点Ｐ３ｂと基準分割点Ｐ３を結ぶ辺と、分割点Ｐ３ｂと基準分割点Ｐ４を結ぶ辺を新たに設定する。そして、これら両辺の各端点と新たな頂点Ｐ１０を結ぶ辺を設定する。また、輪郭辺Ｅ４５に代えて、基準分割点Ｐ４〜Ｐ５間に新たに設定された分割点Ｐ４ｂと基準分割点Ｐ４を結ぶ辺と、分割点Ｐ４ｂと基準分割点Ｐ５を結ぶ辺を新たに設定する。そして、これら両辺の各端点と新たな頂点Ｐ１０を結ぶ辺を設定し、元は一つの三角形ポリゴンを４つに細分化する。
同様の細分化は、基準分割点Ｐ１〜Ｐ２〜Ｐ３、基準分割点点Ｐ５〜Ｐ６〜Ｐ７、基準分割点Ｐ７〜Ｐ８〜Ｐ９でそれぞれ形成される三角形ポリゴンにも適用される。
【００６２】
また、図９（ｂ）の基準分割点Ｐ１〜Ｐ３〜Ｐ９で形成される三角形ポリゴンのように、１辺（この例では輪郭辺Ｅ９１）のみが閉平面図形の輪郭に面している場合には、その輪郭をなしている輪郭辺Ｅ９１の両端の基準分割点Ｐ１と基準分割点Ｐ９との間に新たに設定された分割点Ｐ９ｂと基準分割点Ｐ９を結ぶ辺と、分割点Ｐ９ｂと基準分割点Ｐ１とを結ぶ辺を新たに設定する。そして、分割点Ｐ９ｂとその対面に存在する基準分割点Ｐ３を結ぶ辺を設定することで、元は一つの三角形ポリゴンを二つに細分化する。
【００６３】
尚、基準分割点Ｐ３〜Ｐ７〜Ｐ９、基準分割点Ｐ３〜Ｐ５〜Ｐ７でそれぞれ形成される三角形ポリゴンのように、１辺も閉平面図形の輪郭に面している辺がない場合には細分化の対象から除外する。
【００６４】
細分化の結果、例えば図１０の様に基準三角形ポリゴンが細分化されて適用三角形ポリゴンとされる。そして、適用三角形ポリゴンに従ってポリゴンモデルが生成されるので仮想カメラに近づくほど精細に分割され滑らかな輪郭のポリゴンモデルを表示することができる。
【００６５】
こうした閉平面図形の輪郭曲線２に基づいて三角形ポリゴンの頂点となる分割点を算出する処理は極めて高速に処理できる。また、近年の家庭用ゲーム装置では３ＤＣＧをゲーム画面生成の基礎にすることが一般的であり、ポリゴンモデルを扱うハードウェア及びソフトウェアの機能が充実し高速描画に適している。従って、輪郭曲線２に基づいて三角形ポリゴンの頂点となる分割点を算出して図形群４０の各閉平面図形の閉領域内それぞれに三角形ポリゴンを高速で満たす方法をとることで、図形の高速塗り潰しを実現することができる。また、図形として文字フォントを転用することができるといったメリットが得られることも大きな特徴の１つである。
【００６６】
［機能ブロックの説明］
次に、上述のようなポリゴンモデルによる閉平面図形の高速塗り潰し描画を利用したゲームを実現するための機能構成について説明する。
【００６７】
図１１は、本実施形態における家庭用ゲーム装置１２００の機能構成例を示す機能ブロック図である。家庭用ゲーム装置１２００は、操作入力部１００と、処理部２００と、音出力部３５０と、画像表示部３６０と、通信部３７０と、記憶部５００とを備える。
【００６８】
操作入力部１００は、プッシュボタンや、レバー、タッチパッド、ダイヤル、キーボード、マウス、各種ポインタ、加速度センサ、傾斜センサなどの入力デバイスやセンサ類によって実現され、プレーヤによって為された各種の操作入力に応じて操作入力信号を処理部２００に出力する。図１のゲームコントローラ１２３０が操作入力部１００に該当する。
【００６９】
処理部２００は、例えばマイクロプロセッサやＡＳＩＣ（特定用途向け集積回路）、ＩＣメモリなどの電子部品によって実現され、各機能部との間でデータの入出力を行うとともに所定のプログラムやデータ及び操作入力部１００からの操作入力信号に基づいて各種の演算処理を実行して、家庭用ゲーム装置１２００の動作を制御する。図１では、ゲーム装置本体１２０１に内蔵された制御ユニット１２１０が処理部２００に該当する。
【００７０】
そして、本実施形態における処理部２００は、ゲーム演算部２１０と、音生成部２５０と、画像生成部２６０と、通信制御部２７０とを備える。
【００７１】
ゲーム演算部２１０は、ゲームの進行に係る処理を実行する。例えば、仮想３次元空間中に各種オブジェクトを配置してゲーム空間を形成する処理や、ゲーム空間中に配置されたキャラクタ等のオブジェクトの移動制御処理、仮想カメラの移動制御処理、敵キャラクタ群３８のＮＰＣ（ノンプレイアブルキャラクタ）の動作の自動制御処理、ヒット判定処理、物理演算処理、ゲーム結果の判定処理が実行対象に含まれる。
【００７２】
より具体的には、呪文詠唱演出を実現するための閉平面図形描画制御部２１２を含んでいる。閉平面図形描画制御部２１２は更に、（１）呪文詠唱演出で描画される閉平面図形を所定の移動軌跡データに従ってプレーヤキャラクタ３２の指先から出現させて移動制御する図形移動制御部２１６と、（２）描画する閉平面図形の輪郭曲線に最大分割点や基準分割点といった分割点を設定する分割点設定部２１８と、（３）基準三角形ポリゴンに係るデータを生成する三角形ポリゴンデータ生成部２２０と、（４）描画する閉平面図形と仮想カメラとの距離に応じて三角形ポリゴンを細分化処理する三角形ポリゴン細分化部２２２と、（５）三角形ポリゴンデータを元に仮想３次元空間に配置するポリゴンモデルを生成するポリゴンモデル生成部２２４とを含む。
【００７３】
音生成部２５０は、例えばデジタルシグナルプロセッサ（ＤＳＰ）などのプロセッサやその制御プログラムなどの公知技術によって実現され、ゲーム演算部２１０による処理結果に基づいてゲームに係る効果音やＢＧＭ、各種操作音の音信号を生成し、音出力部３５０に出力する。
【００７４】
音出力部３５０は、音生成部２５０から入力される音信号に基づいて効果音やＢＧＭ等を音出力する装置によって実現される。図１ではビデオモニタ１２２０のスピーカ１２２４がこれに該当する。
【００７５】
画像生成部２６０は、例えば、デジタルシグナルプロセッサ（ＤＳＰ）などのプロセッサ、その制御プログラム、フレームバッファ等の描画フレーム用ＩＣメモリ等の公知技術によって実現される。例えば画像生成部２６０は、ゲーム演算部２１０による演算処理によって移動制御された仮想３次元空間内のオブジェクトの様子を仮想カメラで撮影した画像を所定の描画サイクル（例えば、１／６０秒。画像表示部３６０のリフレッシュレートに基づく。）で１枚のゲーム画像を生成し、生成したゲーム画像の画像信号を画像表示部３６０に出力する。
【００７６】
画像表示部３６０は、画像生成部２６０から入力される画像信号に基づいて各種ゲーム画像を表示する。例えば、フラットパネルディスプレイ、ブラウン管（ＣＲＴ）、プロジェクター、ヘッドマウントディスプレイといった画像表示装置によって実現できる。図１ではビデオモニタ１２２０のディスプレイ１２２２が該当する。
【００７７】
通信制御部２７０は、データ通信に係るデータ処理を実行し、通信部３７０を介して外部装置とのデータのやりとりを実現する。
【００７８】
通信部３７０は、通信回線２と接続して通信を実現する。例えば、無線通信機、モデム、ＴＡ（ターミナルアダプタ）、有線用の通信ケーブルのジャックや制御回路等によって実現され、図１では通信装置１２１２がこれに該当する。
【００７９】
記憶部５００は、予め定義されたプログラムやデータを記憶するとともに、処理部２００の作業領域として用いられて処理部２００が各種プログラムに従って実行した演算結果や操作部１００から入力される入力データ等を一時的に記憶する。この機能は、例えばＲＡＭやＲＯＭなどのＩＣメモリ、ハードディスク等の磁気ディスク、ＣＤ−ＲＯＭやＤＶＤなどの光学ディスクなどによって実現される。図１の光学ディスク１２０２やメモリカード１２０４、制御ユニット１２１０に搭載されたＩＣメモリがこれに該当する。
【００８０】
本実施形態における記憶部５００は、処理部２００にゲーム装置１２００を統合的に制御させるための諸機能を実現するためのシステムプログラム５０２や、ゲームを実行させるために必要なゲームプログラム５０４、並びに各種データ等を記憶する。
処理部２００がゲームプログラム５０４を読み出して実行することによって、処理部２００にゲーム演算部２１０としての機能を実現させることができる。そして、ゲームプログラム５０４は、処理部２００に閉平面図形描画制御部２１２として機能させるための画像表示制御プログラム５０６を含んでいる。
【００８１】
また記憶部５００には、予め記憶されるデータとしてゲーム空間設定データ５１０と、キャラクタ初期設定データ５１２と、シナリオデータ５１４と、詠唱呪文データ５１６と、閉平面図形データライブラリ５２０と、分割数設定ＴＢＬ５２２とが記憶されている。
更にゲームの進行に伴って生成され、適宜書き換えられるデータとして、描画用閉平面図形データ５３０と、新規確定辺登録フラグ５５０とが記憶される。
また、ゲームの進行に係る処理を実行するに当たり必要となる情報として、例えば仮想カメラを制御するための画角・視線方向・姿勢情報などのデータ、各種制限時間のカウントデータなどが適宜記憶される。
【００８２】
ゲーム空間設定データ５１０には、仮想３次元空間にゲーム空間を形成するための各種データが格納されている。例えば、ゲームの舞台となる空や地表、建物などの配置物に関するモデルデータやテクスチャデータ及びモーションデータが格納されている。
【００８３】
キャラクタ初期設定データ５１２には、プレーヤキャラクタ３２や味方キャラクタ３４，３６、敵キャラクタ群３８の各キャラクタに関する初期設定データが格納されている。具体的には、ポリゴンモデル、テクスチャ、初期配置位置座標、最高速度や最高加速度、耐久力の初期値（初期ヒットポイント）、性能、使用可能な魔法の種類などの能力パラメータ値の初期値が格納されている。
【００８４】
シナリオデータ５１４には、ゲームの物語の進行に係る情報が格納されている。例えば、連続するステージの順番、各ステージに登場する敵キャラクタの種類や登場条件、各ステージのクリア条件、各ステージで使用可能になる魔法の種類などがそれに当たる。
【００８５】
詠唱呪文データ５１６は、魔法の種類毎の詠唱する呪文詠唱演出に係る情報が定義されている。本実施形態では、呪文詠唱演出でゲーム画面内に表示される閉平面図形の種類、配置順番、表示サイズ、移動経路や回転などを含む移動パターン、塗り潰しの色などが定義されている。
【００８６】
閉平面図形データライブラリ５２０は、呪文詠唱演出で使用される全ての閉平面図形の輪郭曲線２を定義するデータを格納している。
【００８７】
分割数設定ＴＢＬ（テーブル）５２２は、呪文詠唱演出で使用される閉平面図形と仮想カメラとの仮想３次元空間内での距離に応じた閉平面領域の分割度合を定義する。例えば図１２に示すように、仮想カメラからの距離条件５２２ａ毎に、輪郭線2の分割数５２２ｂを対応付けて格納している。
【００８８】
描画用閉平面図形データ５３０は、呪文詠唱演出で使用される閉平面図形それぞれについて生成される。一つの描画用閉平面図形データ５３０には、最大分割点データ５３２と、共有点履歴データ５３４と、確定辺データ５３６と、基準三角形ポリゴンデータ５３８と、適用三角形ポリゴンデータ５４０とが含まれる。
【００８９】
最大分割点データ５３２は、対応する閉平面図形の輪郭曲線２の最大分割数で分割した輪郭点６を特定するデータが格納される。
共有点履歴データ５３４は、例えば図１３に示すように、輪郭点の識別情報を格納する輪郭点ＩＤ５３４ａと対応づけて、内部辺の設定処理において共有点となったことがある場合に立てられる共有点履歴フラグ５３４ｂを格納する。
【００９０】
確定辺データ５３６は、図４〜図７を参照して説明した基準三角形ポリゴンの辺を設定する処理において輪郭辺Ｅｎｍ（ｎ，ｍは自然数）又は内部辺Ｅｔとして確定した辺を特定するためのデータを格納する。
例えば図１４に示すように、自動的に付与される辺ＩＤ５３６ａに対応づけて、辺の両端となる頂点ＩＤ５３６ｂと、当該辺の種類を示す情報を格納する辺種類５３６ｃと、新規確定辺探索処理対象フラグ５３６ｄを格納する。
【００９１】
辺種類５３６ｃとしては、輪郭辺、隣接する２本の輪郭辺の組み合わせから確定された内部辺である１次内部辺、輪郭辺と１次内部辺のうち２本の隣接する辺の組み合わせから確定された内部辺である２次内部辺、・・・輪郭辺とｎ次内部辺（ｎは自然数）のうち２本の隣接する辺の組み合わせから確定された内部辺であるｎ＋１次内部辺、の何れかを示す情報が格納される。
【００９２】
新規確定辺探索処理対象フラグ５３６ｄは、図４〜図８を参照して説明した輪郭辺Ｅｎｍや内部辺Ｅｔの探索・登録に係る処理の処理対象となったことがあれば立てられる。尚、確定辺データ５３６に新たに辺が登録される時点での初期状態は「０」でフラグは立っていない状態とする。
【００９３】
基準三角形ポリゴンデータ５３８は、基準分割点に基づいて確定された輪郭辺及び内部辺とで形成される三角形ポリゴンデータを格納する。
【００９４】
適用三角形ポリゴンデータ５４０は、基準三角形ポリゴンを元に閉平面図形と仮想カメラとの距離に応じて細分化された三角形ポリゴンデータを格納する。仮想３次元空間に配置される閉平面図形のポリゴンモデルはこの適用三角形ポリゴンデータ５４０に従って形成される。
【００９５】
新規確定辺登録フラグ５５０は、輪郭辺を判定対象輪郭辺として内部辺Ｅｔの設定処理を実行し、確定された内部辺Ｅｔが存在する場合に立てられる。そして、一旦フラグをクリアし、新たに確定された内部辺Ｅｔを判定対象として更なる内部辺の設定処理を実行し、確定された内部辺がある場合に再びフラグが立てられる、と言った具合に使用される。
【００９６】
［処理の流れの説明］
次に、本実施形態における処理の流れについて説明する。ここで説明される処理は、処理部２００がゲームプログラム５０４を実行することによって実現される。尚、ゲーム画面の生成制御や表示制御、及びゲーム音の再生制御については公知のビデオゲームと同様に実現できるので、ここでの詳細な説明は省略する。
【００９７】
図１５は、本実施形態における主たる処理の流れについて説明するためのフローチャートである。
処理部２００は先ず、ゲーム空間設定データ５１０を参照して、仮想３次元空間内に各種オブジェクトを配置してゲーム空間を形成し（ステップＳ２）、キャラクタ初期設定データ５１２とシナリオデータ５１４とを参照して、形成されたゲーム空間内にプレーヤキャラク３２、味方キャラクタ３４，３６及び敵キャラクタ群３８等のキャラクタのオブジェクトを配置する（ステップＳ４）。
【００９８】
そして、ゲーム画面の生成及び表示制御と、ゲーム音の再生制御を開始する（ステップＳ６）。これ以降、処理部２００は、公知のビデオゲームと同様に所定描画サイクル（例えば、１／６０秒。ビデオモニタ１２２２のリフレッシュレート以下の時間間隔。）で、仮想３次元空間を仮想カメラで撮影した画像を生成し、これを元にゲーム画面を生成する。そして、ビデオモニタ１２２０の画像表示装置１２２２にゲーム画面を表示させる。また、同様にＢＧＭやＳＥ（サウンドエフェクト）などのゲーム音の生成処理や再生処理を行ってスピーカ１２２４から放音させる。
【００９９】
ゲームコントローラ１２３０に為されたゲームスタート操作を検出したならば（ステップＳ８のＹＥＳ）、処理部２００は、ゲーム画面の描画サイクル分だけ仮想カメラの移動制御と（ステップＳ１０）、味方キャラクタ３４，３６及び敵キャラクタ群３８のＮＰＣの動作の自動制御とを行う（ステップＳ１２）。更にゲームコントローラ１２３０へ為された操作入力に応じてプレーヤキャラク３２の動作を決定する（ステップＳ１４）。
【０１００】
魔法攻撃以外の動作である場合（ステップＳ１６のＮＯ）、処理部２００はゲーム画面の描画サイクル分だけプレーヤキャラクタ３２がその魔法攻撃以外の動作をするように動作制御する（ステップＳ１８）。例えば、ゲーム空間内での移動、防御、剣など魔法以外での攻撃などがこれに含まれる。
【０１０１】
一方、プレーヤキャラク３２の動作が魔法攻撃の場合、又は魔法攻撃動作が継続中の場合（ステップＳ１６のＹＥＳ）、処理部２００は、呪文の詠唱から魔法発動に至る一連の動作をプレーヤキャラクタ３２がするように制御する。その為に、処理部２００は呪文詠唱動作の終了判定をする（ステップＳ２０）。
【０１０２】
呪文詠唱動作が終了していれば（ステップＳ２０のＹＥＳ）、処理部２００は魔法発動の動作制御をする（ステップＳ２６）。例えば、火炎系の魔法ならば、指先から火炎球が敵キャラクタ群３８に向かって飛翔するといった表示制御をゲーム画面の描画サイクル分だけ実行する。
呪文詠唱動作が終了していなければ（ステップＳ２０のＮＯ）、処理部２００はプレーヤキャラクタ３２の呪文詠唱動作の制御を実行する（ステップＳ２２）。例えば、右手を挙げて呪文を唱えるように表情の変化をつけるといった制御をゲーム画面の描画サイクル分だけ実行する。そして更に、呪文詠唱演出処理を実行する（ステップＳ２４）。
【０１０３】
図１６は、本実施形態における呪文詠唱演出処理の流れを説明するためのフローチャートである。呪文詠唱演出処理では、処理部２００は先ず詠唱呪文データ５１６を参照して今回詠唱される呪文に含まれる全閉平面図形のデータ（輪郭曲線２を定義するデータ、ベジエ曲線データ）を閉平面図形データライブラリ５２０より読み出す（ステップＳ４０）。
【０１０４】
そして、処理部２００は読み出した全ての閉平面図形についてループＡの処理を実行する（ステップＳ４２〜Ｓ６８）。
具体的にループＡの処理では、先ず、処理対象の閉平面図形の最大分割点データ５３２が未設定であるかどうかを判定する（ステップＳ４４）。未設定の場合には（ステップＳ４４のＹＥＳ）、当該処理対象の閉平面図形について閉平面図形データライブラリ５２０より読み出したデータに基づいて最大分割点（図４（ａ）の輪郭点６）を求めて、最大分割点データ５３２を生成する（ステップＳ４６）。
【０１０５】
次に、処理部２００は、処理対象の閉平面図形の基準三角形ポリゴンデータ５３８が未設定であるか否かを判定する（ステップＳ５０）。そして、未設定の場合には（ステップＳ５０のＹＥＳ）、基準三角形ポリゴンデータ生成処理を実行する（ステップＳ５０）。
【０１０６】
図１７は、本実施形態における基準三角形ポリゴンデータ生成処理の流れを説明するためのフローチャートである。
基準三角形ポリゴンデータ生成処理では、先ず、最大分割点データ５３２を参照して、最大分割点の中から処理対象とされる閉平面図形の輪郭曲線２上に基準分割点を選択・設定し（ステップＳ８０；図４（ｂ）等を参照）、更に輪郭曲線２に沿って隣接する基準分割点を結ぶ全ての辺を輪郭辺Ｅｎｍ（ｎ，ｍは自然数）として確定辺データ５３６に登録する（ステップＳ８２）。
【０１０７】
次に、処理対象とされる閉平面図形の内側に穴部があるか、換言すると外側の輪郭線の他に内側の輪郭線があるか否かを判定する（ステップＳ８４）。
例えば、アルファベットの「Ｅ」は全て外側の輪郭線で閉平面図形としての閉領域が定義されるが、アルファベットの「Ａ」や数字の「０」は、外側の輪郭線に加えて内側の空間、抜け部分表す内側の輪郭線をもって閉領域を定義している。ステップＳ８４では前者は否定判定、後者は肯定判定となる。
そして肯定判定された場合（ステップＳ８４のＹＥＳ）、処理部２００は外側の輪郭線の基準分割点と、内側の輪郭線の基準分割点のうち、最近接点間を設定して両点間を結ぶ辺を輪郭辺Ｅｎｍとして確定辺データ５３６に登録する（ステップＳ８６）。尚、登録されるそれらの辺の新規確定辺探索処理対象フラグ５３６ｄには、初期値「０」を設定する。
【０１０８】
次に、処理部２００は、新規確定辺登録フラグ５５０を「０」に設定してフラグをクリアした初期状態とし（ステップＳ８８）、現時点において確定辺データ５３６に登録されているが新規確定辺探索登録処理フラグ５３６ｄが立っていない確定辺を抽出する（ステップＳ９０）。そして、抽出した全ての確定辺についてループＢ（ステップＳ９２〜Ｓ９８）の処理を実行してそれら全ての確定辺についてそれぞれ新規確定辺探索登録処理を実行する（ステップＳ９４）。
【０１０９】
図１８は、本実施形態における新規確定辺探索登録処理の流れを説明するためのフローチャートである。新規確定辺探索登録処理では、処理部２００は先ず処理対象とする確定辺と、当該辺の一方の端点を共有点Ｐｃとして隣接する他の確定辺（隣接確定辺）との組み合わせを全て求める（ステップＳ１２０）。
図４（ｃ）の例では、処理対象とする確定辺を輪郭辺Ｅ１２としているので、輪郭辺Ｅ１２と輪郭辺Ｅ２３との組み合わせと、輪郭辺Ｅ１２と輪郭辺Ｅ９１との組み合わせが求められる。
【０１１０】
そして、求めた全ての組み合わせについてループＣを実行する（ステップＳ１２２〜Ｓ１４２）。ループＣでは、処理部２００は処理対象とされる確定辺と求めた組み合わせの相方となる隣接確定辺の非共有点ＰｓとＰｅとを結ぶ辺を内部辺Ｅｔの候補として仮設定し（ステップＳ１２４）、この仮設定された辺について、ステップＳ１２６〜Ｓ１３４によって先に述べた条件（１）〜（５）を満たすか否かを判定する。
【０１１１】
より具体的には、共有点例歴データ５３４を参照して非共有点Ｐｓ，Ｐｅのどちらかが共有点Ｐｃになった事が無いか判定する（ステップＳ１２６）。無ければ（ステップＳ１２６のＹＥＳ；条件（１）合致相当）、更に確定辺データ５３６を参照して当該仮設定辺と同じ確定辺が無いか判定する（ステップＳ１２８）。
【０１１２】
次いで、同じ確定辺が無ければ（ステップＳ１２８のＹＥＳ；条件（２）合致相当）、処理部２００は更に確定辺データ５３６を参照して当該仮設定辺が他の確定辺と交差するか否かを判定する（ステップＳ１３０）。そして、交差しなければ（ステップＳ１３０のＹＥＳ；条件（３）合致相当）、更に確定辺データ５３６を参照して仮設定辺の共有点Ｐｃ及び非共有点Ｐｓ，Ｐｅで形成される三角形の内部に他の確定辺が存在を判定する（ステップＳ１３２）。
【０１１３】
存在しない場合（ステップＳ１３２のＹＥＳ；条件（４）合致相当）、処理部２００は更に仮設定辺がループＡの処理対象とされる閉平面図形の閉領域内部に存在を判定する（ステップＳ１３４）。そして、閉平面図形の内部に存在していれば（ステップＳ１３４のＹＥＳ；条件（５）合致相当）、処理部２００は前述の条件（１）〜（５）を全て満たしていると判断して、当該仮設定辺を新たな内部辺Ｅｔとして確定辺データ５３６に登録する（ステップＳ１３６）。
【０１１４】
新たな内部辺が確定したので、処理部２００は共有点履歴データ５３４に当該確定した内部辺Ｅｔの共有点Ｐｃの共有点履歴を「１」に設定して登録し（ステップＳ１３８）、新規確定辺登録フラグ５５０を「１」に設定してフラグを立てる（ステップＳ１４０）。
【０１１５】
勿論、ステップＳ１２６〜Ｓ１３４にて何れかで否定判定された場合には、ステップＳ１３６〜Ｓ１４０は実行されず、次に処理対象の組み合わせについてループＣを実行する。
【０１１６】
図１７に戻って、ループＢの処理対象とされる確定辺について新規確定辺探索登録処理を実行したならば、確定辺データ５３６の当該確定辺に対応する新規確定辺探索登録処理フラグ５３６ｄを「１」に設定してフラグを立て（ステップＳ９６）、当該処理対象の確定辺についてのループＢの処理を終了する。
【０１１７】
ステップＳ９０で抽出した全ての確定辺についてループＢを終了したならば、処理部２００は新規確定辺登録フラグ５５０が「１」であるか、つまり新たに追加された確定辺の有無を判定する（ステップＳ１００）。
【０１１８】
新規確定辺登録フラグ５５０が「１」であれば（ステップＳ１００のＹＥＳ）、ステップＳ８８に戻って、その資金着に追加された確定辺についてループＢを実行する。
一方、新規確定辺登録フラグ５５０が「０」であれば（ステップＳ１００のＮＯ）、確定辺データ５３６に登録されている確定辺を元に基準三角形ポリゴンデータ５３８を生成・更新し（ステップＳ１０２）、生成した基準三角形ポリゴンデータについてドロネー三角形網化処理を実行して（ステップＳ１０４）、基準三角形ポリゴンデータ生成処理を終了する。
【０１１９】
図１６に戻って、処理部２００は次に処理対象とされる閉平面図形の予定配置位置を算出する（ステップＳ５２）。本実施形態における呪文詠唱演出では、閉平面図形は、所定の順番で出現し所定の移動経路をたどるように移動制御されるので、詠唱開始からの時間経過から各閉平面図形の予定配置位置を算出することができる。
予定配置位置を算出したら、当該閉平面図形の代表点から仮想カメラまでの距離を算出する（ステップＳ５４）。そして、分割数設定ＴＢＬ５２２を参照して、算出した仮想カメラまでの距離に応じた分割数５２２ｂを決定する（ステップＳ５６）。
【０１２０】
ここで、決定された分割数が所定の基準分割数より大きいか否かを判定する（ステップＳ５８）。基準分割数は、想定される最も仮想カメラから離れた位置にあるときに適した分割数である。処理対象とされる閉平面図形が想定される最も離れた位置よりも近づけばステップＳ５６で決定される分割数は基準分割数よりも大きくなる可能性がある。
【０１２１】
そして、基準分割数よりも大きければ（ステップＳ５８のＹＥＳ）、処理部２００は三角形ポリゴン細分化処理を実行して、図９及び図１０を参照して説明したようにして基準三角形ポリゴンデータ５３８で定義されている三角形ポリゴンを細分化する（ステップＳ６０）。
【０１２２】
図１９は、本実施形態における三角形ポリゴン細分化処理の流れを説明するためのフローチャートである。三角形ポリゴン細分化処理では、処理部２００は基準三角形ポリゴンデータ５３８の全三角形ポリゴンについてループＤの処理を実行する（ステップＳ１６０〜Ｓ１７２）。
【０１２３】
具体的にループＤでは、先ず、処理対象とされる三角形ポリゴンの頂点が、ループＡの処理対象とされる閉平面図形の輪郭線上にあるか否かを判定して細分化の対象とするかどうかのふるいにかける（ステップＳ１６２）。
【０１２４】
３頂点が輪郭線上に有ると判定した場合（ステップＳ１６２のＹＥＳ）、処理部２００は処理対象とされる三角形ポリゴンの輪郭辺、つまりは、その辺よりも外側、輪郭線側に他の確定辺が存在しない辺を抽出する（ステップＳ１６４）。例えば図９（ａ）の例で言うと、基準分割点Ｐ３，Ｐ４，Ｐ５を有する三角形ポリゴンについては輪郭辺Ｅ３４，Ｅ４５が抽出され、基準分割点Ｐ１，Ｐ３，Ｐ９を有する三角形ポリゴンについては輪郭辺Ｅ９１が抽出されることになる。
【０１２５】
次に、最大分割点データ５３２を参照して、抽出した輪郭辺の両端点に挟まれる範囲の輪郭線上に設定されている輪郭点の中から、ステップＳ５６で決定した分割数の不足を補う為に、処理対象とされる閉平面図形の全輪郭辺で平均化された数の輪郭点を設定する（ステップＳ１６６）。設定する数は、例えば｛（ステップＳ５６で決定した分割数−基準分割数）／処理対象とされる閉平面図形の輪郭辺数｝より大きくて最近似する自然数である。
【０１２６】
そして、図９〜図１０で説明したようにして、設定された輪郭点と処理対象とされる三角形ポリゴンの３頂点とからより細分化した三角形ポリゴンを生成し（ステップＳ１６８）、適用三角形ポリゴンデータ５４０の処理対象とされる三角形ポリゴンの部分を新たに細分化・生成された三角形ポリゴンに更新する（ステップＳ１７０）。
【０１２７】
基準三角形ポリゴンデータ５３８の全ての三角形ポリゴンについてループＤを実行したならば図１６のフローチャートに戻って、処理部２００は細分化した結果を、適用三角形ポリゴンデータ５４０に格納する（ステップＳ６２）。一方、ステップＳ５６で決定された分割数が基準分割数よりも大きく無ければ（ステップＳ５８のＮＯ）、細分化は行わずに基準三角形ポリゴンデータ５３８を適用三角形ポリゴンデータ５４０に複製するだけとする（ステップＳ６４）。
【０１２８】
そして、処理部２００は適用三角形ポリゴンデータ５４０に基づくポリゴンモデルをステップＳ５２で算出した予定配置位置に配置して（ステップＳ６６）、ループＡの処理を終了する（ステップＳ６８）。
ステップＳ４０で読み出した全ての閉平面図形についてループＡを実行したならば呪文詠唱演出処理を終了して図１５のフローチャートに戻る。
【０１２９】
次いで、処理部２００はゲーム結果の算出処理を実行する（ステップＳ２８）。例えば、公知のＲＰＧと同様にして、魔法攻撃他ゲーム中に登場する攻撃技のヒット判定処理や、防御判定処理、攻撃を受けた側のダメージ判定処理、ダメージ分をヒットポイント（耐久値）から減算する処理などを実行する。
そして、算出したゲーム結果がゲーム終了条件を満たしていなければ（ステップＳ３０のＮＯ）、ステップＳ１０に戻る。ゲーム終了条件を満たしていれば（ステップＳ３０のＹＥＳ）、エンディング画面を表示したり、総合ゲーム結果を表示するなど所定のゲーム終了処理を実行して（ステップＳ３２）、一連の処理を終了する。
【０１３０】
このように、呪文詠唱演出で使用する閉平面図形の輪郭曲線の定義データから、当該図形と仮想カメラからの距離に適した輪郭の滑らかさを有するポリゴンモデルを自動生成することができる。
輪郭線が定義された閉平面図形は、例えばポストスクリプト形式のフォントのように拡大縮小されても輪郭が滑らかに表現されることが望まれる図形のデータ形式として一般的である。また、新規に製作するとしてもポリゴンモデルの作成に比べると工数が少なくて済む。よって、ゲーム製作工数の大幅な削減が可能になる。
【０１３１】
そして、三角形ポリゴンは近年の家庭用ゲーム装置１２００において画像生成の基本要素とされており、ハードウェア及びソフトウェアがポリゴンモデルの処理に適したように性能が高められている。従って、閉平面図形の閉領域内を高速に塗り潰すことができる。
【０１３２】
〔第２実施形態〕
次に、本発明を適用した第２実施形態について説明する。本実施形態は、基本的に第１実施形態と同様の構成を有するが、描画用閉平面図形データ５３０の基準三角形ポリゴンデータ５３８及び適用三角形ポリゴンデータ５４０をストリップデータ形式で記憶する構成とする点と、それに伴って、三角形ポリゴン細分化処理をストリップデータの生成に適した手法で行う点が異なる。尚、第１実施形態と同様の構成要素については同じ符合を付与し説明は省略する。
【０１３３】
図２０は、本実施形態における機能構成例を示す機能ブロック図である。本実施形態では、記憶部５００にストリップ生成パターンＴＢＬ（テーブル）５２３を予め複数記憶している。ストリップ生成パターンＴＢＬ５２３は、三角形ポリゴン細分化処理の対象とされる三角形ポリゴンにおける輪郭辺の数と、輪郭辺と当該三角形ポリゴン部分のストリップデータの始点側頂点と終点側頂点との位置関係とに基づいて、合計８パターン用意されている。
【０１３４】
図２１〜図２８は８通りのストリップ生成パターンについて説明するための図であり、各図の（ａ）が細分化の概念図、（ｂ）がストリップ生成パターンＴＢＬ５２３のデータ構成例の図に相当する。ストリップ生成パターンＴＢＬ５２３は、それぞれ適用条件５２３ａと、ストリップデータの連結順５２３ｂに連結される頂点識別５２３ｃとが対応づけられたデータを含む。
【０１３５】
図２１は、三角形ポリゴン細分化処理の対象とされる三角形ポリゴンが、３つの外周辺の何れも閉平面図形の輪郭線２に面していないケース、つまり当該三角形ポリゴンに一つも輪郭辺が含まれていないケースを示している。
この場合、対象とする三角形ポリゴンは閉平面図形の内部に存在し、細分化するか否かは閉平面図形の外形の見かけの滑らかさには影響しない。よって、実質的には三角形ポリゴンの細分化は行われず、ストリップ生成パターンＴＢＬ５２３−１は、三角形ポリゴンの３つの頂点Ｖ０（ストリップ上流側、始点側の頂点），Ｖ１，Ｖ２（ストリップ下流側、終点側の頂点）といった具合に、細分化される前のストリップデータの頂点順のままとなるように定義されている。
【０１３６】
図２２は、三角形ポリゴン細分化処理の対象とされる三角形ポリゴンが、３つの外周辺全てが輪郭辺となるケースを示している。
この場合、各輪郭辺Ｖ０〜Ｖ１、Ｖ１〜Ｖ２、Ｖ２〜Ｖ０の両端に挟まれる区間の輪郭辺２（図２２中の一点鎖線）に設定されている最大分割点の中から新たな頂点Ｖａ，Ｖｂ，Ｖｃが選択される。そして、既存の頂点Ｖ０，Ｖ１，Ｖ２にそれら新規追加頂点を追加して、新たに４つの三角形ポリゴンＶ０〜Ｖａ〜Ｖｃ、Ｖａ〜Ｖ１〜Ｖｃ、Ｖｃ〜Ｖ１〜Ｖｂ、Ｖｂ〜Ｖ２〜Ｖｃを形成するように細分化される。図中の破線が、細分化されて生まれた三角形ポリゴンの境界となる辺に相当する。そして、細分化に伴って新たに生成されるストリップデータは、例えば、ストリップ生成パターンＴＢＬ５２３−２に示す連結順となる。
【０１３７】
図２３〜図２５は、三角形ポリゴン細分化処理の対象とされる三角形ポリゴンが、１辺のみ輪郭辺となるケースに相当し、それぞれストリップ順に見た各頂点と輪郭辺との相対位置違いのケースである。
【０１３８】
例えば、図２３はストリップ順第１点〜第２点を結ぶ辺が輪郭辺であるケースを示している。この場合、輪郭辺Ｖ０〜Ｖ１の両端に挟まれる区間に設定されている新規追加頂点Ｖａが選択され、この新規追加頂点を含む格好で２つの新たな三角形ポリゴンに細分化される。新たに生成されるストリップデータは、ストリップ生成パターンＴＢＬ５２３−３に示す連結順となる。同様に、図２４及び図２５のケースにおいて新たに生成されるストリップデータは、それぞれストリップ生成パターンＴＢＬ５２３−４、５２３−５に示す連結順となる。
【０１３９】
図２６〜図２８は、三角形ポリゴン細分化処理の対象とされる三角形ポリゴンが、２つの輪郭辺を有するケースに相当し、それぞれストリップ順に見た各頂点と輪郭辺との相対値違いのケースである。
【０１４０】
例えば、図２６はストリップ順第１点〜第２点を結ぶ辺と、ストリップ順第２点〜第３点を結ぶ辺とが輪郭辺となるケースである。この場合、輪郭辺Ｖ０〜Ｖ１の両端に挟まれる区間に設定されている新規追加頂点Ｖａが選択され、輪郭辺Ｖ１〜Ｖ２の両端に挟まれる区間に設定されている新規追加頂点Ｖｂが選択される。そして、元の三角形ポリゴンは、これらの新規追加頂点を含む格好で３つの新たな三角形ポリゴンに細分化される。新たに生成されるストリップデータは、ストリップ生成パターンＴＢＬ５２３−６に示す連結順となる。同様に、図２７及び図２８のケースにおいて新たに生成されるストリップデータは、それぞれストリップ生成パターンＴＢＬ５２３−７、５２３−８に示す連結順となる。
【０１４１】
図２９は、本実施形態における呪文詠唱演出処理（呪文詠唱演出処理Ｂ）の流れを説明するためのフローチャートである。同図に示すように、基本的には第１実施形態の同処理と同様の流れを有するが、本実施形態では、仮想カメラから処理対象の閉平面図形の代表点までの距離に応じた分割数を決定したならば（ステップＳ５６）、ここで基準三角形ポリゴンデータ５３８のストリップデータを、適用三角形ポリゴンデータ５４０に複製・格納する（ステップＳ５７ａ）。
そして、ステップＳ５６で決定された分割数が基準分割数より大きい場合（ステップＳ５７ｂのＹＥＳ）、ステップＳ６０に代えて三角形ポリゴン細分化処理Ｂを実行し（ステップＳ５７ｃ）、同細分化処理の結果が先に決定された分割数に達するまでこれを繰り返す（ステップＳ５７ｄのＮＯ）。同細分化処理の繰り返しの結果、分割数がステップＳ５６で求めた分割数に達しならば、それまでの細分化処理の結果が反映された適用三角形ポリゴンデータ５４０に基づいてループＡの処理対象とされる閉平面図形をステップＳ５２で算出した予定配置位置に配置する（ステップＳ６６）。
【０１４２】
図３０は、本実施形態における三角形ポリゴン細分化処理（三角形ポリゴン細分化処理Ｂ）の流れを説明するためのフローチャートである。
処理部２００は、適用三角形ポリゴンデータ５４０として記憶されているストリップデータを読み出し、同データで定義される全ての三角形ポリゴンについてストリップ順にループＥの処理を実行する（ステップＳ１９０〜Ｓ２０２）。
【０１４３】
ループＥでは、先ず処理対象とされている三角形ポリゴンの輪郭辺を抽出する（ステップＳ１９２）。具体的には、確定辺データ５３６（図１４）を参照して対象の三角形ポリゴンの頂点を頂点ＩＤ５３６ｂに含み、辺種類５３６ｃが「０（輪郭辺）」に設定されている辺を抽出する。
【０１４４】
次に、抽出された輪郭辺毎に、輪郭辺の両端間に存在する分割点を最大分割点データ５３２を参照して一つずつ新規追加頂点を選択する（ステップＳ１９４）。新規追加される頂点は両端点間の中間にある分割点を選択するとしても良い。或いは、同端点間の輪郭線２の曲率の大きい側の分割点を選択するとしても良い。
【０１４５】
次に、処理部２００は先に抽出された輪郭辺の数と、当該輪郭辺と処理対象三角形ポリゴンの各頂点との位置関係に基づいて、適用するストリップ生成パターンＴＢＬ５２３を選択し（ステップＳ１９６）、選択したストリップ生成パターンＴＢＬ５２３を参照して、頂点識別５２３ｃに該当する頂点データを連結順５２３ｂに従って連結して新たなストリップデータを生成する（ステップＳ１９８）。そして、適用三角形ポリゴンデータ５４０のストリップデータの内、処理対象となっている三角形ポリゴンの部分を新たに生成したストリップデータで更新し（ステップＳ２００）、ループＥの処理を終了する。
【０１４６】
よって、本実施形態によればポリゴンモデルのデータをストリップデータ形式で保有する形態に適した三角形ポリゴンの細分化処理を実現できる。
【０１４７】
〔第３実施形態〕
次に、本発明を適用した第３実施形態について説明する。本実施形態は、基本的には第２実施形態と同様に実現されるが、三角形ポリゴンの細分化の度合いを閉平面図形単位でなく、三角形ポリゴン単位で調整する点が異なる。尚、第２実施形態と同様の構成要素については同じ符合を付与し、説明は省略するものとする。
【０１４８】
図３１は、本実施形態における機能構成例を示す機能ブロック図である。本実施形態では、第２実施形態と比較すると、記憶部５００に分割数設定ＴＢＬ５２２に代えて輪郭辺分割回数設定ＴＢＬ５２４を予め記憶している。
【０１４９】
輪郭辺分割回数設定ＴＢＬ５２４は、仮想カメラから細分化対象とされる三角形ポリゴンの代表点との距離に応じて、細分化処理する度合いを定義する。
例えば、図３２に示すように、仮想カメラからの距離条件５２４ａと対応づけて輪郭辺分割回数５２４ｂを格納する。例えば、仮想カメラからの距離条件５２４ａが「Ｌ１以上Ｌ２未満」では輪郭辺分割回数５２４ｂが「２」に設定されている。本実施形態の三角形ポリゴン細分化処理は、第２実施形態のそれと同様に、輪郭辺に対面する輪郭線部分に新規追加頂点を一回の細分化処理で一つ追加し、この新規追加頂点を含むように細分化する。つまり、輪郭辺が二つに分割される。よって、この場合、輪郭辺分割回数５２４ｂが「２」なので合計２回細分化処理されることになるので、基準三角形ポリゴンデータ５３８に格納されているポリゴンモデルと比べると輪郭辺が４倍細かくなる。
尚、仮想カメラからの距離条件５２４ａ及び輪郭辺分割回数５２４ｂは、ゲームに登場する閉平面図形の大きさや演出の内容に応じて適宜設定するものとする。
【０１５０】
次に、処理の流れについて説明する。
図３３は、本実施形態における呪文詠唱演出処理（呪文詠唱演出処理Ｃ）の流れを説明するためのフローチャートである。基本的には第２実施形態の呪文詠唱演出処理Ｂに類似しているが、処理部２００は、ループＡの処理対象とされる閉平面図形の予定配置位置を算出したならば（ステップＳ５２）、本実施形態における三角形ポリゴン細分化処理（三角形ポリゴン細分化処理Ｃ）を実行する（ステップＳ５３）。そして、同細分化処理の結果が反映された適用三角形ポリゴンデータ５４０に基づいてループＡの処理対象とされる閉平面図形のポリゴンモデルをステップＳ５２で求めた予定配置位置に配置する（ステップＳ６６）。
【０１５１】
図３４は、本実施形態における三角形ポリゴン細分化処理の流れを説明するためのフローチャートである。同処理では先ず、処理部２００は基準三角形ポリゴンデータ５３８のストリップデータを適用三角形ポリゴンデータ５４０に複製・格納する（ステップＳ２２０）。そして、適用三角形ポリゴンデータ５４０のストリップ順に全ての三角形ポリゴンについてループＦの処理を実行する（ステップＳ２２２〜Ｓ２４６）。
【０１５２】
ループＦの処理では、処理部２００は処理対象とされる三角形ポリゴンの輪郭辺を抽出し（ステップＳ２２４）、抽出された輪郭辺の数が「０」であれば（ステップＳ２２６のＮＯ）、ループＦの処理を終了する。
【０１５３】
一方、抽出された輪郭辺の数が「１」以上であれば（ステップＳ２２６のＹＥＳ）、処理部２００は次に処理対象の三角形ポリゴンの代表点から仮想カメラまでの距離を算出し（ステップＳ２２８）、輪郭辺分割回数設定ＴＢＬ５２４を参照して、算出した距離に適合する距離条件５２４ａに対応する輪郭辺分割回数５２４ｂを取得する（ステップＳ２３０）。
【０１５４】
次いで、処理部２００は、記憶部５００に分割回数カウンタを設け、これを「０」に初期設定し（ステップＳ２３２）、第２実施形態と同様に当該処理対象の三角形ポリゴンの細分化を行う。
すなわち、抽出された輪郭辺毎に、輪郭辺の両端間に存在する分割点を、最大分割点データ５３２を参照して一つずつ新規追加頂点として選択し（ステップＳ２３４）、ステップＳ２２４で抽出された輪郭辺の数と、当該輪郭辺と処理対象三角形ポリゴンの各頂点との位置関係に基づいて、適用するストリップ生成パターンＴＢＬ５２３を選択する（ステップＳ２３６）。そして、選択したストリップ生成パターンＴＢＬ５２３を参照して、頂点識別５２３ｃに該当する頂点データを連結順５２３ｂに従って連結して新たなストリップデータを生成し（ステップＳ１９８）、適用三角形ポリゴンデータ５４０のストリップデータの内、処理対象となっている三角形ポリゴンの部分を新たに生成したストリップデータで更新する（ステップＳ２４０）。
【０１５５】
三角形ポリゴンの細分化を終えたら、処理部２００は分割回数カウンタを「１」加算して（ステップＳ２４２）、同カウンタの加算後の値がステップＳ２３０で取得した輪郭辺分割回数に達したか否かを判定する（ステップＳ２４４）。
達していなければ（ステップＳ２４４のＮＯ）、ステップＳ２３４に戻って再びループＦの処理対象とされる三角形ポリゴンについて細分化を行う（ステップＳ２３４〜Ｓ２４０）。もし、達していれば（ステップＳ２４４のＹＥＳ）、当該三角形ポリゴンについてのループＦの処理を終了する。
【０１５６】
よって、三角形ポリゴン細分化処理Ｃによって、仮想カメラから近い位置の三角形ポリゴンほど遠く離れた位置にある三角形ポリゴンよりも回数、細分化処理が繰り返され、基準三角形ポリゴンデータに設定されているポリゴンよりも輪郭線が滑らかに見るようになる。例えば、図３５に示すように基準三角形ポリゴンデータ５３８のポリゴンモデル３０が仮想カメラの視線に対して立面姿勢に配置された場合と（図３５（ａ））、傾斜姿勢で配置された場合とでは（図３５（ｂ））、仮想カメラに近い三角形ポリゴン（例えば、三角形ポリゴンＶ７〜Ｖ８〜Ｖ９）に新規追加頂点（Ｖ１０、Ｖ１１）が追加されて細分化されるが、それ以外は分割されないといった違いが生じる。
尚、同図では図面に向かって手前側に仮想カメラが有り図面に向かって前後方向に視線が向いているものと想定して図示されている。そして、ポリゴンモデル全体としての傾きが分かるように全体を細線で囲っている。また、基準三角形ポリゴンデータに基づく三角形ポリゴンの各辺を実線で示し、細分化にともない新たに生成された三角形ポリゴンの境界となる辺と破線で示している。
【０１５７】
従って、本実施形態によれば、見かけ上のポリゴンモデルの輪郭が滑らかにみえるようにしつつ、仮想カメラから離れている三角形ポリゴンの細分化処理にかかる負担を軽減し、図形の塗り潰し描画をより高速化することができる。
【０１５８】
〔変形例〕
以上、本発明を適用した第１〜第３実施形態について説明したが、本発明の適用形態がこれらに限定されるものではなく、発明の主旨を逸脱しない限りにおいて適宜構成要素の追加・省略・変更ができる。
【０１５９】
例えば、閉平面図形は上記実施形態のように文字やシンボルマークといった図形に限らない。例えば、図３６に示すようにゲームに登場するキャラクタ２０であっても良い。キャラクタ２０は、左耳２２、右耳２３、左目２４、右目２５、頭部２６、口元２７、鼻２８、左腕２９、右腕３０、胴体３１、左足３２、右足３３の集合として定義されている。これらは、それぞれ輪郭線が近似曲線関数で定義された閉平面図形である。これらの大きさや相対位置等を変化させることで、キャラクタ２０に様々な動作をさせることができる。そして、上記実施形態と同様にこれら各要素を描画することで、キャラクタ２０が仮想カメラに近づいたり離れたりする演出が行われても、低処理負荷で高速にキャラクタを描画することができる。
【０１６０】
例えば、上記実施形態では適用三角形ポリゴンデータ５４０の更新に際し、閉平面図形と仮想カメラとの距離に応じて、輪郭曲線上に設定する輪郭点の数を、分割設定ＴＢＬ５２２を参照して可変する構成としたがこれに限るものではない。
例えば、図１６のステップＳ５６〜Ｓ５８に代えて、閉平面図形と仮想カメラとの距離が所定距離以内に近接したか否かを判定するステップを設けて閉平面図形と仮想カメラとの近接検出手段として処理部２００を機能させる。この時所定距離の設定は一つに限らず複数、段階的に設定することができる。そして、近接したと判定された条件に応じて基準三角形ポリゴンモデルに新規追加する頂点を設定するステップを設けるとしても良い。
【０１６１】
また、図１７のステップＳ８４〜Ｓ８６では、閉平面図形が外側と内側とに輪郭曲線を有する図形である場合に、外側の輪郭曲線上の輪郭点のうちの１つと内側の輪郭曲線上の輪郭点のうちの１つとを結ぶ１つの辺を輪郭辺として設定する構成としているが、当該ステップの代わりに新規確定辺探索登録処理にて、該当辺を内部辺として設定するステップを設けた構成としても良い。
【０１６２】
また、最大分割点データ５３２及び基準三角形ポリゴンデータ５３８は、ゲーム製作工程において予め用意しておいて、閉平面図形データライブラリ５２０に各閉平面図形と対応づけて格納しておく構成としても良い。その場合、図１６の最大分割点データ５３２及び基準三角形ポリゴンデータ５３８の生成に係るステップＳ４４〜Ｓ５０を省略することができる。
【０１６３】
また、上記実施形態では本発明を実現するプログラムとしてゲームプログラムを挙げたが、その他、ポリゴンを用いて３ＤＣＧを生成するプログラムであればアニメーション作成用プログラムや、プレゼンテーション用プログラムなどその他のプログラムでも良い。
【０１６４】
また、上記実施形態ではポリゴンモデル生成装置の例として家庭用ゲーム装置１２００を挙げたが、携帯型ゲーム装置や業務用ゲーム装置は勿論のこと、ゲームプログラム５０４など本発明を適用したプログラムを実行可能な情報処理装置であれば、携帯電話やＰＨＳの機能を有する携帯情報端末やパソコン、ＰＤＡなどとしても良い。
【図面の簡単な説明】
【０１６５】
【図１】家庭用ゲーム装置の構成例を示すシステム構成図。
【図２】ゲーム画面例を示す図。
【図３】閉平面図形の塗り潰しの概念を説明するための図。
【図４】閉平面図形の高速塗り潰しの原理について説明するための図。
【図５】閉平面図形の高速塗り潰しの原理について説明するための図。
【図６】閉平面図形の高速塗り潰しの原理について説明するための図。
【図７】閉平面図形の高速塗り潰しの原理について説明するための図。
【図８】閉平面図形の高速塗り潰しの原理について説明するための図。
【図９】閉平面図形の高速塗り潰しの原理について説明するための図。
【図１０】閉平面図形の高速塗り潰しの原理について説明するための図。
【図１１】家庭用ゲーム装置の機能構成例を示す機能ブロック図。
【図１２】分割数設定ＴＢＬ（テーブル）のデータ構成例を示すデータ構成図。
【図１３】共有点履歴データのデータ構成例を示すデータ構成図。
【図１４】確定辺データのデータ構成例を示すデータ構成図。
【図１５】主たる処理の流れについて説明するためのフローチャート。
【図１６】呪文詠唱演出処理の流れを説明するためのフローチャート。
【図１７】基準三角形ポリゴンデータ生成処理の流れを説明するためのフローチャート。
【図１８】新規確定辺探索登録処理の流れを説明するためのフローチャート。
【図１９】三角形ポリゴン細分化処理の流れを説明するためのフローチャート。
【図２０】第２実施形態の機能構成例を示す機能ブロック図。
【図２１】第１のストリップ生成パターンの例について説明するための図。
【図２２】第２のストリップ生成パターンの例について説明するための図。
【図２３】第３のストリップ生成パターンの例について説明するための図。
【図２４】第４のストリップ生成パターンの例について説明するための図。
【図２５】第５のストリップ生成パターンの例について説明するための図。
【図２６】第６のストリップ生成パターンの例について説明するための図。
【図２７】第７のストリップ生成パターンの例について説明するための図。
【図２８】第８のストリップ生成パターンの例について説明するための図。
【図２９】第２実施形態における呪文詠唱演出処理の流れを説明するためのフローチャート。
【図３０】第２実施形態における三角形ポリゴン細分化処理の流れを説明するためのフローチャート。
【図３１】第３実施形態における機能構成例を示す機能ブロック図。
【図３２】輪郭辺分割回数設定ＴＢＬのデータ構成例を示す図。
【図３３】第３実施形態における呪文詠唱演出処理の流れを説明するためのフローチャート。
【図３４】第３実施形態における三角形ポリゴン細分化処理の流れを説明するためのフローチャート。
【図３５】基準三角形ポリゴンデータのポリゴンモデルが仮想カメラの視線に対して（ａ）立面姿勢に配置された場合と、（ｂ）傾斜姿勢で配置された場合の三角形ポリゴンの細分化の違いの例を示す図。
【図３６】閉平面図形の変形例を示す図。
【符号の説明】
【０１６６】
２    輪郭曲線
４    三角形ポリゴン
６    輪郭点
３２  プレーヤキャラクタ
４０  図形群
１００    操作入力部
２００    処理部
２１０    ゲーム演算部
２１２    閉平面図形描画制御部
２１６    図形移動制御部
２１８    分割点設定部
２２０    三角形ポリゴンデータ生成部
２２２    三角形ポリゴン細分化部
２２４    ポリゴンモデル生成部
５００    記憶部
５０４    ゲームプログラム
５０６    画像表示制御プログラム
５１６    詠唱呪文データ
５２０    閉平面図形データライブラリ
５２２    分割数設定ＴＢＬ
５２３    ストリップ生成パターンＴＢＬ
５２４    輪郭辺分割回数設定ＴＢＬ
５３０    描画用閉平面図形データ
５３２    最大分割点データ
５３４    共有点履歴データ
５３６    確定辺データ
５３８    基準三角形ポリゴンデータ
５４０    適用三角形ポリゴンデータ
５５０    新規確定辺登録フラグ
【図１】
2010117900.tif 000003
【図２】
2010117900.tif 000004
【図３】
2010117900.tif 000005
【図４】
2010117900.tif 000006
【図５】
2010117900.tif 000007
【図６】
2010117900.tif 000008
【図７】
2010117900.tif 000009
【図８】
2010117900.tif 000010
【図９】
2010117900.tif 000011
【図１０】
2010117900.tif 000012
【図１１】
2010117900.tif 000013
【図１２】
2010117900.tif 000014
【図１３】
2010117900.tif 000015
【図１４】
2010117900.tif 000016
【図１５】
2010117900.tif 000017
【図１６】
2010117900.tif 000018
【図１７】
2010117900.tif 000019
【図１８】
2010117900.tif 000020
【図１９】
2010117900.tif 000021
【図２０】
2010117900.tif 000022
【図２１】
2010117900.tif 000023
【図２２】
2010117900.tif 000024
【図２３】
2010117900.tif 000025
【図２４】
2010117900.tif 000026
【図２５】
2010117900.tif 000027
【図２６】
2010117900.tif 000028
【図２７】
2010117900.tif 000029
【図２８】
2010117900.tif 000030
【図２９】
2010117900.tif 000031
【図３０】
2010117900.tif 000032
【図３１】
2010117900.tif 000033
【図３２】
2010117900.tif 000034
【図３３】
2010117900.tif 000035
【図３４】
2010117900.tif 000036
【図３５】
2010117900.tif 000037
【図３６】
2010117900.tif 000038