(57)【要約】【課題】水面オブジェクト等のリアルで高品質な画像を、少ないデータ量、少ない処理負荷で生成すること。【解決手段】  オブジェクトの構成点の座標を求める構成点演算部１１６は極座標系のｒ方向にｍ分割、θ方向にｎ分割して得られる所与の区画について、ｒ方向の座標値パラメータｉとθ方向への座標パラメータｊに基づきサンプリング点（ｉ，ｊ）を設定し、サンプリング点（ｉ，ｊ）の第１の座標値と第２の座標値をｒ方向の座標値パラメータｉとθ方向への座標パラメータｊに基づき求め、時刻ｔにおけるサンプリング点（ｉ，ｊ）の第３の座標値をｒ方向の座標値パラメータｉとθ方向への座標パラメータｊと時刻パラメータｔを引数とする周期関数に基づき求め、前記画像生成部１２０はサンプリング点の第１の座標値と第２の座標値と第３の座標値に基づき、前記所与の区画を含む複数の区画の集合として構成される時刻ｔにおけるオブジェクトの構成点の座標を特定する。【選択図】      図１９
2005322056.tif 000002
【特許請求の範囲】
【請求項１】
画像生成を行うプログラムであって、
オブジェクトの構成点を求めるために設定されたサンプリング点の座標と時間とを引数とする周期関数に基づいて、オブジェクトの構成点の座標を求める構成点演算部と、
求めた構成点で形状が特定されるオブジェクトの画像を生成する画像生成部としてコンピュータを機能させ、
前記構成点演算部は、
極座標系のｒ方向にｍ分割、θ方向にｎ分割して得られる所与の区画について、ｒ方向の座標値パラメータｉとθ方向への座標パラメータｊに基づきサンプリング点（ｉ，ｊ）を設定し、
サンプリング点（ｉ，ｊ）の第１の座標値と第２の座標値をｒ方向の座標値パラメータｉとθ方向への座標パラメータｊに基づき求め、
時刻ｔにおけるサンプリング点（ｉ，ｊ）の第３の座標値をｒ方向の座標値パラメータｉとθ方向への座標パラメータｊと時刻パラメータｔを引数とする周期関数に基づき求め、
前記画像生成部は、
サンプリング点の第１の座標値と第２の座標値と第３の座標値に基づき、前記所与の区画を含む複数の区画の集合として構成される時刻ｔにおけるオブジェクトの構成点の座標を特定することを特徴とするプログラム。
【請求項２】
請求項１において、
前記構成点演算部は、
極座標系のｒ方向にｍ分割、θ方向にｎ分割して得られる各区画について、
ｒ方向の座標値パラメータｉとθ方向への座標パラメータｊに基づきサンプリング点（ｉ，ｊ）を設定し、
サンプリング点（ｉ，ｊ）の第１の座標値と第２の座標値をｒ方向の座標値パラメータｉとθ方向への座標パラメータｊに基づき求め、
時刻ｔにおけるサンプリング点（ｉ，ｊ）の第３の座標値をｒ方向の座標値パラメータｉとθ方向への座標パラメータｊと時刻パラメータｔを引数とする周期関数に基づき求め、
前記画像生成部は、
サンプリング点の第１の座標値と第２の座標値と第３の座標値に基づき、各区画の集合として構成される時刻ｔにおけるオブジェクトの構成点の座標を特定することを特徴とするプログラム。
【請求項３】
請求項１乃至２のいずれかにおいて、
前記構成点演算部は、
所与の区画の各サンプリング点（ｉ、ｊ）の第３の座標値に基づき、前記所与の区画とｒ方向について同一の分割エリアに属するθ方向にｎ分割して得られた他の区画の対応する各サンプリング点（ｉ、ｊ）の第３の座標値を求めることを特徴とするプログラム。
【請求項４】
請求項１乃至３のいずれかにおいて、
前記構成点演算部は、
前記周期関数の振幅パラメータと波長パラメータの少なくとも１つを時間及びゲームイベントに応じて変化させることを特徴とするプログラム。
【請求項５】
請求項１乃至４のいずれかにおいて、
前記構成点演算部は、
前記周期関数で表現される波の向きを変化させる際に、前記波の振幅が小さくなるように前記周期関数の振幅パラメータを変化させてから、前記周期関数の波長パラメータを変更し、その後に前記波の振幅が大きくなるように前記周期関数の振幅パラメータを変化させることを特徴とするプログラム。
【請求項６】
請求項１乃至４のいずれかにおいて、
前記構成点演算部は、
前記周期関数を第１の周期関数と、前記第１の周期関数で生成される波と進行方向が異なるように波長パラメータが設定され、第１の周期関数で生成される波の振幅より小さい振幅を有するように振幅パラメータが設定された第２の周期関数を含む複数の周期関数の合成関数として構成し、
第１の周期関数で生成される波の振幅が小さくなるように第１の周期関数の振幅パラメータを変化させると同時に、第２の周期関数で生成される波の振幅が大きくなるように第２の周期関数の振幅パラメータを変化させることを特徴とするプログラム。
【請求項７】
請求項１乃至６のいずれかにおいて、
前記構成点演算部は、
時刻ｔにおけるサンプリング点（ｉ，ｊ）の第３の座標値を前記周期関数とｒ方向の座標値パラメータｉを引数とするオフセット関数の合成関数に基づき求めることを特徴とするプログラム。
【請求項８】
コンピュータにより読み取り可能な情報記憶媒体であって、請求項１乃至７のいずれかのプログラムを含むことを特徴とする情報記憶媒体。
【請求項９】
画像生成を行う画像生成システムであって、
オブジェクトの構成点を求めるために設定されたサンプリング点の座標と時間とを引数とする周期関数に基づいて、オブジェクトの構成点の座標を求める構成点演算部と、
求めた構成点で形状が特定されるオブジェクトの画像を生成する画像生成部とを含み、
前記構成点演算部は、
極座標系のｒ方向にｍ分割、θ方向にｎ分割して得られる所与の区画について、ｒ方向の座標値パラメータｉとθ方向への座標パラメータｊに基づきサンプリング点（ｉ，ｊ）を設定し、
サンプリング点（ｉ，ｊ）の第１の座標値と第２の座標値をｒ方向の座標値パラメータｉとθ方向への座標パラメータｊに基づき求め、
時刻ｔにおけるサンプリング点（ｉ，ｊ）の第３の座標値をｒ方向の座標値パラメータｉとθ方向への座標パラメータｊと時刻パラメータｔを引数とする周期関数に基づき求め、
前記画像生成部は、
サンプリング点の第１の座標値と第２の座標値と第３の座標値に基づき、前記所与の区画を含む複数の区画の集合として構成される時刻ｔにおけるオブジェクトの構成点の座標を特定することを特徴とする画像生成システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム、情報記憶媒体、及び画像生成システムに関する。
【背景技術】
【０００２】
従来より、仮想的な３次元空間であるオブジェクト空間内において仮想カメラ（所与の視点）から見える画像を生成する画像生成システム（ゲームシステム）が知られており、いわゆる仮想現実を体験できるものとして人気が高い。
【０００３】
さて、このような画像生成システムでは、プレーヤの仮想現実感の向上のために、よりリアルな画像を生成することが重要な課題になっている。従って、ゲーム画面中に表示される水面の波等についても、よりリアルに表現できることが望まれる。
【特許文献１】特開２００２−２１６１５９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
水面の波を表現する他の手法として、複数のポリゴンにより構成される水面オブジェクトを用意し、波パターンデータに基づいてこの水面オブジェクトをアニメーションさせる手法がある。
【０００５】
しかしながら、この手法では、水面オブジェクトのアニメーションパターンが限られているため、得られる波の画像が単調でリアル感に乏しい画像になってしまい、渦をまく波や回転する波等の表現を行うことが困難であった。
【０００６】
また渦をまく波や回転する波等をリアルに表現するために、水面モデルをもちいて物理シミュレーション演算を行う手法も考えられるが、演算負荷が膨大となり、ゲームシステム等の限られたハードウエアでリアルタイム画像生成を行うことは困難であるという問題点があった。
【０００７】
本発明の目的とするところは、水面オブジェクト等のリアルで高品質な画像を、少ないデータ量、少ない処理負荷で生成できる画像生成システム、プログラム及び情報記憶媒体を提供することにある。
【課題を解決するための手段】
【０００８】
（１）本発明は、画像生成を行う画像生成システムであって、
オブジェクトの構成点を求めるために設定されたサンプリング点の座標と時間とを引数とする周期関数に基づいて、オブジェクトの構成点の座標を求める構成点演算手段と、
求めた構成点で形状が特定されるオブジェクトの画像を生成する画像生成手段とを含み、
前記構成点演算手段は、
極座標系のｒ方向にｍ分割、θ方向にｎ分割して得られる所与の区画について、ｒ方向の座標値パラメータｉとθ方向への座標パラメータｊに基づきサンプリング点（ｉ，ｊ）を設定し、
サンプリング点（ｉ，ｊ）の第１の座標値と第２の座標値をｒ方向の座標値パラメータｉとθ方向への座標パラメータｊに基づき求め、
時刻ｔにおけるサンプリング点（ｉ，ｊ）の第３の座標値をｒ方向の座標値パラメータｉとθ方向への座標パラメータｊと時刻パラメータｔを引数とする周期関数に基づき求め、
前記画像生成手段は、
サンプリング点の第１の座標値と第２の座標値と第３の座標値に基づき、前記所与の区画を含む複数の区画の集合として構成される時刻ｔにおけるオブジェクトの構成点の座標を特定することを特徴とする。
【０００９】
また本発明に係るプログラムは、コンピュータにより使用可能なプログラム（情報記憶媒体又は搬送波に具現化されるプログラム）であって、上記手段をコンピュータに実現させる（上記手段としてコンピュータを機能させる）ことを特徴とする。また本発明に係る情報記憶媒体は、コンピュータにより読み取り可能（使用可能）な情報記憶媒体であって、上記手段をコンピュータに実現させる（上記手段としてコンピュータを機能させる）ためのプログラムを含むことを特徴とする。
【００１０】
サンプリング点（ｉ，ｊ）の第１の座標値とは例えばｘ軸方向の座標値ｘであり、第２の座標値とはｚ軸方向の座標値ｚであり、第３の座標値とはｙ軸方向の座標値ｙである。
【００１１】
周期関数とはサンプリング点の位置を特定するパラメータと時間を引数とする関数であり、例えば正弦波（sin）や余弦波（cos）の三角関数又はこれらを含む合成関数等である。周期関数を用いることにより所与の位置（ｘ、ｚ）のサンプリング点の周期的に変動する高さ（ｙ）等を求めることができる。
【００１２】
そしてサンプリング点（ｉ、ｊ）の座標値（例えば（ｘ、ｙ、ｚ））に基づき、周期的に変動する高さを有するオブジェクト（例えば波オブジェクト）の時刻ｔにおける構成点（例えば頂点）を特定して画像生成を行う。
【００１３】
本発明によれば、極座標系のｒ方向にｍ分割、θ方向にｎ分割して得られる所与の区画について、ｒ方向の座標値パラメータｉとθ方向への座標パラメータｊに基づき設定されたサンプリング点（ｉ，ｊ）の第３の座標値（例えばｙ座標、高さを表す座標）をサンプリング点の位置を示すパラメータ（ｒ方向の座標値パラメータｉとθ方向への座標パラメータｊ）と時刻パラメータｔを引数とする周期関数に基づき求める。
【００１４】
ここで周期関数として、平面波を生成するための波メッシュのサンプリング点（ｉ，ｊ）（デカルト座標系におけるサンプリング点）の時刻ｔにおける高さｙを求める周期関数を用いることにより、デカルト座標系におけるサンプリング点（ｉ、ｊ）のｙ座標を、極座標系のｒ方向にｍ分割、θ方向にｎ分割して得られる所与の区画（セクタ）の対応するサンプリング点（ｉ、ｊ）にマッピングすることができる。
【００１５】
ここで極座標系のｒ方向にｍ分割、θ方向にｎ分割して得られる各区画にそれぞれ、デカルト座標系の極座標系の波メッシュのサンプリング点（ｉ，ｊ）（デカルト座標系におけるサンプリング点）の時刻ｔにおける高さｙをマッピングすることにより、極座標系において連続して周期的に変動する波を生成することができる。
【００１６】
また平面波の周期関数の位相成分や波長成分を所定の値に設定することによりデカルト座標系において隣り合う各メッシュ間で連続して周期的に変動する波成分を生成することができるので、これをマッピングした極座標系において隣あう区画間の波の連続性も担保することができる。
【００１７】
従って周期関数を用いた演算を行うことで極座標系で特定される波（回転する波や渦等）を表現することができ、例えば極座標系で特定される波のシミュレーション演算を行って回転する波や渦等の表現を行う場合に比べ非常に少ない演算負荷で極座標系で特定される波（回転する波や渦等）のオブジェクトの構成点をもとめることができる。
【００１８】
（２）また本発明に係る画像生成システム、プログラム及び情報記憶媒体は、
前記構成点演算部は、
極座標系のｒ方向にｍ分割、θ方向にｎ分割して得られる各区画について、
ｒ方向の座標値パラメータｉとθ方向への座標パラメータｊに基づきサンプリング点（ｉ，ｊ）を設定し、
サンプリング点（ｉ，ｊ）の第１の座標値と第２の座標値をｒ方向の座標値パラメータｉとθ方向への座標パラメータｊに基づき求め、
時刻ｔにおけるサンプリング点（ｉ，ｊ）の第３の座標値をｒ方向の座標値パラメータｉとθ方向への座標パラメータｊと時刻パラメータｔを引数とする周期関数に基づき求め、
前記画像生成部は、
サンプリング点の第１の座標値と第２の座標値と第３の座標値に基づき、各区画の集合として構成される時刻ｔにおけるオブジェクトの構成点の座標を特定することを特徴とする。
【００１９】
（３）また本発明に係る画像生成システム、プログラム及び情報記憶媒体は、
前記構成点演算部は、
所与の区画の各サンプリング点（ｉ、ｊ）の第３の座標値に基づき、前記所与の区画とｒ方向について同一の分割エリアに属するθ方向にｎ分割して得られた他の区画の対応する各サンプリング点（ｉ、ｊ）の第３の座標値を求めることを特徴とする。
【００２０】
本発明によれば、ｒ方向について分割されたドーナッツ状の各同心円に属する各区画については、１の区画について求めたサンプリング点の値を再利用して求めることができる（ｙの値についてはそのまま用いることができ、ｘ、ｚの値については回転演算で求めることができる）。
【００２１】
従って少ない演算負荷で極座標系で特定される波（回転する波や渦等）のオブジェクトの構成点をもとめることができる。
【００２２】
（４）また本発明に係る画像生成システム、プログラム及び情報記憶媒体は、
前記構成点演算手段は、
前記周期関数の振幅パラメータと波長パラメータの少なくとも１つを時間及びゲームイベントに応じて変化させることを特徴とする。
【００２３】
このようにすれば、周期関数の波長パラメータや振幅パラメータを任意の値に変化させることができるようになり、オブジェクトの波形状の波長や振幅を可変に制御できるようになる。これにより、パラメータの設定値を変えるだけという負荷の少ない処理で、オブジェクトの形状を多様に変化させることが可能になる。
【００２４】
（５）また本発明に係る画像生成システム、プログラム及び情報記憶媒体は、
前記構成点演算手段は、
前記周期関数で表現される波の向きを変化させる際に、前記波の振幅が小さくなるように前記周期関数の振幅パラメータを変化させてから、前記周期関数の波長パラメータを変更し、その後に前記波の振幅が大きくなるように前記周期関数の振幅パラメータを変化させることを特徴とする。
【００２５】
本発明では、周期関数で表現される波の向き進行方向を変化させる際に、前記波の振幅が小さくなるように前記周期関数の振幅パラメータを変化させてから、前記周期関数の波長パラメータを変更し、その後に前記波の振幅が大きくなるように前記周期関数の振幅パラメータを変化させることができる。
【００２６】
このようにすることで、所与の向きで回転する波が波の高さが次第に低くなって、凪の状態をへて、所与の向きと異なる向きで回転する波に変化する波の画像を生成することができる。
【００２７】
ここで波の向きが変化する瞬間に波の振幅が０に近づくように波の振幅パラメータを変化させることで、波の向きが変化する瞬間はあたかも凪のような状態になるため（振幅が０又は０に近いので波が無い状態のように見える）、波の向きの変化による不自然さを感じさせない画像を生成することができる。
【００２８】
（６）また本発明に係る画像生成システム、プログラム及び情報記憶媒体は、
前記構成点演算手段は、
前記周期関数を第１の周期関数と、前記第１の周期関数で生成される波と進行方向が異なるように波長パラメータが設定され、第１の周期関数で生成される波の振幅より小さい振幅を有するように振幅パラメータが設定された第２の周期関数を含む複数の周期関数の合成関数として構成し、
第１の周期関数で生成される波の振幅が小さくなるように第１の周期関数の振幅パラメータを変化させると同時に、第２の周期関数で生成される波の振幅が大きくなるように第２の周期関数の振幅パラメータを変化させることを特徴とする。
【００２９】
このようにすることで、第１の周期関数と第２の周期関数がクロスフェードして、第１の周期関数と所与の向きで回転する波が波の高さが次第に低くなって、凪の状態をへて、所与の向きと異なる向きで回転する波に変化する波の画像を生成することができる。
【００３０】
（７）また本発明に係る画像生成システム、プログラム及び情報記憶媒体は、
前記構成点演算手段は、
時刻ｔにおけるサンプリング点（ｉ，ｊ）の第３の座標値を前記周期関数とｒ方向の座標値パラメータｉを引数とするオフセット関数の合成関数に基づき求めることを特徴とする。
【００３１】
オフセット関数を振幅に連動させるようにしてもよい。
【００３２】
本発明によればオフセット関数を適宜設定することにより、波の表面張力やうねりを表現することができる。
【発明を実施するための最良の形態】
【００３３】
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
【００３４】
１．構成
図１に本実施形態の画像生成システム（ゲームシステム）の機能ブロック図の例を示す。なお本実施形態の画像生成システムは図１の構成要素（各部）の一部を省略した構成としてもよい。
【００３５】
操作部１６０は、プレーヤが操作データを入力するためのものであり、その機能は、レバー、ボタン、ステアリング、マイク、タッチパネル型ディスプレイ、或いは筺体などにより実現できる。記憶部１７０は、処理部１００や通信部１９６などのワーク領域となるもので、その機能はＲＡＭ（ＶＲＡＭ）などにより実現できる。
【００３６】
情報記憶媒体１８０（コンピュータにより読み取り可能な媒体）は、プログラムやデータなどを格納するものであり、その機能は、光ディスク（ＣＤ、ＤＶＤ）、光磁気ディスク（ＭＯ）、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ（ＲＯＭ）などにより実現できる。処理部１００は、情報記憶媒体１８０に格納されるプログラム（データ）に基づいて本実施形態の種々の処理を行う。即ち情報記憶媒体１８０には、本実施形態の各部としてコンピュータを機能させるためのプログラム（各部の処理をコンピュータに実行させるためのプログラム）が記憶される。
【００３７】
表示部１９０は、本実施形態により生成された画像を出力するものであり、その機能は、ＣＲＴ、ＬＣＤ、タッチパネル型ディスプレイ、或いはＨＭＤ（ヘッドマウントディスプレイ）などにより実現できる。音出力部１９２は、本実施形態により生成された音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどにより実現できる。
【００３８】
携帯型情報記憶装置１９４は、プレーヤの個人データやゲームのセーブデータなどが記憶されるものであり、この携帯型情報記憶装置１９４としては、メモリカードや携帯型ゲーム装置などがある。通信部１９６は外部（例えばホスト装置や他の画像生成システム）との間で通信を行うための各種制御を行うものであり、その機能は、各種プロセッサ又は通信用ＡＳＩＣなどのハードウェアや、プログラムなどにより実現できる。
【００３９】
なお本実施形態の各部としてコンピュータを機能させるためのプログラム（データ）は、ホスト装置（サーバー）が有する情報記憶媒体からネットワーク及び通信部１９６を介して情報記憶媒体１８０（記憶部１７０）に配信してもよい。このようなホスト装置（サーバー）の情報記憶媒体の使用も本発明の範囲内に含めることができる。
【００４０】
処理部１００（プロセッサ）は、操作部１６０からの操作データやプログラムなどに基づいて、ゲーム処理、画像生成処理、或いは音生成処理などの処理を行う。ここでゲーム処理としては、ゲーム開始条件が満たされた場合にゲームを開始する処理、ゲームを進行させる処理、キャラクタやマップなどのオブジェクトを配置する処理、オブジェクトを表示する処理、ゲーム結果を演算する処理、或いはゲーム終了条件が満たされた場合にゲームを終了する処理などがある。この処理部１００は記憶部１７０をワーク領域として各種処理を行う。処理部１００の機能は各種プロセッサ（ＣＰＵ、ＤＳＰ等）、ＡＳＩＣ（ゲートアレイ等）などのハードウェアや、プログラムにより実現できる。
【００４１】
処理部１００は、オブジェクト空間設定部１１０、移動・動作処理部１１２、仮想カメラ制御部１１４、波オブジェクト演算部１１６、描画部１２０、音生成部１３０を含む。なおこれらの一部を省略する構成としてもよい。
【００４２】
オブジェクト空間設定部１１０は、キャラクタ、建物、球場、車、樹木、柱、壁、マップ（地形）などの表示物を表す各種オブジェクト（ポリゴン、自由曲面又はサブディビジョンサーフェスなどのプリミティブ面で構成されるオブジェクト）をオブジェクト空間に配置設定する処理を行う。即ちワールド座標系でのオブジェクト（モデルオブジェクト）の位置や回転角度（向き、方向と同義）を決定し、その位置（Ｘ、Ｙ、Ｚ）にその回転角度（Ｘ、Ｙ、Ｚ軸回りでの回転角度）でオブジェクトを配置する。
【００４３】
移動・動作処理部１１２は、オブジェクト（キャラクタ、ボール、車、又は飛行機等）の移動・動作演算（移動・動作シミュレーション）を行う。即ち操作部１６０によりプレーヤが入力した操作データや、プログラム（移動・動作アルゴリズム）や、各種データ（モーションデータ）などに基づいて、オブジェクト（移動オブジェクト）をオブジェクト空間内で移動させたり、オブジェクトを動作（モーション、アニメーション）させる処理を行う。具体的には、オブジェクトの移動情報（位置、回転角度、速度、或いは加速度）や動作情報（各パーツオブジェクトの位置、或いは回転角度）を、１フレーム（１／６０秒）毎に順次求めるシミュレーション処理を行う。なおフレームは、オブジェクトの移動・動作処理（シミュレーション処理）や画像生成処理を行う時間の単位である。
【００４４】
仮想カメラ制御部１１４は、オブジェクト空間内の所与（任意）の視点から見える画像を生成するための仮想カメラ（視点）の制御処理を行う。具体的には、仮想カメラの位置（Ｘ、Ｙ、Ｚ）又は回転角度（Ｘ、Ｙ、Ｚ軸回りでの回転角度）を制御する処理（視点位置や視線方向を制御する処理）を行う。
【００４５】
例えば仮想カメラによりオブジェクト（例えばキャラクタ、ボール、車）を後方から撮影する場合には、オブジェクトの位置又は回転の変化に仮想カメラが追従するように、仮想カメラの位置又は回転角度（仮想カメラの向き）を制御する。この場合には、移動・動作処理部１１２で得られたオブジェクトの位置、回転角度又は速度などの情報に基づいて、仮想カメラを制御できる。或いは、仮想カメラを、予め決められた回転角度で回転させたり、予め決められた移動経路で移動させる制御を行ってもよい。この場合には、仮想カメラの位置（移動経路）又は回転角度を特定するための仮想カメラデータに基づいて仮想カメラを制御する。
【００４６】
波オブジェクト演算部１１６は、オブジェクトの構成点を求めるために設定されたサンプリング点の座標と時間とを引数とする周期関数に基づいて、オブジェクトの構成点の座標を求める構成点演算部として機能する。
【００４７】
波オブジェクト演算部１１６は、極座標系のｒ方向にｍ分割、θ方向にｎ分割して得られる所与の区画について、ｒ方向の座標値パラメータｉとθ方向への座標パラメータｊに基づきサンプリング点（ｉ，ｊ）を設定し、サンプリング点（ｉ，ｊ）の第１の座標値と第２の座標値をｒ方向の座標値パラメータｉとθ方向への座標パラメータｊに基づき求め、時刻ｔにおけるサンプリング点（ｉ，ｊ）の第３の座標値をｒ方向の座標値パラメータｉとθ方向への座標パラメータｊと時刻パラメータｔを引数とする周期関数に基づき求める処理を行うようにしてもよい。
【００４８】
また波オブジェクト演算部１１６は、極座標系のｒ方向にｍ分割、θ方向にｎ分割して得られる各区画について、ｒ方向の座標値パラメータｉとθ方向への座標パラメータｊに基づきサンプリング点（ｉ，ｊ）を設定し、サンプリング点（ｉ，ｊ）の第１の座標値と第２の座標値をｒ方向の座標値パラメータｉとθ方向への座標パラメータｊに基づき求め、時刻ｔにおけるサンプリング点（ｉ，ｊ）の第３の座標値をｒ方向の座標値パラメータｉとθ方向への座標パラメータｊと時刻パラメータｔを引数とする周期関数に基づき求める処理を行うようにしてもよい。
【００４９】
また波オブジェクト演算部１１６は、所与の区画（セクタ）の各サンプリング点（ｉ、ｊ）の第３の座標値に基づき、前記所与の区画とｒ方向について同一の分割エリアに属するθ方向にｎ分割して得られた他の区画の対応する各サンプリング点（ｉ、ｊ）の第３の座標値を求める処理を行うようにしてもよい。
【００５０】
また波オブジェクト演算部１１６は、前記周期関数の振幅パラメータと波長パラメータの少なくとも１つを時間及びゲームイベントに応じて変化させる処理を行うようにしてもよい。
【００５１】
また波オブジェクト演算部１１６は、前記周期関数で表現される波の向きを変化させる際に、前記波の振幅が小さくなるように前記周期関数の振幅パラメータを変化させてから、前記周期関数の波長パラメータを変更し、その後に前記波の振幅が大きくなるように前記周期関数の振幅パラメータを変化させる処理を行うようにしてもよい。
【００５２】
また波オブジェクト演算部１１６は、前記周期関数を第１の周期関数と、前記第１の周期関数で生成される波と進行方向が異なるように波長パラメータが設定され、第１の周期関数で生成される波の振幅より小さい振幅を有するように振幅パラメータが設定された第２の周期関数を含む複数の周期関数の合成関数として構成し、第１の周期関数で生成されるの波の振幅が小さくなるように第１の周期関数の振幅パラメータを変化させると同時に、第２の周期関数で生成される波の振幅が大きくなるように第２の周期関数の振幅パラメータを変化させる処理を行うようにしてもよい。
【００５３】
また波オブジェクト演算部１１６は、時刻ｔにおけるサンプリング点（ｉ，ｊ）の第３の座標値を前記周期関数とｒ方向の座標値パラメータｉとするオフセット関数の合成関数に基づき求める処理を行うようにしてもよい。
【００５４】
描画部１２０は、処理部１００で行われる種々の処理（ゲーム処理）の結果に基づいて描画処理を行い、これにより画像を生成し、表示部１９０に出力するもので、求めた構成点で形状が特定されるオブジェクトの画像を生成する画像生成部として機能する。いわゆる３次元ゲーム画像を生成する場合には、まず、座標変換（ワールド座標変換、カメラ座標変換）、クリッピング処理、或いは透視変換等のジオメトリ処理が行われ、その処理結果に基づいて、描画データ（プリミティブ面の頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等）が作成される。そして、この描画データ（プリミティブ面データ）に基づいて、透視変換後（ジオメトリ処理後）のオブジェクト（１又は複数プリミティブ面）を描画バッファ１７２（フレームバッファ、中間バッファなどのピクセル単位で画像情報を記憶できるバッファ。ＶＲＡＭ）に描画する。これにより、オブジェクト空間内において仮想カメラ（所与の視点）から見える画像が生成される。
【００５５】
描画部１２０は、テクスチャマッピング部を含む。テクスチャマッピング部は、テクスチャ記憶部１７４に記憶されるテクスチャ（テクセル値）をオブジェクトにマッピングするための処理を行う。具体的には、オブジェクト（プリミティブ面）の頂点に設定（付与）されるテクスチャ座標等を用いてテクスチャ記憶部１７４からテクスチャ（色、α値などの表面プロパティ）を読み出す。そして、２次元の画像又はパターンであるテクスチャをオブジェクトにマッピングする。この場合に、ピクセルとテクセルとを対応づける処理やバイリニア補間（テクセル補間）などを行う。
【００５６】
なお描画部１２０は、α値（Ａ値）に基づくαブレンディング処理（通常αブレンディング、α加算ブレンディング又はα減算ブレンディング等）や、Ｚバッファなどを用いた隠面消去処理も行うことができる。
【００５７】
音生成部１３０は、処理部１００で行われる種々の処理の結果に基づいて音処理を行い、ＢＧＭ、効果音、又は音声などのゲーム音を生成し、音出力部１９２に出力する。
【００５８】
なお、本実施形態のゲームシステムは、１人のプレーヤのみがプレイできるシングルプレーヤモード専用のシステムにしてもよいし、複数のプレーヤがプレイできるマルチプレーヤモードも備えるシステムにしてもよい。また複数のプレーヤがプレイする場合に、これらの複数のプレーヤに提供するゲーム画像やゲーム音を、１つの端末を用いて生成してもよいし、ネットワーク（伝送ライン、通信回線）などで接続された複数の端末（ゲーム機、携帯電話）を用いて分散処理により生成してもよい。
【００５９】
２．本実施形態の特徴と処理
次に本実施形態の手法について図面を用いて説明する。
【００６０】
本実施の形態では、平面波を生成する際に用いる周期関数を使用して渦上の回転する波（時刻ｔによって構成点（例えば頂点）の高さが周期的に変化する波）のオブジェクトの形状を特定する。
【００６１】
平面波を生成するための波メッシュのサンプリング点（ｉ，ｊ）の時刻ｔにおける高さをｙとすると、以下の式で表すことができる。
【００６２】
【数１】
2005322056.tif 000003
【００６３】
周期関数はｋ＝１〜Ｋmaxで特定される複数の周期関数（たとえば三角関数）の合成関数として特定される。振幅パラメータＡｋは波成分の波高を表し、波長パラメータｎｋはｉ方向の波数（整数）及びｉ方向成分に対する進行方向を表し、波長パラメータｍｋはｊ方向の波数（整数）及びｊ方向成分に対する進行方向を表す。
【００６４】
図２は、周期関数によって生成されるデカルト座標系（直交座標系）における波の形状について説明するための図である。
【００６５】
例えば周期関数がｋ＝０の周期関数Ｗ０（２１０）、ｋ＝１の周期関数Ｗ１（２２０）、ｋ＝２の周期関数Ｗ２（２３０）の３つの周期関数の合成関数として構成されているとする。
【００６６】
ｋ＝０の周期関数Ｗ０（２１０）は、波長パラメータｎｋ＝０、波長パラメータｍｋ＝１の周期関数であり、２１２に示すようなｊ方向成分のみをもつ波を表す。
【００６７】
ｋ＝１の周期関数Ｗ１（２２０）は、波長パラメータｎｋ＝２、波長パラメータｍｋ＝０の周期関数であり、２２２に示すようなｉ方向成分のみをもつ波を表す。
【００６８】
ｋ＝２の周期関数Ｗ２（２３０）は、波長パラメータｎｋ＝１、波長パラメータｍｋ＝２の周期関数であり、２３２に示すようなｉ方向成分とｉ方向成分をもつ波を表す。
【００６９】
２４０は周期関数がｋ＝０の周期関数Ｗ０（２１０）、ｋ＝１の周期関数Ｗ１（２２０）、ｋ＝２の周期関数Ｗ２（２３０）の３つの周期関数の合成関数によって特定される波の形状を示している。
【００７０】
２５０はデカルト座標系（直交座標系）におけるサンプリング点（ｉ、ｊ）を表している。各サンプリング点（ｉ、ｊ）のｙ座標は上記数式（１）によって求められ、２４０に示すような波オブジェクトの形状が特定される。
【００７１】
本実施の形態では、図２で説明したデカルト座標系におけるサンプリング点（ｉ、ｊ）のｙ座標を、極座標系のｒ方向にｍ分割、θ方向にｎ分割して得られる所与の区画（セクタ）の対応するサンプリング点（ｉ、ｊ）にマッピングすることで、渦状に回転する波の表現を行っている。
【００７２】
図３（Ａ）（Ｂ）は、極座標系における区画について説明するための図である。
【００７３】
図３（Ａ）の３００−１は、極座標系のＲ方向にｍ分割（ｒ＝０，ｒ＝１、・・・ｒ＝ｍ−１）、θ方向にｎ分割（ｓ＝０，ｓ＝１、・・・ｓ＝ｎ−１）して得られる所与の区画（セクタ）を示している。図３（Ｂ）は平面波を生成するためのデカルト座標系を示している。
【００７４】
図３（Ａ）の所与の区画（セクタ）３００−１のサンプリング点Ｐ（ｉ，ｊ）は、図３（Ｂ）のデカルト座標系におけるサンプリング点Ｐ’（ｉ，ｊ）に対応している。
【００７５】
ここで所与の区画（セクタ）３００−１のサンプリング点Ｐ（ｉ，ｊ）の第１の座標値（ｘ）と第２の座標値（ｚ）は次式に示すようにｒ方向の座標値パラメータｉとθ方向への座標パラメータｊに基づきを設定される。
【００７６】
【数２】
2005322056.tif 000004
【００７７】
また時刻ｔにおけるサンプリング点（ｉ，ｊ）の第３の座標値（ｙ）は、対応するデカルト座標系におけるサンプリング点Ｐ’（ｉ，ｊ）と同様に数式（１）（ｒ方向の座標値パラメータｉとθ方向への座標パラメータｊと時刻パラメータｔを引数とする周期関数）に基づき求める。
【００７８】
また所与の区画（セクタ）３００−１の各サンプリング点（ｉ、ｊ）の第３の座標値（ｙ）に基づき、前記所与の区画３００−１とｒ方向について同一の分割エリアに属するθ方向にｎ分割して得られた他の区画（例えば３００−２、３００−３、・・）の対応する各サンプリング点（ｉ、ｊ）の第３の座標値（ｙ）を求めるようにしてもよい。
【００７９】
具体的には前記所与の区画３００−１とｒ方向について同一の分割エリアに属するθ方向にｎ分割して得られた他の区画（例えば３００−２、３００−３、・・）の対応する各サンプリング点（ｉ、ｊ）の第３の座標値（ｙ）は同じ値とする。
【００８０】
そして前記所与の区画３００−１とｒ方向について同一の分割エリアに属するθ方向にｎ分割して得られた他の区画（例えば３００−２、３００−３、・・）の対応する各サンプリング点（ｉ、ｊ）の第１の座標値（ｘ）、第２の座標値（ｚ）については、前記所与の区画３００−１と他の区画（例えば３００−２、３００−３、・・）との角度に応じて回転させた値を使用することができる。
【００８１】
このようにすることにより、ｒ方向について分割されたドーナッツ状の各同心円に属する各区画については、１の区画について求めたサンプリング点の値を再利用して求めることができる（ｙの値についてはそのまま用いることができ、ｘｚの値については回転演算で求めることができる）。
【００８２】
図４（Ａ）（Ｂ）〜図９（Ａ）（Ｂ）は、マッピングする平面波（デカルト座標系における平面波）と生成される波の回転の関係について説明するための図である。
【００８３】
図４（Ａ）の４１０はｎｋ＝１，ｍｋ＝１の周期関数によって生成される平面波（マッピングする平面波（デカルト座標系における平面波）の進行方向を表している。
【００８４】
図４（Ｂ）は、極座標系のＲ方向にｍ分割（ｒ＝０，ｒ＝１、・・・ｒ＝ｍ−１）、θ方向にｎ分割（ｓ＝０，ｓ＝１、・・・ｓ＝ｎ−１）して得られる所与の区画（セクタ）４２０−１に、図４（Ａ）の平面波（ｎｋ＝１，ｍｋ＝１の周期関数によって生成される平面波）をマッピングした時の波の進行方向４３０−１を示している。
【００８５】
すべての区画について、図４（Ａ）の平面波（ｎｋ＝１，ｍｋ＝１の周期関数によって生成される平面波）をマッピングすることにより図４（Ｂ）に示すような反時計回りに回転しながら中心から外方向に向かう波を表現することができる。
【００８６】
図５（Ａ）の４１１はｎｋ＝１，ｍｋ＝−１の周期関数によって生成される平面波（マッピングする平面波（デカルト座標系における平面波）の進行方向を表している。
【００８７】
図５（Ｂ）は、極座標系のＲ方向にｍ分割（ｒ＝０，ｒ＝１、・・・ｒ＝ｍ−１）、θ方向にｎ分割（ｓ＝０，ｓ＝１、・・・ｓ＝ｎ−１）して得られる所与の区画（セクタ）４２１−１に、図５（Ａ）の平面波（ｎｋ＝１，ｍｋ＝−１の周期関数によって生成される平面波）をマッピングした時の波の進行方向４３１−１を示している。
【００８８】
すべての区画について、図５（Ａ）の平面波（ｎｋ＝１，ｍｋ＝−１の周期関数によって生成される平面波）をマッピングすることにより図５（Ｂ）に示すような時計回りに回転しながら中心から外方向に向かう波を表現することができる。
【００８９】
図６（Ａ）の４１２はｎｋ＝−１，ｍｋ＝１の周期関数によって生成される平面波（マッピングする平面波（デカルト座標系における平面波）の進行方向を表している。
【００９０】
図６（Ｂ）は、極座標系のＲ方向にｍ分割（ｒ＝０，ｒ＝１、・・・ｒ＝ｍ−１）、θ方向にｎ分割（ｓ＝０，ｓ＝１、・・・ｓ＝ｎ−１）して得られる所与の区画（セクタ）４２２−１に、図６（Ａ）の平面波（ｎｋ＝−１，ｍｋ＝１の周期関数によって生成される平面波）をマッピングした時の波の進行方向４３２−１を示している。
【００９１】
すべての区画について、図６（Ａ）の平面波（ｎｋ＝−１，ｍｋ＝１の周期関数によって生成される平面波）をマッピングすることにより図６（Ｂ）に示すような反時計回りに回転しながら外方向から中心に向かう波を表現することができる。
【００９２】
図７（Ａ）の４１３はｎｋ＝−１，ｍｋ＝−１の周期関数によって生成される平面波（マッピングする平面波（デカルト座標系における平面波）の進行方向を表している。
【００９３】
図７（Ｂ）は、極座標系のＲ方向にｍ分割（ｒ＝０，ｒ＝１、・・・ｒ＝ｍ−１）、θ方向にｎ分割（ｓ＝０，ｓ＝１、・・・ｓ＝ｎ−１）して得られる所与の区画（セクタ）４２３−１に、図７（Ａ）の平面波（ｎｋ＝−１，ｍｋ＝−１の周期関数によって生成される平面波）をマッピングした時の波の進行方向４３３−１を示している。
【００９４】
すべての区画について、図７（Ａ）の平面波（ｎｋ＝−１，ｍｋ＝−１の周期関数によって生成される平面波）をマッピングすることにより図７（Ｂ）に示すような時計回りに回転しながら外方向から中心に向かう波を表現することができる。
【００９５】
図８（Ａ）の４１４はｎｋ＝１，ｍｋ＝０の周期関数によって生成される平面波（マッピングする平面波（デカルト座標系における平面波）の進行方向を表している。
【００９６】
図８（Ｂ）は、極座標系のＲ方向にｍ分割（ｒ＝０，ｒ＝１、・・・ｒ＝ｍ−１）、θ方向にｎ分割（ｓ＝０，ｓ＝１、・・・ｓ＝ｎ−１）して得られる所与の区画（セクタ）４２４−１に、図８（Ａ）の平面波（ｎｋ＝１，ｍｋ＝０の周期関数によって生成される平面波）をマッピングした時の波の進行方向４３４−１を示している。
【００９７】
すべての区画について、図８（Ａ）の平面波（ｎｋ＝１，ｍｋ＝０の周期関数によって生成される平面波）をマッピングすることにより図８（Ｂ）に示すような中心から外方向に向かう波を表現することができる。
【００９８】
図９（Ａ）の４１５はｎｋ＝０，ｍｋ＝１の周期関数によって生成される平面波（マッピングする平面波（デカルト座標系における平面波）の進行方向を表している。
【００９９】
図９（Ｂ）は、極座標系のＲ方向にｍ分割（ｒ＝０，ｒ＝１、・・・ｒ＝ｍ−１）、θ方向にｎ分割（ｓ＝０，ｓ＝１、・・・ｓ＝ｎ−１）して得られる所与の区画（セクタ）４２５−１に、図９（Ａ）の平面波（ｎｋ＝０，ｍｋ＝１の周期関数によって生成される平面波）をマッピングした時の波の進行方向４３５−１を示している。
【０１００】
すべての区画について、図９（Ａ）の平面波（ｎｋ＝０，ｍｋ＝１の周期関数によって生成される平面波）をマッピングすることにより図９（Ｂ）に示すような反時計回りに同心円状に回転する波を表現することができる。
【０１０１】
本実施の形態では使用する周期関数の振幅パラメータと波長パラメータの少なくとも１つを時間及びゲームイベントに応じて変化させることで様々な波の表現を行うことができる。
【０１０２】
例えば使用する周期関数の振幅パラメータと波長パラメータを連動して変化させることにより波の回転の向きの変化を表現することができる。
【０１０３】
図１０は、波の回転方向の変化を表現する手法の一例について説明するための図である。
【０１０４】
図１０は周期関数のパラメータの時間的な変化と、波の向きの変化の関係を示している。
【０１０５】
すなわち時刻ｔ０においてはｎｋ＝１、ｍｋ＝１、Ａｋ＝１，０の周期関数を使用して波を生成すると５１０−１に示すような時計方向と逆回りで中心から外方向に向かう波が生成される。
【０１０６】
そして最終的に時刻ｔ３で５１０−３に示すような時計方向に回転しながら中心から外方向へ向かう波（５１０−１と反対方向に回転する波）に変化させる場合には、時刻ｔ０〜ｔ１にかけて波の振幅が小さくなるように周期関数の振幅パラメータＡｋを変化させて（１．０→０に変化させる）（この間ｎｋ及びｍｋは変化させない）、波の振幅が０になったのち（凪の状態５１０−２）時刻ｔ２においてｍｋを１→−１に変化させる。
【０１０７】
そして時刻ｔ２〜ｔ３にかけて波の振幅が大きくなるように周期関数の振幅パラメータＡｋを変化させて（０→１．０に変化させる）（この間ｎｋ及びｍｋは変化させない）。
【０１０８】
このように本実施の形態では、周期関数で表現される波の向き進行方向を変化させる際に、前記波の振幅が小さくなるように前記周期関数の振幅パラメータを変化させてから、前記周期関数の波長パラメータを変更し、その後に前記波の振幅が大きくなるように前記周期関数の振幅パラメータを変化させる。
【０１０９】
このようにすることで、時計方向と逆回りで中心から外方向に向かう波（５１０−１）から、波の高さが次第に低くなって、凪の状態（５１０−２）をへて
時計方向に回転しながら中心から外方向へ向かう波（５１０−３）に変化する波の画像を生成することができる。
【０１１０】
ここで波の向きが変化する瞬間に波の振幅が０に近づくように波の振幅パラメータを変化させることで、波の向きが変化する瞬間はあたかも凪のような状態になるため（振幅が０又は０に近いので波が無い状態のように見える）、波の向きの変化による不自然さを感じさせない画像を生成することができる。
【０１１１】
図１１は、波の回転方向の変化を表現する手法の他の一例について説明するための図である。ここではｋ＝０（波ｗ１を生成する周期関数）とｋ＝１（波ｗ２を生成する周期関数）の２つの周期関数の合成関数を用いて波の回転を変化させる例について説明する。
【０１１２】
図１１は２つ周期関数のパラメータの時間的な変化と、波の向きの変化の関係を示している。
【０１１３】
すなわち時刻ｔ１においてはｋ＝０の周期関数のパラメータはｎｋ＝１、ｍｋ＝１、Ａｋ＝１，０であり、ｋ＝１の周期関数のパラメータはｎｋ＝１、ｍｋ＝−１、Ａｋ＝０，０である。ここにおいてｋ＝０の周期関数によって生成される波ｗ１は時計と逆回りに回転しながら中心から外方向に向かう波であり、ｋ＝１の周期関数によって生成される波ｗ２は時計回りに回転しながら中心か外方向に向かう波であるが、時刻ｔ１においては、ｋ＝１の周期関数の振幅パラメータは０であるので生成される波ｗ２の高低差は０となり合成関数に影響を与えない。従って時刻ｔ１ではｋ＝０の周期関数によって生成される波ｗ１が表示される（５２０−１）。
【０１１４】
また時刻ｔ３においてはｋ＝０の周期関数のパラメータはｎｋ＝１、ｍｋ＝１、Ａｋ＝０であり、ｋ＝１の周期関数のパラメータはｎｋ＝１、ｍｋ＝−１、Ａｋ＝１，０である。ここにおいてｋ＝０の周期関数によって生成される波ｗ１は時計と逆回りに回転しながら中心から外方向に向かう波であり、ｋ＝１の周期関数によって生成される波ｗ２は時計回りに回転しながら中心か外方向に向かう波であるが、時刻ｔ３においては、ｋ＝０の周期関数の振幅パラメータは０であるので生成される波ｗ１の高低差は０となり合成関数に影響を与えない。従って時刻ｔ３ではｋ＝１の周期関数によって生成される波ｗ２が表示される（５２０−３）。
【０１１５】
時刻ｔ１〜ｔ２において、ｋ＝０の周期関数の振幅パラメータを０．１〜０．５に向けて減少させ（前記波の振幅が小さくなるように前記周期関数の振幅パラメータを変化させる）、ｋ＝１の周期関数の振幅パラメータを０．０〜０．５に向けて増加させる（前記波の振幅が大きくなるように前記周期関数の振幅パラメータを変化させる）。
【０１１６】
このようにすると、時刻ｔ２においてはｋ＝０の周期関数によって生成される波ｗ１とｋ＝１の周期関数によって生成される波ｗ２が互いに相殺して波の振幅が０になる（凪の状態５２０−２）。
【０１１７】
そして時刻ｔ２〜ｔ３において、ｋ＝０の周期関数の振幅パラメータを０．５〜０．０に向けて減少させ（前記波の振幅が小さくなるように前記周期関数の振幅パラメータを変化させる）、ｋ＝１の周期関数の振幅パラメータを０．５〜１．０に向けて増加させる（前記波の振幅が大きくなるように前記周期関数の振幅パラメータを変化させる）。
【０１１８】
このようにすることで、時計方向と逆回りで中心から外方向に向かう波（５２０−１）から、波の高さが次第に低くなって、凪の状態（５２０−２）をへて
時計方向に回転しながら中心から外方向へ向かう波（５２０−３）に変化する波の画像を生成することができる。
【０１１９】
図１２〜図１４は本実施の形態の手法によって生成された波の画像である。
【０１２０】
図１２はオブジェクト５１０を中心として時計回りに回転しながら中心から外方向に向かう波の画像である。
【０１２１】
図１３は波の高低差が無くなった凪の状態の画像である。
【０１２２】
図１４はオブジェクト５１０を中心として反時計回りに回転しながら中心から外方向に向かう波の画像である。
【０１２３】
例えば図１０や図１１で説明した本実施の形態の手法を用いることによって、時間の経過に従って図１２〜図１３〜図１４のように変化する波の画像を生成することができる。
【０１２４】
本実施の形態では図３（Ａ）（Ｂ）で説明したように、デカルト座標系の平面波を極座標系における各区画にマッピングしている。ここで波の中心付近の区画は扇形状をしているため、渦が不自然になる可能性がある。しかし図１２〜図１４に示すように波の回転の中心にオブジェクトを配置することで、中心部分をより自然に見せることができる。
【０１２５】
図１５（Ａ）（Ｂ）は、本実施の形態の他の特徴について説明するための図であり、生成される波のｙ軸方向の断面図を示している。
【０１２６】
時刻ｔにおけるサンプリング点ｐ（ｉ，ｊ）の第３の座標値（ｙ）を前記周期関数Ｆとｒ方向の座標値パラメータｉとするオフセット関数Ｏｆｓｅｔ（ｒ）の合成関数に基づき求めるようにしてもよい。
【０１２７】
ここでｒの絶対値が大きくなるにつれオフセット関数Ｏｆｓｅｔ（ｒ）の値が大きくなるように構成することで、図１５（Ａ）に示すような、中心０からｒ方向に離れるにつれ波の高さｙが基準面６１０より上昇する波を生成することができる。
【０１２８】
またｒの絶対値が０付近においてオフセット関数Ｏｆｓｅｔ（ｒ）の値が急激に小さくなるように構成することで、図１５（Ｂ）に示すような、中心０付近でホール状に落ち込む波を生成することができる。
【０１２９】
図１６は、サンプリング点で形状が特定されるオブジェクト法線ベクトル算出について説明するための図である。
【０１３０】
本実施の形態でＰ１（ｉ、ｊ）の法線ベクトルｎ（ｉ、ｊ）を求める際には、
まずＰ１（ｉ、ｊ）に隣接する頂点Ｐ４（ｉ＋１、ｊ）と頂点Ｐ５（ｉ−１、ｊ）の高低差を表すベクトルＺと、Ｐ１（ｉ、ｊ）に隣接する頂点Ｐ３（ｉ、ｊ＋１）と頂点Ｐ２（ｉ、ｊ−１）の高低差を表すベクトルＸを求め、ＸとＺの外積Ｙ（ｉ、ｊ）を求め、外積Ｙ（ｉ、ｊ）に基づきｎ＝Ｙ／｜Ｙ｜により法線ベクトルを求める。
【０１３１】
図１７は本実施の形態の処理の流れを示すフローチャート図である。
【０１３２】
まずゲームの初期化を行い（ステップＳ１０）、時刻パラメータｔに０を設定する（ステップＳ２０）。
【０１３３】
次に各フレーム毎に下記の処理を行い、時間の経過と共に周期的に変化する移転する波（渦波）を含む画像を生成する。
【０１３４】
まずゲーム処理を行い（ステップＳ３０）、当該フレームにおけるパラメータやオブジェクトの配置情報を演算し、視点設定を行う（ステップＳ３０）。
【０１３５】
次に各サンプリング点における波高データを作成する（ステップＳ５０）。
【０１３６】
次に各サンプリング点における波高データに基づき当該フレームにおける（時刻ｔｎにおける）波オブジェクトの形状を特定し何オブジェクトを含む仮想３次元空間の描画処理を行う（ステップＳ６０）。
【０１３７】
次に時刻パラメータｔをインクリメントする（ステップＳ７０）。
【０１３８】
ゲーム終了でなければステップＳ３０に戻り、次のフレームについて画像生成処理を行う（ステップＳ８０）。
【０１３９】
図１８は各サンプリング点における波高データの作成の詳細な処理例について説明するための図である。
【０１４０】
まず各サンプリング点（ｉ，ｊ）のインデックスパラメータｉについてｉ＝−１で初期設定する（ステップＳ１１０）。
【０１４１】
次にインデックスカウンタｉについてｉ＝−１で初期設定する（ステップＳ１２０）。
【０１４２】
次に時刻ｔにおけるサンプリング点（ｉ、ｊ）のｙ座標を例えば数式（１）に示すような周期関数を使用して計算し、Ｚ座標値格納バッファydata(i)(j)に格納する（ステップＳ１３０）。Ｚ座標値格納バッファydata(i)(j)は１セクタ分のサンプリング点（ｉ）（ｊ）に対応したｙ座標値が格納される。また法線を求める都合上、（実際に必要な頂点数＋２）ずつ計算格納する。
【０１４３】
次にインデックスパラメータｊをインクリメントする（ステップＳ１４０）。そしてｊ＞Ｍ＋１でないならばステップＳ１３０に戻る（ステップＳ１５０）。
【０１４４】
またｊ＞Ｍ＋１であるならばインデックスパラメータｉをインクリメントする（ステップＳ１６０）。
【０１４５】
そしてｉ＞Ｎ＋１でないならばステップＳ１２０に戻り、ｉ＞Ｎ＋１であるならば波高データの作成処理を終了する（ステップＳ１７０）。
【０１４６】
図１９は波オブジェクト描画の詳細な処理例について説明するための図である。
【０１４７】
まず極座標系のｒ方向にｍ分割、θ方向にｎ分割して得られる所与の区画であるセクタ（ｒ、ｓ）のｒ方向パラメータｒをｒ＝０に初期設定する（ステップＳ２１０）。
【０１４８】
次にθ方向パラメータｓをｓ＝０に初期設定する（ステップＳ２２０）。
【０１４９】
サンプリング点（ｉ，ｊ）のインデックスパラメータｉについてｉ＝−１で初期設定する（ステップＳ２３０）。
【０１５０】
次にインデックスカウンタｉについてｉ＝−１で初期設定する（ステップＳ２４０）。
【０１５１】
次にセクタ（ｒ、ｓ）の（ｉ，ｊ）番目のサンプリング点のｘ、ｚ座標を求める（ステップＳ２５０）。
【０１５２】
次にＺ座標値格納バッファydata(i)(j)からを用いて（ｉ，ｊ）番目のサンプリング点ｙ座標を求める（ステップＳ２６０）。
【０１５３】
次にｙ座標にオフセット値を加える（ステップＳ２７０）。オフセット値は例えばofset−ｙ（ｉ，ｒ）＝（ｒ＋ｉ／Ｎ）2  で求められる。
【０１５４】
次にインデックスパラメータｊをインクリメントする（ステップＳ２８０）。そしてｊ＞Ｍ＋１でないならばステップＳ２５０に戻る（ステップＳ２９０）。
【０１５５】
またｊ＞Ｍ＋１であるならばインデックスパラメータｉをインクリメントする（ステップＳ３００）。
【０１５６】
そしてｉ＞Ｎ＋１でないならばステップＳ２４０に戻り、ｉ＞Ｎ＋１であるならば次のレンダリング処理に進む。
【０１５７】
まずｉ＝０に初期設定する（ステップＳ３２０）。
【０１５８】
次にｉ＝０に初期設定する（ステップＳ３３０）。
【０１５９】
次に図１６で説明したように隣接頂点との高低差からサンプリング点（ｉ、ｊ）の法線を求める（ステップＳ３４０）。
【０１６０】
次に法線情報、光源情報、視点情報に基づきサンプリング点（ｉ、ｊ）の輝度、透明度、テクスチャＵＶを求める（ステップＳ３５０）。
【０１６１】
次にインデックスパラメータｊをインクリメントする（ステップＳ３６０）。そしてｊ＞ＭでないならばステップＳ３４０に戻る（ステップＳ３７０）。
【０１６２】
またｊ＞Ｍであるならばインデックスパラメータｉをインクリメントする（ステップＳ３８０）。
【０１６３】
そしてｉ＞ＮでないならばステップＳ３３０に戻り、ｉ＞Ｎ＋１であるならばサンプリング点（０，０）から（Ｎ，Ｍ）を波オブジェクトの頂点とみなしてレンダリング処理を行い、オブジェクトを描画する（ステップＳ４００）。
【０１６４】
次にθ方向パラメータｓをｓ＝ｓ＋１にインクリメントする（ステップＳ４１０）。
【０１６５】
そしてｓ＞ｎでないならばステップＳ２３０に戻る（ステップＳ４２０）。
【０１６６】
またｓ＞ｎであるならばｒ方向パラメータｒをｒ＝ｒ＋１にインクリメントする（ステップＳ４４０）。
【０１６７】
そしてｒ＞ｍでないならばステップＳ２２０に戻り、ｒ＞ｍであるならば波オブジェクト描画処理を終了する（ステップＳ４４０）。
【０１６８】
３．ハードウェア構成
図２０に本実施形態を実現できるハードウェア構成の例を示す。メインプロセッサ９００は、ＣＤ９８２（情報記憶媒体）に格納されたプログラム、通信インターフェース９９０を介してダウンロードされたプログラム、或いはＲＯＭ９５０に格納されたプログラムなどに基づき動作し、ゲーム処理、画像処理、音処理などを実行する。コプロセッサ９０２は、メインプロセッサ９００の処理を補助するものであり、マトリクス演算（ベクトル演算）を高速に実行する。例えばオブジェクトを移動させたり動作（モーション）させる物理シミュレーションに、マトリクス演算処理が必要な場合には、メインプロセッサ９００上で動作するプログラムが、その処理をコプロセッサ９０２に指示（依頼）する。
【０１６９】
ジオメトリプロセッサ９０４は、メインプロセッサ９００上で動作するプログラムからの指示に基づいて、座標変換、透視変換、光源計算、曲面生成などのジオメトリ処理を行うものであり、マトリクス演算を高速に実行する。データ伸張プロセッサ９０６は、圧縮された画像データや音データのデコード処理を行ったり、メインプロセッサ９００のデコード処理をアクセレートする。これにより、オープニング画面やゲーム画面において、ＭＰＥＧ方式等で圧縮された動画像を表示できる。
【０１７０】
描画プロセッサ９１０は、ポリゴンや曲面などのプリミティブ面で構成されるオブジェクトの描画（レンダリング）処理を実行する。オブジェクトの描画の際には、メインプロセッサ９００は、ＤＭＡコントローラ９７０を利用して、描画データを描画プロセッサ９１０に渡すと共に、必要であればテクスチャ記憶部９２４にテクスチャを転送する。すると描画プロセッサ９１０は、描画データやテクスチャに基づいて、Ｚバッファなどを利用した隠面消去を行いながら、オブジェクトをフレームバッファ９２２に描画する。また描画プロセッサ９１０は、αブレンディング（半透明処理）、デプスキューイング、ミップマッピング、フォグ処理、バイリニア・フィルタリング、トライリニア・フィルタリング、アンチエリアシング、シェーディング処理なども行う。１フレーム分の画像がフレームバッファ９２２に書き込まれるとその画像はディスプレイ９１２に表示される。
【０１７１】
サウンドプロセッサ９３０は、多チャンネルのＡＤＰＣＭ音源などを内蔵し、ＢＧＭ、効果音、音声などのゲーム音を生成し、スピーカ９３２を介して出力する。ゲームコントローラ９４２やメモリカード９４４からのデータはシリアルインターフェース９４０を介して入力される。
【０１７２】
ＲＯＭ９５０にはシステムプログラムなどが格納される。業務用ゲームシステムの場合にはＲＯＭ９５０が情報記憶媒体として機能し、ＲＯＭ９５０に各種プログラムが格納される。なおＲＯＭ９５０の代わりにハードディスクを利用してもよい。ＲＡＭ９６０は各種プロセッサの作業領域となる。ＤＭＡコントローラ９７０は、プロセッサ、メモリ間でのＤＭＡ転送を制御する。ＣＤドライブ９８０は、プログラム、画像データ、或いは音データなどが格納されるＣＤ９８２にアクセスする。通信インターフェース９９０はネットワーク（通信回線、高速シリアルバス）を介して外部との間でデータ転送を行う。
【０１７３】
なお本実施形態の各部（各手段）の処理は、その全てをハードウェアのみにより実現してもよいし、情報記憶媒体に格納されるプログラムや通信インターフェースを介して配信されるプログラムにより実現してもよい。或いは、ハードウェアとプログラムの両方により実現してもよい。
【０１７４】
そして本実施形態の各部の処理をハードウェアとプログラムの両方により実現する場合には、情報記憶媒体には、ハードウェア（コンピュータ）を本実施形態の各部として機能させるためのプログラムが格納される。より具体的には、上記プログラムが、ハードウェアである各プロセッサ９０２、９０４、９０６、９１０、９３０に処理を指示すると共に、必要であればデータを渡す。そして、各プロセッサ９０２、９０４、９０６、９１０、９３０は、その指示と渡されたデータとに基づいて本発明の各部の処理を実現する。
【０１７５】
なお本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。
【０１７６】
また、本発明のうち従属請求項に係る発明においては、従属先の請求項の構成要件の一部を省略する構成とすることもできる。また、本発明の１の独立請求項に係る発明の要部を、他の独立請求項に従属させることもできる。
【０１７７】
また本発明は、業務用ゲームシステム、家庭用ゲームシステム、多数のプレーヤが参加する大型アトラクションシステム、シミュレータ、マルチメディア端末、携帯電話等の種々のゲームシステム（画像生成システム）に適用できる。
【図面の簡単な説明】
【０１７８】
【図１】本実施形態の画像生成システム（ゲームシステム）の機能ブロック図の例を示す。
【図２】周期関数によって生成されるデカルト座標系（直交座標系）における波の形状について説明するための図である。
【図３】図３（Ａ）（Ｂ）は、極座標系における区画について説明するための図である。
【図４】図４（Ａ）（Ｂ）は、マッピングする平面波（デカルト座標系における平面波）と生成される波の回転の関係について説明するための図である。
【図５】図５（Ａ）（Ｂ）は、マッピングする平面波（デカルト座標系における平面波）と生成される波の回転の関係について説明するための図である。
【図６】図６（Ａ）（Ｂ）は、マッピングする平面波（デカルト座標系における平面波）と生成される波の回転の関係について説明するための図である。
【図７】図７（Ａ）（Ｂ）は、マッピングする平面波（デカルト座標系における平面波）と生成される波の回転の関係について説明するための図である。
【図８】図８（Ａ）（Ｂ）は、マッピングする平面波（デカルト座標系における平面波）と生成される波の回転の関係について説明するための図である。
【図９】図９（Ａ）（Ｂ）は、マッピングする平面波（デカルト座標系における平面波）と生成される波の回転の関係について説明するための図である。
【図１０】波の回転方向の変化を表現する手法の一例について説明するための図である。
【図１１】波の回転方向の変化を表現する手法の他の一例について説明するための図である。
【図１２】本実施の形態の手法によって生成された波の画像である。
【図１３】本実施の形態の手法によって生成された波の画像である。
【図１４】本実施の形態の手法によって生成された波の画像である。
【図１５】図１５（Ａ）（Ｂ）は、本実施の形態の他の特徴について説明するための図である。
【図１６】サンプリング点で形状が特定されるオブジェクト法線ベクトル算出について説明するための図である。
【図１７】本実施の形態の処理の流れを示すフローチャート図である。
【図１８】各サンプリング点における波高データの作成の詳細な処理例について説明するための図である。
【図１９】波オブジェクト描画の詳細な処理例について説明するための図である。
【図２０】本実施形態を実現できるハードウェア構成の例を示す。
【符号の説明】
【０１７９】
１００  処理部、１１０  オブジェクト空間設定部、１１２  移動・動作処理部、
１１４  仮想カメラ制御部、１１６  波オブジェクト演算部、１２０  描画部、１３０  音生成部、１６０  操作部、１７０  記憶部、１７２  描画バッファ、１７４  テクスチャ記憶部、１８０  情報記憶媒体、１９０  表示部、
１９２  音出力部、１９４  携帯型情報記憶装置、１９６  通信部
【図１】
2005322056.tif 000005
【図２】
2005322056.tif 000006
【図３】
2005322056.tif 000007
【図４】
2005322056.tif 000008
【図５】
2005322056.tif 000009
【図６】
2005322056.tif 000010
【図７】
2005322056.tif 000011
【図８】
2005322056.tif 000012
【図９】
2005322056.tif 000013
【図１０】
2005322056.tif 000014
【図１１】
2005322056.tif 000015
【図１２】
2005322056.tif 000016
【図１３】
2005322056.tif 000017
【図１４】
2005322056.tif 000018
【図１５】
2005322056.tif 000019
【図１６】
2005322056.tif 000020
【図１７】
2005322056.tif 000021
【図１８】
2005322056.tif 000022
【図１９】
2005322056.tif 000023
【図２０】
2005322056.tif 000024