(57)【特許請求の範囲】
【請求項１】
画像生成のためのプログラムであって、
オブジェクト空間内で移動体を移動させるための演算を行う移動体演算部と、
前記移動体が移動する移動フィールドに対して設定される複数の位置取得用ポリゴンの情報を、移動フィールド情報として記憶する移動フィールド情報記憶部と、
前記複数の位置取得用の各ポリゴンの頂点座標と移動体位置を比較して、前記複数の位置取得用ポリゴンの中から、前記移動体位置が属するポリゴンを検索する検索部と、
検索されたポリゴンに対して設定され第１、第２の座標軸を有するポリゴン座標系に、前記移動体位置を座標変換して、前記ポリゴン座標系での前記移動体位置の座標を求める座標演算部と、
前記ポリゴン座標系での前記移動体位置の座標に基づいてゲーム演算を行うゲーム演算部と、
オブジェクト空間内において仮想カメラから見える画像を生成する画像生成部として、
コンピュータを機能させ、
前記移動フィールド情報記憶部は、
前記位置取得用の各ポリゴンの前記第１の座標軸の基準座標値であって各ポリゴンの前記頂点座標とは異なる第１、第２の基準座標値を、前記移動フィールド情報として記憶し、
前記座標演算部は、
前記第１、第２の基準座標値を用いた補間処理により、前記移動体位置の前記第１の座標軸の座標である進行方向座標を求めることを特徴とするプログラム。
【請求項２】
請求項１において、
前記移動フィールド情報記憶部は、
前記位置取得用ポリゴンの第１、第２のポリゴンが隣接する場合に、前記第１のポリゴンの第１、第２の基準座標値と、前記第２のポリゴンの第１、第２の基準座標値とが同じ値に設定されるように、前記第１、第２のポリゴンの前記第１、第２の基準座標値を記憶することを特徴とするプログラム。
【請求項３】
請求項１又は２において、
前記移動フィールド情報記憶部は、
前記移動フィールドの第１、第２のコースが合流し、合流地点に前記第１のコースの第１の合流地点ポリゴンと前記第２のコースの第２の合流地点ポリゴンが配置される場合に、前記第１の合流地点ポリゴンの第２の基準座標値と、前記第２の合流地点ポリゴンの第２の基準座標値とが同じ値に設定されるように、前記第１、第２の合流地点ポリゴンの前記第１、第２の基準座標値を記憶することを特徴とするプログラム。
【請求項４】
請求項１乃至３のいずれかにおいて、
前記座標演算部は、
前記移動体位置を通り前記第１の座標軸の方向に沿った直線と、前記位置取得用の各ポリゴンの辺との交点を求め、求められた前記交点に基づいて、前記移動体位置の進行方向座標を求めることを特徴とするプログラム。
【請求項５】
請求項１乃至４のいずれかにおいて、
前記座標演算部は、
前記位置取得用の各ポリゴンの基準辺に対して直交する方向に沿った座標軸又は各ポリゴンの基準点に対向する対向辺に対して直交する方向に沿った座標軸を、前記第１の座標軸として、前記移動体位置の進行方向座標を求めることを特徴とするプログラム。
【請求項６】
請求項１乃至５のいずれかにおいて、
前記座標演算部は、
前記移動体位置の前記第２の座標軸の座標である横方向座標を求めることを特徴とするプログラム。
【請求項７】
請求項６において、
前記移動フィールド情報記憶部は、
前記位置取得用の各ポリゴンの前記第２の座標軸の基準座標値である第３、第４の基準座標値を、前記移動フィールド情報として記憶し、
前記座標演算部は、
前記第３、第４の基準座標値を用いた補間処理により、前記移動体位置の横方向座標を求めることを特徴とするプログラム。
【請求項８】
請求項６又は７において、
前記座標演算部は、
前記移動体位置を通り前記第１の座標軸に交差する方向に沿った直線と、前記位置取得用の各ポリゴンの辺との交点を求め、求められた前記交点に基づいて、前記移動体位置の横方向座標を求めることを特徴とするプログラム。
【請求項９】
請求項８において、
前記座標演算部は、
前記位置取得用の各ポリゴンの基準辺の傾きと、前記基準辺の対向辺の傾きとを用いた補間処理により、前記直線の傾きを求めることを特徴とするプログラム。
【請求項１０】
請求項６乃至９のいずれかにおいて、
前記座標演算部は、
前記位置取得用の各ポリゴンの基準辺に対して直交する方向に沿った座標軸又は各ポリゴンの基準点に対向する対向辺に対して直交する方向に沿った座標軸を、前記第１の座標軸とし、前記第１の座標軸に直交する座標軸を前記第２の座標軸として、前記移動体位置の横方向座標を求めることを特徴とするプログラム。
【請求項１１】
請求項１乃至１０のいずれかにおいて、
前記移動フィールド情報記憶部は、
前記位置取得用の各ポリゴンに設定されるポリゴン属性情報を、前記移動フィールド情報として記憶し、
前記移動体演算部は、
前記移動体位置が属するとして検索されたポリゴンに設定されるポリゴン属性情報の移動条件情報に基づいて、前記移動体の移動演算を行うことを特徴とするプログラム。
【請求項１２】
画像生成のためのプログラムであって、
オブジェクト空間内で移動体を移動させるための演算を行う移動体演算部と、
前記移動体が移動する移動フィールドに対して設定される複数の位置取得用ポリゴンの情報を、移動フィールド情報として記憶する移動フィールド情報記憶部と、
前記複数の位置取得用ポリゴンの中から、移動体位置が属するポリゴンを検索する検索部と、
検索されたポリゴンに対して設定され第１、第２の座標軸を有するポリゴン座標系に、前記移動体位置を座標変換して、前記ポリゴン座標系での前記移動体位置の座標を求める座標演算部と、
オブジェクト空間内において仮想カメラから見える画像を生成する画像生成部として、
コンピュータを機能させ、
前記移動フィールド情報記憶部は、
前記位置取得用の各ポリゴンの前記第１の座標軸の基準座標値である第１、第２の基準座標値を、前記移動フィールド情報として記憶し、
前記座標演算部は、
前記移動体位置を通り前記第１の座標軸の方向に沿った直線と、前記位置取得用の各ポリゴンの基準辺との交点である第１の交点と、前記直線と前記基準辺の対向辺との交点である第２の交点を求め、求められた前記第１、第２の交点と前記移動体位置との距離に基づいて第１の距離比率を求め、前記第１、第２の基準座標値と前記第１の距離比率を用いた補間処理を行うことで、前記移動体位置の前記第１の座標軸の座標である進行方向座標を求めることを特徴とするプログラム。
【請求項１３】
請求項１２において、
前記移動フィールド情報記憶部は、
前記位置取得用の各ポリゴンの前記第２の座標軸の基準座標値である第３、第４の基準座標値を、前記移動フィールド情報として記憶し、
前記座標演算部は、
前記移動体位置を通り前記第１の座標軸に交差する方向に沿った直線と、前記位置取得用の各ポリゴンの第１、第２の側辺との交点である第３、第４の交点を求め、求められた前記第３、第４の交点と前記移動体位置との距離に基づいて第２の距離比率を求め、前記第３、第４の基準座標値と前記第２の距離比率を用いた補間処理を行うことで、前記移動体位置の前記第２の座標軸の座標である横方向座標を求めることを特徴とするプログラム。
【請求項１４】
コンピュータ読み取り可能な情報記憶媒体であって、請求項１乃至１３のいずれかに記載のプログラムを記憶したことを特徴とする情報記憶媒体。
【請求項１５】
画像を生成する画像生成システムであって、
オブジェクト空間内で移動体を移動させるための演算を行う移動体演算部と、
前記移動体が移動する移動フィールドに対して設定される複数の位置取得用ポリゴンの情報を、移動フィールド情報として記憶する移動フィールド情報記憶部と、
前記複数の位置取得用の各ポリゴンの頂点座標と移動体位置を比較して、前記複数の位置取得用ポリゴンの中から、前記移動体位置が属するポリゴンを検索する検索部と、
検索されたポリゴンに対して設定され第１、第２の座標軸を有するポリゴン座標系に、前記移動体位置を座標変換して、前記ポリゴン座標系での前記移動体位置の座標を求める座標演算部と、
前記ポリゴン座標系での前記移動体位置の座標に基づいてゲーム演算を行うゲーム演算部と、
オブジェクト空間内において仮想カメラから見える画像を生成する画像生成部と、
を含み、
前記移動フィールド情報記憶部は、
前記位置取得用の各ポリゴンの前記第１の座標軸の基準座標値であって各ポリゴンの前記頂点座標とは異なる第１、第２の基準座標値を、前記移動フィールド情報として記憶し、
前記座標演算部は、
前記第１、第２の基準座標値を用いた補間処理により、前記移動体位置の前記第１の座標軸の座標である進行方向座標を求めることを特徴とする画像生成システム。
【請求項１６】
画像を生成する画像生成システムであって、
オブジェクト空間内で移動体を移動させるための演算を行う移動体演算部と、
前記移動体が移動する移動フィールドに対して設定される複数の位置取得用ポリゴンの情報を、移動フィールド情報として記憶する移動フィールド情報記憶部と、
前記複数の位置取得用ポリゴンの中から、移動体位置が属するポリゴンを検索する検索部と、
検索されたポリゴンに対して設定され第１、第２の座標軸を有するポリゴン座標系に、前記移動体位置を座標変換して、前記ポリゴン座標系での前記移動体位置の座標を求める座標演算部と、
オブジェクト空間内において仮想カメラから見える画像を生成する画像生成部とを含み、
前記移動フィールド情報記憶部は、
前記位置取得用の各ポリゴンの前記第１の座標軸の基準座標値である第１、第２の基準座標値を、前記移動フィールド情報として記憶し、
前記座標演算部は、
前記移動体位置を通り前記第１の座標軸の方向に沿った直線と、前記位置取得用の各ポリゴンの基準辺との交点である第１の交点と、前記直線と前記基準辺の対向辺との交点である第２の交点を求め、求められた前記第１、第２の交点と前記移動体位置との距離に基づいて第１の距離比率を求め、前記第１、第２の基準座標値と前記第１の距離比率を用いた補間処理を行うことで、前記移動体位置の前記第１の座標軸の座標である進行方向座標を求めることを特徴とする画像生成システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム、情報記憶媒体及び画像生成システムに関する。
【背景技術】
【０００２】
従来より、キャラクタ、車などのオブジェクトが配置設定されるオブジェクト空間内（仮想的な３次元空間）において仮想カメラ（所与の視点）から見える画像を生成する画像生成システム（ゲームシステム）が知られており、いわゆる仮想現実を体験できるものとして人気が高い。レースゲームを楽しむことができる画像生成システムを例にとれば、プレーヤは、ゲームコントローラなどの操作部を用いて自車を操作し、他のプレーヤが操作する他車と競争することでゲームを楽しむ。
【０００３】
このような画像生成システムでは、車、キャラクタなどの移動体の順位や現在の位置を把握するために、コースに沿って複数の基準点を設定し、これらの基準点の列に沿った方向を座標軸とした座標系を用いる手法を採用していた。
【０００４】
しかしながら、この手法によると、座標変換に時間を要したり、正しい座標値を検索するための手がかりとなるデータが必要になるなどの制約があった。また、コースの分岐の表現が難しく、汎用性に乏しいという課題があった。
【特許文献１】特開平１１−６６３４３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
本発明は、以上のような課題に鑑みてなされたものであり、その目的とするところは、移動体の位置の効率的な取得を可能にするプログラム、情報記憶媒体及び画像生成システムを提供することにある。
【課題を解決するための手段】
【０００６】
本発明は、画像を生成する画像生成システムであって、オブジェクト空間内で移動体を移動させるための演算を行う移動体演算部と、前記移動体が移動する移動フィールドに対して設定される複数の位置取得用ポリゴンの情報を、移動フィールド情報として記憶する移動フィールド情報記憶部と、前記複数の位置取得用ポリゴンの中から、移動体位置が属するポリゴンを検索する検索部と、検索されたポリゴンに対して設定され第１、第２の座標軸を有するポリゴン座標系に、前記移動体位置を座標変換して、前記ポリゴン座標系での前記移動体位置の座標を求める座標演算部と、オブジェクト空間内において仮想カメラから見える画像を生成する画像生成部とを含む画像生成システムに関係する。また本発明は、上記各部としてコンピュータを機能させるプログラム、又は該プログラムを記憶したコンピュータ読み取り可能な情報記憶媒体に関係する。
【０００７】
本発明によれば、移動体の移動フィールドに対して複数の位置取得用ポリゴンが設定される。そして設定された複数の位置取得用ポリゴンの中から移動体位置が属するポリゴンが検索（チェック、選択）される。そして検索されたポリゴンに設定されるポリゴン座標系に、移動体位置が座標変換されて、そのポリゴン座標系での移動体位置の座標が求められる。このようにすれば、移動体の位置取得に曖昧な部分を無くすことができ、付加的な処理が不要になるため、処理負荷を軽減できる。また各ポリゴン毎のポリゴン座標系において移動体位置の座標が求められるため、前後のポリゴン間での依存関係が無くすことができ、自由度の高い設計が可能になり、移動体の位置の効率的な取得が可能になる。
【０００８】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記座標演算部は、前記移動体位置の前記第１の座標軸の座標である進行方向座標を求めてもよい。
【０００９】
このような進行方向座標を求めれば、移動フィールドでの移動体の進行度合いを把握できるようになり、移動体の順位等を求めることが可能になる。
【００１０】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記移動フィールド情報記憶部は、前記位置取得用の各ポリゴンの前記第１の座標軸の基準座標値である第１、第２の基準座標値を、前記移動フィールド情報として記憶し、前記座標演算部は、前記第１、第２の基準座標値を用いた補間処理により、前記移動体位置の進行方向座標を求めてもよい。
【００１１】
このようにすれば、ポリゴン毎（ポリゴンの頂点毎）に設定された第１、第２の基準座標値を用いて、移動体位置の進行方向座標が求められるようになる。従って、第１、第２の基準座標値をポリゴン毎に異ならせることが可能になり、自由度の高い設計が可能になる。
【００１２】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記移動フィールド情報記憶部は、前記位置取得用ポリゴンの第１、第２のポリゴンが隣接する場合に、前記第１のポリゴンの第１、第２の基準座標値と、前記第２のポリゴンの第１、第２の基準座標値とが同じ値に設定されるように、前記第１、第２のポリゴンの前記第１、第２の基準座標値を記憶してもよい。
【００１３】
このようにすれば、隣接する第１、第２のポリゴン間において、矛盾の無い第１、第２の基準座標値の設定が可能になる。
【００１４】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記移動フィールド情報記憶部は、前記移動フィールドの第１、第２のコースが合流し、合流地点に前記第１のコースの第１の合流地点ポリゴンと前記第２のコースの第２の合流地点ポリゴンが配置される場合に、前記第１の合流地点ポリゴンの第２の基準座標値と、前記第２の合流地点ポリゴンの第２の基準座標値とが同じ値に設定されるように、前記第１、第２の合流地点ポリゴンの前記第１、第２の基準座標値を記憶してもよい。
【００１５】
このようにすれば、第１、第２の合流地点ポリゴンの第２の基準座標値の調整だけで、第１、第２のコースの合流の表現が可能になる。
【００１６】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記座標演算部は、前記移動体位置を通り前記第１の座標軸の方向に沿った直線と、前記位置取得用の各ポリゴンの辺との交点を求め、求められた前記交点に基づいて、前記移動体位置の進行方向座標を求めてもよい。
【００１７】
このようにすれば、移動体位置を通り第１の座標軸の方向に沿った直線を設定するだけで、移動体位置の進行方向座標を求めることができ、効率的な座標演算処理を実現できる。
【００１８】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記座標演算部は、前記位置取得用の各ポリゴンの基準辺に対して直交する方向に沿った座標軸又は各ポリゴンの基準点に対向する対向辺に対して直交する方向に沿った座標軸を、前記第１の座標軸として、前記移動体位置の進行方向座標を求めてもよい。
【００１９】
このようにすれば、四角形ポリゴンや三角形ポリゴン等において、適正なポリゴン座標系の第１の座標軸を設定できるようになる。
【００２０】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記座標演算部は、前記移動体位置の前記第２の座標軸の座標である横方向座標を求めてもよい。
【００２１】
このような横方向座標を求めれば、ポリゴン内での移動体の横方向（進行方向に直交する方向）での位置を把握できるようになる。
【００２２】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記移動フィールド情報記憶部は、前記位置取得用の各ポリゴンの前記第２の座標軸の基準座標値である第３、第４の基準座標値を、前記移動フィールド情報として記憶し、前記座標演算部は、前記第３、第４の基準座標値を用いた補間処理により、前記移動体位置の横方向座標を求めてもよい。
【００２３】
このようにすれば、ポリゴン毎（ポリゴンの頂点毎）に設定された第３、第４の基準座標値を用いて、移動体位置の横方向座標が求められるようになる。従って、第３、第４の基準座標値をポリゴン毎に異ならせることが可能になり、自由度の高い設計が可能になる。
【００２４】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記座標演算部は、前記移動体位置を通り前記第１の座標軸に交差する方向に沿った直線と、前記位置取得用の各ポリゴンの辺との交点を求め、求められた前記交点に基づいて、前記移動体位置の横方向座標を求めてもよい。
【００２５】
このようにすれば、移動体位置を通り第１の座標軸の交差する方向に沿った直線を設定するだけで、移動体位置の横方向座標を求めることができ、効率的な座標演算処理を実現できる。
【００２６】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記座標演算部は、前記位置取得用の各ポリゴンの基準辺の傾きと、前記基準辺の対向辺の傾きとを用いた補間処理により、前記直線の傾きを求めてもよい。
【００２７】
このようにすれば、基準辺の傾きと対向辺の傾きの違いを考慮して直線の傾きが求められ、この傾きを持つ直線によりポリゴンの辺（側辺）との交点が求められるようになるため、より精度の高い横方向座標の取得が可能になる。
【００２８】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記座標演算部は、前記位置取得用の各ポリゴンの基準辺に対して直交する方向に沿った座標軸又は各ポリゴンの基準点に対向する対向辺に対して直交する方向に沿った座標軸を、前記第１の座標軸とし、前記第１の座標軸に直交する座標軸を前記第２の座標軸として、前記移動体位置の横方向座標を求めてもよい。
【００２９】
このようにすれば、四角形ポリゴンや三角形ポリゴン等において、適正なポリゴン座標系の第１、第２の座標軸を設定できるようになる。
【００３０】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記移動フィールド情報記憶部は、前記位置取得用の各ポリゴンに設定されるポリゴン属性情報を、前記移動フィールド情報として記憶し、前記移動体演算部は、前記移動体位置が属するとして検索されたポリゴンに設定されるポリゴン属性情報の移動条件情報に基づいて、前記移動体の移動演算を行ってもよい。
【００３１】
このようにすれば、ポリゴン毎（ポリゴンの頂点毎）に設定されるポリゴン属性情報の移動条件情報に基づいて、移動体の移動演算が行われるため、簡素な設定で、多様な移動体の移動演算を実現できる。
【００３２】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記ポリゴン座標系での前記移動体位置の座標に基づいてゲーム演算を行うゲーム演算部を含んでもよい（該ゲーム演算部としてコンピュータを機能させてもよい）。
【００３３】
このようにすれば、ポリゴン座標系での移動体位置の座標に基づいて、移動体の例えば順位や現在位置等を把握して、ゲームを進行できるようになる。
【００３４】
また本発明は、画像を生成する画像生成システムであって、オブジェクト空間内で移動体を移動させるための演算を行う移動体演算部と、前記移動体が移動する移動フィールドに対して設定される複数の位置取得用ポリゴンの情報を、移動フィールド情報として記憶する移動フィールド情報記憶部と、前記複数の位置取得用ポリゴンの中から、移動体位置が属するポリゴンを検索する検索部と、検索されたポリゴンに対して設定され第１、第２の座標軸を有するポリゴン座標系に、前記移動体位置を座標変換して、前記ポリゴン座標系での前記移動体位置の座標を求める座標演算部と、オブジェクト空間内において仮想カメラから見える画像を生成する画像生成部とを含み、前記移動フィールド情報記憶部は、前記位置取得用の各ポリゴンの前記第１の座標軸の基準座標値である第１、第２の基準座標値を、前記移動フィールド情報として記憶し、前記座標演算部は、前記移動体位置を通り前記第１の座標軸の方向に沿った直線と、前記位置取得用の各ポリゴンの基準辺との交点である第１の交点と、前記直線と前記基準辺の対向辺との交点である第２の交点を求め、求められた前記第１、第２の交点と前記移動体位置との距離に基づいて第１の距離比率を求め、前記第１、第２の基準座標値と前記第１の距離比率を用いた補間処理を行うことで、前記移動体位置の前記第１の座標軸の座標である進行方向座標を求める画像生成システムに関係する。また本発明は、上記各部としてコンピュータを機能させるプログラム、又は該プログラムを記憶したコンピュータ読み取り可能な情報記憶媒体に関係する。
【００３５】
本発明によれば、移動体の位置取得に曖昧な部分を無くすことができ、処理負荷を軽減できる。また前後のポリゴンの間での依存関係が無くすことができ、移動体の位置の効率的な取得が可能になる。また移動体位置を通り第１の座標軸の方向に沿った直線を設定し、その直線と基準辺及び対向辺との第１、第２の交点を求め、第１、第２の基準座標値と第１の距離比率を用いた補間処理を行うだけで、移動体位置の進行方向座標を求めることができるため、効率的な座標演算処理を実現できる。
【００３６】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記移動フィールド情報記憶部は、前記位置取得用の各ポリゴンの前記第２の座標軸の基準座標値である第３、第４の基準座標値を、前記移動フィールド情報として記憶し、前記座標演算部は、前記移動体位置を通り前記第１の座標軸に交差する方向に沿った直線と、前記位置取得用の各ポリゴンの第１、第２の側辺との交点である第３、第４の交点を求め、求められた前記第３、第４の交点と前記移動体位置との距離に基づいて第２の距離比率を求め、前記第３、第４の基準座標値と前記第２の距離比率を用いた補間処理を行うことで、前記移動体位置の前記第２の座標軸の座標である横方向座標を求めるようにしてもよい。
【００３７】
このようにすれば、移動体位置を通り第１の座標軸に交差する方向に沿った直線を設定し、その直線と第１、第２の側辺との第３、第４の交点を求め、第３、第４の基準座標値と第２の距離比率を用いた補間処理を行うだけで、移動体位置の横方向座標を求めることができるため、効率的な座標演算処理を実現できる。
【００３８】
また本発明は、画像を生成する画像生成システムであって、オブジェクト空間内で移動体を移動させるための演算を行う移動体演算部と、前記移動体が移動する移動フィールドに対して設定される複数の位置取得用ポリゴンの情報を、移動フィールド情報として記憶する移動フィールド情報記憶部と、前記複数の位置取得用ポリゴンの中から、移動体位置が属するポリゴンを検索する検索部と、オブジェクト空間内において仮想カメラから見える画像を生成する画像生成部とを含み、前記移動体演算部は、前記移動体位置が属するとして検索されたポリゴンに設定されるポリゴン属性情報の移動条件情報に基づいて、前記移動体の移動演算を行う画像生成システムに関係する。また本発明は、上記各部としてコンピュータを機能させるプログラム、又は該プログラムを記憶したコンピュータ読み取り可能な情報記憶媒体に関係する。
【００３９】
本発明にすれば、移動フィールドに対して設定された複数の位置取得用ポリゴンの中から移動体位置が属するポリゴンが検索（チェック、選択）される。そしてポリゴン毎（ポリゴンの頂点毎）に設定されるポリゴン属性情報の移動条件情報に基づいて、移動体の移動演算が行われる。従って、簡素な設定で、多様な移動体の移動演算を実現できる。
【００４０】
また本発明は、画像を生成する画像生成システムであって、オブジェクト空間内で移動体を移動させるための演算を行う移動体演算部と、前記移動体が移動する移動フィールドに対して設定される複数の位置取得用ポリゴンの情報を、移動フィールド情報として記憶する移動フィールド情報記憶部と、前記複数の位置取得用ポリゴンの中から、移動体位置が属するポリゴンを検索する検索部と、ゲーム演算を行うゲーム演算部と、オブジェクト空間内において仮想カメラから見える画像を生成する画像生成部とを含み、前記ゲーム演算部は、前記移動体位置が属するとして検索されたポリゴンに設定されるポリゴン属性情報のイベント発生フラグに基づいて、検索されたポリゴンに移動体が位置するときに、前記イベント発生フラグに基づき特定されるイベントを発生させるゲーム演算を行う画像生成システムに関係する。また本発明は、上記各部としてコンピュータを機能させるプログラム、又は該プログラムを記憶したコンピュータ読み取り可能な情報記憶媒体に関係する。
【００４１】
本発明にすれば、移動フィールドに対して設定された複数の位置取得用ポリゴンの中から移動体位置が属するポリゴンが検索（チェック、選択）される。そしてポリゴン毎（ポリゴンの頂点毎）に設定されるポリゴン属性情報のイベント発生フラグに基づいて、イベントが発生し、ゲーム演算が行われる。従って、簡素な設定で、多様なゲーム演算処理を実現できる。
【発明を実施するための最良の形態】
【００４２】
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
【００４３】
１．構成
図１に本実施形態の画像生成システム（ゲームシステム）の機能ブロック図の例を示す。なお本実施形態の画像生成システムは図１の構成要素（各部）の一部を省略した構成としてもよい。
【００４４】
操作部１６０は、プレーヤが操作データを入力するためのものであり、その機能は、レバー、ボタン、ステアリング、アクセル、ブレーキ、或いはタッチパネル型ディスプレイなどにより実現できる。記憶部１７０は、処理部１００や通信部１９６などのワーク領域となるもので、その機能はＲＡＭ（ＶＲＡＭ）などにより実現できる。
【００４５】
情報記憶媒体１８０（コンピュータにより読み取り可能な媒体）は、プログラムやデータなどを格納するものであり、その機能は、光ディスク（ＣＤ、ＤＶＤ）、ハードディスク、或いはメモリ（ＲＯＭ等）などにより実現できる。処理部１００は、情報記憶媒体１８０に格納されるプログラム（データ）に基づいて本実施形態の種々の処理を行う。即ち情報記憶媒体１８０には、本実施形態の各部としてコンピュータを機能させるためのプログラム（各部の処理をコンピュータに実行させるためのプログラム）が記憶される。
【００４６】
表示部１９０は、本実施形態により生成された画像を出力するものであり、その機能は、ＣＲＴ、ＬＣＤ、タッチパネル型ディスプレイ、或いはＨＭＤ（ヘッドマウントディスプレイ）などにより実現できる。音出力部１９２は、本実施形態により生成された音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどにより実現できる。
【００４７】
携帯型情報記憶装置１９４は、プレーヤの個人データやゲームのセーブデータなどが記憶されるものであり、この携帯型情報記憶装置１９４としては、メモリカードや携帯型ゲーム装置などがある。通信部１９６は外部（例えばホスト装置や他の画像生成システム）との間で通信を行うための各種制御を行うものであり、その機能は、各種プロセッサ又は通信用ＡＳＩＣなどのハードウェアや、プログラムなどにより実現できる。
【００４８】
なお本実施形態の各部としてコンピュータを機能させるためのプログラム（データ）は、ホスト装置（サーバー）が有する情報記憶媒体からネットワーク及び通信部１９６を介して情報記憶媒体１８０（あるいは記憶部１７０）に配信してもよい。このようなホスト装置（サーバー）による情報記憶媒体の使用も本発明の範囲内に含めることができる。
【００４９】
処理部１００（プロセッサ）は、操作部１６０からの操作データやプログラムなどに基づいて、ゲーム処理、画像生成処理、或いは音生成処理などの処理を行う。処理部１００は記憶部１７０（主記憶部１７２）をワーク領域として各種処理を行う。この処理部１００の機能は、各種プロセッサ（ＣＰＵ、ＤＳＰ等）、ＡＳＩＣ（ゲートアレイ等）などのハードウェアや、プログラムにより実現できる。
【００５０】
処理部１００は、ゲーム演算部１０８、オブジェクト空間設定部１１０、移動体演算部１１２、仮想カメラ制御部１１４、検索部１１６、座標演算部１１８、画像生成部１２０、音生成部１３０を含む。なおこれらの一部を省略する構成としてもよい。
【００５１】
ゲーム演算部１０８はゲーム演算処理を行う。ここでゲーム演算としては、ゲーム開始条件が満たされた場合にゲームを開始する処理、ゲームを進行させる処理、移動体やマップなどのオブジェクトを配置する処理、オブジェクトを表示する処理、ゲーム結果を演算する処理、或いはゲーム終了条件が満たされた場合にゲームを終了する処理などがある。
【００５２】
オブジェクト空間設定部１１０は、移動体（車、人、ロボット等）、コース（道路）、マップ（地形）、建物、樹木、壁などの表示物を表す各種オブジェクト（ポリゴン、自由曲面又はサブディビジョンサーフェイスなどのプリミティブ面で構成されるオブジェクト）をオブジェクト空間に配置設定する処理を行う。即ちワールド座標系でのオブジェクトの位置や回転角度（向き、方向と同義）を決定し、その位置（Ｘ、Ｙ、Ｚ）にその回転角度（Ｘ、Ｙ、Ｚ軸回りでの回転角度）でオブジェクトを配置する。具体的には、記憶部１７０のモデルデータ記憶部１７６には、移動体オブジェクト（キャラクタ）、固定物オブジェクト（ビル）、背景オブジェクト（マップ、天球）のモデルデータが記憶されている。そしてオブジェクト空間設定部１１０は、このモデルデータを用いてオブジェクト空間へのオブジェクトの設定（配置）処理を行う。
【００５３】
移動体演算部（移動・動作処理部）１１２は、移動体を移動させるための演算を行う。また移動体を動作させるための演算も行う。即ち操作部１６０によりプレーヤが入力した操作データや、プログラム（移動・動作アルゴリズム）や、各種データ（モーションデータ）などに基づいて、移動体（オブジェクト、モデルオブジェクト）をオブジェクト空間内で移動させたり、移動体を動作（モーション、アニメーション）させる処理を行う。具体的には、移動体の移動情報（位置、回転角度、速度、或いは加速度）や動作情報（パーツオブジェクトの位置、或いは回転角度）を、１フレーム（１／６０秒）毎に順次求めるシミュレーション処理を行う。なおフレームは、移動体の移動・動作処理（シミュレーション処理）や画像生成処理を行う時間の単位である。
【００５４】
仮想カメラ制御部１１４は、オブジェクト空間内の所与（任意）の視点から見える画像を生成するための仮想カメラ（視点）の制御処理を行う。具体的には、仮想カメラの位置（Ｘ、Ｙ、Ｚ）又は回転角度（Ｘ、Ｙ、Ｚ軸回りでの回転角度）を制御する処理（視点位置、視線方向あるいは画角を制御する処理）を行う。
【００５５】
例えば仮想カメラにより車、キャラクタなどの移動体を後方から撮影する場合には、移動体の位置又は回転の変化に仮想カメラが追従するように、仮想カメラの位置又は回転角度（仮想カメラの向き）を制御する。この場合には、移動体演算部１１２で得られた移動体の位置、回転角度又は速度などの情報に基づいて、仮想カメラを制御できる。或いは、仮想カメラを、予め決められた回転角度で回転させたり、予め決められた移動経路で移動させる制御を行ってもよい。この場合には、仮想カメラの位置（移動経路）又は回転角度を特定するための仮想カメラデータに基づいて仮想カメラを制御する。
【００５６】
なお本実施形態の移動体は、画面に表示されるオブジェクトであってもよいし、画面に表示されない仮想的なオブジェクトであってもよい。例えば１人称視点等の場合には、仮想カメラの位置を移動体位置と見なすことができる。
【００５７】
検索部１１６はポリゴンの検索処理を行う。具体的には本実施形態では、記憶部１７０の移動フィールド情報記憶部（コース情報記憶部）１７３が、車、キャラクタ等の移動体が移動する移動フィールドに対して設定される複数の位置取得用（座標計算用）ポリゴンの情報を、移動フィールド情報として記憶する。この場合に記憶される位置取得用ポリゴンの情報（ポリゴンデータ）としては、ポリゴンの頂点データ（頂点座標等）、頂点の結線データ、位置取得用ポリゴンの基準座標値（第１〜第４の基準座標値）、ポリゴン属性情報（路面摩擦係数などの移動条件情報、イベント発生フラグ等）などがある。そして検索部１１６は、これらの複数の位置取得用ポリゴンの中から、移動体位置（移動体の代表点の位置、仮想カメラの位置等）が属するポリゴンを検索する。即ち複数の位置取得用ポリゴンのうちのどのポリゴンに移動体が位置するかをチェックする。例えばポリゴンの頂点のＸ、Ｚ座標と、移動体位置のＸ、Ｚ座標を比較し、移動体位置がポリゴン内にあるか否かをチェックする。
【００５８】
座標演算部１１８は、検索部１１６により検索されたポリゴンに対して設定され、第１、第２の座標軸を有するポリゴン座標系（コース座標系、道座標系）に、移動体位置（調査点、目標点）を座標変換して、ポリゴン座標系での移動体位置の座標を求める。具体的には、例えば座標変換マトリクスを用いて、移動体位置の絶対座標系（ワールド座標系）での座標を、ポリゴンのローカル座標系であるポリゴン座標系に座標変換する。この場合、ポリゴンの頂点の絶対座標系の座標も、ポリゴン座標系に座標変換する。そして座標演算部１１８は、移動体位置の第１の座標軸（例えばポリゴン座標系のＺ軸）の座標である進行方向座標や、第２の座標軸（例えばポリゴン座標系のＸ軸）の座標である横方向座標（進行方向に直交する方向の座標、道幅方向の座標）を求める。ここで第１の座標軸は、例えば、位置取得用ポリゴンの基準辺に対して直交する方向に沿った座標軸、或いは位置取得用ポリゴンの基準点に対向する対向辺に対して直交する方向に沿った座標軸である。また第２の座標軸は、例えば第１の座標軸に直交する座標軸である。
【００５９】
移動フィールド情報記憶部１７３は、位置取得用ポリゴンの第１の座標軸の基準座標値である第１、第２の基準座標値を記憶する。そして座標演算部１１８は、これらの第１、第２の基準座標値を用いた補間処理を行うことで、移動体位置の進行方向座標を求める。具体的には、移動体位置を通り第１の座標軸の方向に沿った直線（第２の座標軸に交差する方向に沿った直線）と、ポリゴンの辺（基準辺、基準辺の対向辺）との交点（第１、第２の交点）を求め、求められた交点に基づいて、移動体位置の進行方向座標を求める。
【００６０】
また移動フィールド情報記憶部１７３は、位置取得用ポリゴンの第２の座標軸の基準座標値である第３、第４の基準座標値を記憶する。そして座標演算部１１８は、第３、第４の基準座標値を用いた補間処理を行うことで、移動体位置の横方向座標を求める。具体的には、移動体位置を通り第１の座標軸に交差する方向に沿った直線と、ポリゴンの辺（第１、第２の側辺）との交点（第３、第４の交点）を求め、求められた交点に基づいて、移動体位置の横方向座標を求める。この時、座標演算部１１８は、位置取得用ポリゴンの基準辺の傾きと、基準辺の対向辺の傾きとを用いた補間処理を行うことで、直線の傾きを求めることができる。
【００６１】
更に本実施形態ではゲーム演算部１０８が、ポリゴン座標系での移動体位置の座標（進行方向座標、横方向座標）に基づいてゲーム演算を行う。具体的にはゲーム演算部１０８は、ポリゴン座標系での移動体位置の座標に基づいて、移動体の順位を決定したり、得点を計算したり、ラップタイプを計算するゲーム演算を行う。またポリゴン座標系での移動体位置の座標に基づいて、移動体の位置を取得（把握）し、その位置に応じた各種イベントを発生するゲーム演算を行う。
【００６２】
また本実施形態では移動フィールド情報記憶部１７３がポリゴン属性情報（各ポリゴンの属性として設定される情報）を記憶する。このポリゴン属性情報としては、移動条件情報（走行条件情報）やイベント発生フラグ等がある。そして移動体演算部１１２は、移動体位置が属するとして検索されたポリゴンに設定されるポリゴン属性情報に基づいて、移動体の移動演算を行う。例えばポリゴン属性情報（移動条件情報）としてポリゴンに設定された摩擦係数に基づいて、移動体がそのポリゴンに位置する時の移動体と移動フィールドとの摩擦力を計算し、移動体の制動距離などを演算する。
【００６３】
またゲーム演算部１０８は、ポリゴン属性情報としてポリゴンに設定されたイベント発生フラグに基づいてゲーム演算を行う。具体的には、移動体位置が属するとして検索されたポリゴンに設定されるポリゴン属性情報のイベント発生フラグに基づいて、検索されたポリゴンに移動体が位置するときに、イベント発生フラグに基づき特定されるイベントを発生させるゲーム演算を行う。そして、この発生したイベントに応じたゲームの進行処理を行う。
【００６４】
画像生成部１２０は、処理部１００で行われる種々の処理の結果に基づいて画像処理を行い、ゲーム画像を生成し、表示部１９０に出力する。例えば、いわゆる３次元ゲームの画像を生成する場合には、まず、座標変換、クリッピング処理、透視変換、或いは光源計算等のジオメトリ処理が行われ、その処理結果に基づいて、描画データ（プリミティブ面の頂点（構成点）に付与される位置座標、テクスチャ座標、色（輝度）データ、法線ベクトル或いはα値等）が作成される。そして、この描画データ（プリミティブ面データ）に基づいて、ジオメトリ処理後のオブジェクト（１又は複数プリミティブ面）の画像が、描画バッファ１７４（フレームバッファ、ワークバッファ等の画素単位で画像情報を記憶できるバッファ）に描画される。これにより、オブジェクト空間内において仮想カメラ（所与の視点）から見える画像が生成されるようになる。
【００６５】
音生成部１３０は、処理部１００で行われる種々の処理の結果に基づいて音処理を行い、ＢＧＭ、効果音、又は音声などのゲーム音を生成し、音出力部１９２に出力する。
【００６６】
なお、本実施形態の画像生成システムは、１人のプレーヤのみがプレイできるシングルプレーヤモード専用のシステムにしてもよいし、複数のプレーヤがプレイできるマルチプレーヤモードも備えるシステムにしてもよい。また複数のプレーヤがプレイする場合に、これらの複数のプレーヤに提供するゲーム画像やゲーム音を、１つの端末を用いて生成してもよいし、ネットワーク（伝送ライン、通信回線）などで接続された複数の端末（ゲーム機、携帯電話）を用いて分散処理により生成してもよい。
【００６７】
２．本実施形態の手法
２．１  位置取得用ポリゴンを用いた手法
図２に本実施形態の比較例の手法を示す。この比較例の手法では移動体ＭＯＢのコース上での順位や現在位置を取得するために、コースの中心線（基準線）に沿って基準点Ｇ１、Ｇ２、Ｇ３・・・を設定し、これらの基準点Ｇ１、Ｇ２、Ｇ３・・・を繋いだ線を座標軸とする道座標系を用いる。そして基準点Ｇ１、Ｇ２、Ｇ３・・・のうち移動体ＭＯＢに最も近い基準点を検索することで、移動体ＭＯＢの順位や現在位置を取得する。この手法によれば、コースにおける進行具合を一意の座標軸で知ることができるという利点はあるが、以下のような課題がある。
【００６８】
第１に、座標軸が直線ではなく、コースのカーブに合わせて座標軸が曲がるため、通常の座標系との間の座標変換が困難となる。また座標軸が曲線であるため、移動体ＭＯＢに対応する基準点の検索の際に、曖昧な領域ができてしまう。このため、座標変換に時間を要したり、正しい座標値を検索するために手がかりとなるデータが必要になるなどの制約がある。
【００６９】
また基準点のデータをリスト化する際、基準点のデータがコースの進行方向順に繋がっていることが前提になっている。また、隣接する基準点間の距離が一定であるという条件に基づきリストを作成している。このため、コースの分岐の表現が難しく、汎用性に乏しいという課題がある。
【００７０】
このような課題を解決するために本実施形態では以下の手法を採用している。まず図３に示すように、車、キャラクタなどの移動体ＭＯＢが移動する移動フィールド（コース、マップ、経路）に対して複数の位置取得用（座標計算用）ポリゴンＰＬ１〜ＰＬ２１を設定する。即ち三角形や四角形のポリゴン（プリミティブ面）を複数並べて配置し、サーキットコースや道路などの順路のある移動フィールドを、領域を細分化して表現する。これらの位置取得用ポリゴンの情報は、移動フィールド情報として移動フィールド情報記憶部１７３に記憶される。なお位置取得用ポリゴンとしては、画像生成用に使用される移動フィールドオブジェクト（コースオブジェクト、マップオブジェクト）のポリゴン数（頂点数）を減らして簡素化したものを用いることができる。或いは画像生成用に使用される移動フィールドオブジェクトのポリゴン自体を、位置取得用ポリゴンとして用いることも可能である。
【００７１】
そして検索部１１６は、これらの位置取得用ポリゴンＰＬ１〜ＰＬ２１の中から、移動体位置ＭＰが属するポリゴンを検索（選択）する。この移動体位置ＭＰは、例えば移動体ＭＯＢの代表点の位置や移動体ＭＯＢに追従する仮想カメラの位置などである。図３では移動体位置ＭＰが属するポリゴンとしてＰＬ９が検索されている。即ち移動体位置ＭＰのＸ、Ｚ座標（平面座標）と、ポリゴンＰＬ９の４つの頂点のＸ、Ｚ座標の比較処理が行われ、移動体位置ＭＰが、Ｘ、Ｚ平面内においてポリゴンＰＬ９の４つの頂点で囲まれる領域内に位置することが検索されている。なお本実施形態の検索処理は種々の変形実施が可能である。例えば位置取得用ポリゴンを複数のポリゴン・グループに分け、これらのポリゴン・グループの中から移動体位置ＭＰに近いポリゴン・グループを選択し、選択されたポリゴン・グループの中から、移動体位置ＭＰが属するポリゴンを検索するようにしてもよい。
【００７２】
次に図４に示すように、座標演算部１１８が、検索されたポリゴンＰＬ９に対して設定されるポリゴン座標系に、移動体位置ＭＰを座標変換して、ポリゴン座標系での移動体位置ＭＰの座標を求める。即ち絶対座標系での移動体位置ＭＰの座標を、ＰＬ９のローカルなポリゴン座標系に座標変換する。このポリゴン座標系は、第１の座標軸（以下、ＲＺ軸と呼ぶ）と第２の座標軸（以下、ＲＸ軸と呼ぶ）を有する。ＲＺ軸は、コース（順路、移動経路）の進行方向（進行方向として設定された方向）に沿った座標軸であり、ＲＸ軸は、ＲＺ軸に直交（交差）する座標軸である。
【００７３】
そして座標演算部１１８は、移動体位置ＭＰのＲＺ座標軸の座標である進行方向座標（進行方向成分値）を求める。また移動体位置ＭＰのＲＸ座標軸の座標である横方向座標（横方向成分値）を求める。
【００７４】
この場合に図４では、移動フィールド情報記憶部１７３は、ポリゴンＰＬ９のＲＺ軸での基準座標値として、第１、第２の基準座標値（以下、基準ＲＺ値と呼ぶ）４００、５００を記憶している。またポリゴンＰＬ９のＲＸ軸での基準座標値として、第３、第４の基準座標値（以下、基準ＲＸ値と呼ぶ）−１０、−２０を記憶している。座標演算部１１８は、これらの基準ＲＺ値４００、５００を用いた補間処理を行うことで、移動体位置ＭＰの進行方向座標（以下、ＲＺ値と呼ぶ）を求める。また基準ＲＸ値−１０、−２０を用いた補間処理を行うことで、移動体位置ＭＰの横方向座標（以下、ＲＸ値と呼ぶ）を求める。
【００７５】
これらの基準ＲＺ値、基準ＲＸ値はポリゴン（ポリゴン自体或いはポリゴンの頂点）に設定される。例えば図３では、ポリゴンＰＬ６及びＰＬ７には、基準ＲＺ値３００、４００が設定され、ポリゴンＰＬ８及びＰＬ９には基準ＲＺ値４００、５００が設定され、ポリゴンＰＬ１０及びＰＬ１１には基準ＲＺ値５００、５５０が設定される。座標演算部１１８は、このようにポリゴン毎に設定される基準ＲＺ値、基準ＲＸ値を用いて、各ポリゴンでの移動体位置ＭＰの座標（ポリゴン・ローカル座標）を求める。
【００７６】
以上のような本実施形態の手法によれば、位置取得用ポリゴンでデータを作成することにより、各座標値の適応範囲を領域で指定するため、処理に曖昧な部分が無く、座標変換を簡素化できる。またポリゴン単位でフィールド情報（道座標情報）を保持するため、前後のポリゴンの間でのデータの依存関係がない。そのためデータ作成の際に制限が少なく、分岐路などの幅広い表現が可能となる。またポリゴンに、基準座標値などの必要なデータ以外に、他のデータに必要な情報なども設定することが可能であり、データの連携を容易に行うことが可能となる。
【００７７】
２．２  基準ＲＺ値、基準ＲＸ値
図５（Ａ）に基準ＲＺ値（第１、第２の基準座標値）の設定例を示し、図５（Ｂ）に基準ＲＸ値（第３、第４の基準座標値）の設定例を示す。
【００７８】
図５（Ａ）に示すように、基準ＲＺ値（ＲＺ値）は、コースの進行方向に沿って値が増加するように設定し、隣接するポリゴン間で基準ＲＺ値がずれないように設定する。
【００７９】
例えば図５（Ａ）では位置取得用の第１、第２のポリゴンＰＬ１、ＰＬ２が隣接している。この場合に第１のポリゴンＰＬ１の基準ＲＺ値（第１、第１の基準座標値）は１００、２００であり、第２のポリゴンＰＬ２の基準ＲＺ値（第１、第２の基準座標値）も１００、２００であり、同じ値に設定される。
【００８０】
またコース（順路）が分岐している場合や、１本の幅広いコースを複数に分割している場合には、同じ基準ＲＺ値（ＲＺ値）を有するポリゴンが横方向に複数存在することになる。従って図５（Ｂ）に示すように、これらのポリゴン間の関連性を考慮して、基準ＲＸ値（ＲＸ値）については、ＲＸ軸方向に沿って一貫して増加又は減少するように設定している。
【００８１】
例えば図５（Ｂ）では位置取得用のポリゴンＰＬ１の基準ＲＸ値（第３、第４の基準座標値）は−１０、０であり、ポリゴンＰＬ２の基準ＲＸ値（第３、第４の基準座標値）は０、５になっている。このように横方向で隣接するポリゴンＰＬ１、ＰＬ２において、基準ＲＸ値はＲＸ軸方向に沿って一貫して増加しており、ポリゴンＰＬ１、ＰＬ２の境界での基準ＲＸ値は共に０であり、同じ値になっている。
【００８２】
以上のような本実施形態の手法によれば、ポリゴン毎に基準座標値や座標軸が設定されるため、例えば図３のＡ１、Ａ２に示すように、隣接するポリゴンＰＬ８、ＰＬ９の同一基準ＲＺ値を有する線分が、直線にならなくても済むようになる。これにより、自由度の高い設計が可能になる。例えば画像生成用の移動フィールドオブジェクトを利用して、位置取得用のポリゴンを作る場合に、画像生成用の移動フィールドオブジェクトのポリゴンでは、図３のＡ１、Ａ２に示す部分が、直線にならない場合がある。このような場合にも、本実施形態の手法によれば、画像生成用の移動フィールドオブジェクトのポリゴンの形状に合わせて、位置取得用のポリゴンを設定できるため、設計の自由度を向上できる。
【００８３】
また本実施形態の手法によれば、ルートが複数に分岐するようなコースについても効率的に作成でき、各ルートの基準座標値が合流地点で同じになるよう調整することにより、コース分岐の表現が可能になる。
【００８４】
例えば図３では、移動フィールドにおいてＡ３の分岐地点で分岐した第１、第２のコースＣＳ１、ＣＳ２が、Ａ４の合流地点で合流している。この場合に、コースＣＳ１の第１の合流地点ポリゴンＰＬ１３の基準ＲＺ値（第２の基準座標値）と、コースＣＳ２の第２の合流地点ポリゴンＰＬ１８の基準ＲＺ値（第２の基準座標値）とが、同じ値である６００に設定される。従って、分岐したコースＣＳ１、ＣＳ２を、簡素な設定処理で合流させることができ、コースの多様な分岐・合流表現が可能になる。
【００８５】
例えば図３では、コースＣＳ１の分岐地点ポリゴンＰＬ４、ＰＬ５から合流地点ポリゴンＰＬ１３に至るまで、基準ＲＺ値を２００、３００、４００、５００、５５０、５８０、６００というように設定している。一方、コースＣＳ２の分岐地点ポリゴンＰＬ１４から合流地点ポリゴンＰＬ１８に至るまで、基準ＲＺ値を２００、２５０、３００、４００、５００、６００というように設定している。即ちＡ３に示すコースＣＳ１、ＣＳ２の分岐地点とＡ４に示すコースＣＳ１、ＣＳ２の合流地点でのみ、基準ＲＺ値を調整して同じ値にすればよく、それ以外の基準ＲＺ値については自由に設定できる。従って、設計の自由度を高めることができる。
【００８６】
２．３  進行方向、基準辺
本実施形態では、三角形又は四角形の位置取得用ポリゴンに対して、基準となる進行方向を設定し、その方向に沿った座標軸をＲＺ軸（第１の座標軸）に設定している。
【００８７】
具体的には図６（Ａ）に示すように、四角形ポリゴンの場合には、ポリゴンを構成する辺の中から１つの基準辺ＲＦＳを設定する。そして、この基準辺ＲＦＳに対して直交する方向を、ＲＺ軸方向（基準進行方向）に設定する。
【００８８】
一方、三角形ポリゴンの場合には、図６（Ｂ）に示すよう、ポリゴンを構成する辺の中から１つの基準辺ＲＦＳを設定し、この基準辺ＲＦＳに対して直交する方向を、ＲＺ軸方向（基準進行方向）に設定する。或いは、図６（Ｃ）に示すように、ポリゴンを構成する頂点の中から１つの基準点ＲＦＰを設定し、この基準点ＲＦＰの対向辺ＯＰＳに対して直交する方向を、ＲＺ軸方向（基準進行方向）に設定する。
【００８９】
２．４  基準ＲＺ値、基準ＲＸ値の詳細な設定手法
次に、基準ＲＺ値、基準ＲＸ値の詳細な設定手法について説明する。まず四角形ポリゴンの場合について説明する。四角形ポリゴンでは、ポリゴンを構成する頂点のそれぞれに基準ＲＺ値、基準ＲＸを設定する。
【００９０】
図７（Ａ）のＢ１、Ｂ２に示すように、基準ＲＺ値については、基準辺ＲＦＳ及びその対向辺ＯＰＳのそれぞれについて、辺ＲＦＳ、ＯＰＳの両端の頂点に設定される基準ＲＺ値が同じ値になるようにしておく。基準ＲＺ値はポリゴン毎（ポリゴンの頂点毎）に設定し、図７（Ｂ）に示すようにポリゴンの大きさに関係なく任意の値に設定できる。
【００９１】
また図７（Ｃ）に示すように、基準辺ＲＦＳとその対向辺ＯＰＳが平行ではない場合には、ポリゴン内での位置に応じて進行方向が変化する。従って、ポリゴン内の任意の位置での進行方向（傾き）については、その位置と基準辺ＲＦＳ及び対向辺ＯＰＳとの距離に基づく補間処理により求める。
【００９２】
基準ＲＸ値については、基準ＲＺ値とは異なり、図８（Ａ）のＣ１、Ｃ２や図８（Ｂ）に示すように、第１、第２の側辺ＳＤ１、ＳＤ２の両端の頂点で基準ＲＸ値を同じ値に設定する必要はない。
【００９３】
そして側辺ＳＤ１、ＳＤ２の両端の頂点に設定された基準ＲＸ値が異なる場合には、図８（Ｃ）のＣ１〜Ｃ４に示すように、側辺ＳＤ１、ＳＤ２上の任意の位置の基準ＲＸ値（ＲＸ値）は、その位置と両端の頂点との距離に基づく補間処理により求める。
【００９４】
基準ＲＺ値、基準ＲＸ値はポリゴン毎（ポリゴンの頂点毎）に設定し、ポリゴンの大きさに関係なく任意の値に設定できる。但し図５（Ｂ）で説明したように、基準ＲＸ値は、隣接するポリゴンとの関係を考慮して設定する必要がある。
【００９５】
次に三角形ポリゴンの場合の基準ＲＺ値、基準ＲＸ値の設定について説明する。三角形ポリゴンでは、四角形ポリゴンの場合と同様にポリゴンを構成する頂点のそれぞれに基準ＲＺ値、基準ＲＸ値を設定する。
【００９６】
図９（Ａ）のＤ１、Ｄ２に示すように、基準ＲＺ値については、基準辺ＲＦＳ又は基準点ＲＦＰの対向辺ＯＰＳについて、辺ＲＦＳ、ＯＰＳの両端の頂点に設定される基準ＲＺ値が同じ値になるようにしておく。基準ＲＺ値はポリゴン毎（ポリゴンの頂点毎）に設定し、図９（Ｂ）に示すようにポリゴンの大きさに関係なく任意の値に設定できる。
【００９７】
なお、三角形ポリゴンの場合には、基準辺ＲＦＳに対向する辺がないため、ポリゴン内の位置によって進行方向は変化しない。
【００９８】
基準ＲＸ値については、基準ＲＺ値とは異なり、図１０（Ａ）のＥ１、Ｅ２や図１０（Ｂ）に示すように、第１、第２の側辺ＳＤ１、ＳＤ２の両端の頂点で基準ＲＸ値を同じ値に設定する必要はない。
【００９９】
そして側辺ＳＤ１、ＳＤ２の両端の頂点に設定された基準ＲＸ値が異なる場合には、図１０（Ｃ）のＥ３〜Ｅ６に示すように、側辺ＳＤ１、ＳＤ２上の任意の位置の基準ＲＸ値（ＲＸ値）は、その位置と両端の頂点との距離に基づく補間処理により求める。
【０１００】
基準ＲＺ値、基準ＲＸ値はポリゴン毎（ポリゴンの頂点毎）に設定し、ポリゴンの大きさに関係なく任意の値に設定できる。但し図５（Ｂ）で説明したように、基準ＲＸ値は、隣接するポリゴンとの関係を考慮して設定する必要がある。
【０１０１】
２．５  座標計算方法の詳細
次に座標計算方法の詳細について説明する。図１１において、ポリゴンの各頂点の位置を表している通常の座標(絶対座標)から、移動体位置である点Ｐ０のＲＺ値、ＲＸ値を求める場合に、まず、点Ｐ０の絶対座標値がどのポリゴンに属するかを調べる。そして点Ｐ０が属するポリゴンを構成する頂点の絶対座標値と、ポリゴンに設定された基準ＲＺ値、基準ＲＸ値から、詳細なＲＺ値、ＲＸ値（道座標値）を算出する。座標計算方法は、ポリゴンの形状と向きにより異なる。詳細なＲＺ値、ＲＸ値を求める計算方法として、例えば以下の方法がある。
【０１０２】
＜計算方法例１＞
図１１に示すように、頂点Ｏ、Ａ、Ｂ、Ｃにより構成され、辺ＯＣを基準辺とする四角形ポリゴンにおいて、ポリゴン内に存在する移動体位置の点Ｐ０のＲＺ値、ＲＸ値を算出する。
【０１０３】
（１）対象となるポリゴンの頂点Ｏ、Ａ、Ｂ、Ｃのそれぞれに設定された頂点絶対座標値、基準ＲＺ値、基準ＲＸ値などの情報を取得する。
（２）頂点Ｏ、Ａ、Ｂ、Ｃ及び点Ｐ０のそれぞれの絶対座標値を、基準辺ＯＣを座標軸とするポリゴン座標系（道座標系）に変換する。
（３）点Ｐ０を通り基準辺ＯＣに直交する直線と辺ＯＣとの交点Ｐ１と、この直線と対向辺ＡＢとの交点Ｐ２を求める。
（４）線分Ｐ０Ｐ１と線分Ｐ０Ｐ２から、各点間の距離の比率を求める。線分Ｐ０Ｐ１の長さをＬ１とし、線分Ｐ０Ｐ２の長さをＬ２とすると、点Ｐ０での距離比率Ｒ１は下式のように求まる。
【数１】
0004786374.tif 000002
（５）算出した距離比率Ｒ１を用いた補間処理により、点Ｐ０でのＲＺ値を求める。点Ｐ１のＲＺ値、即ち頂点ＯやＣの基準ＲＺ値をＲＺ１とし、点Ｐ２のＲＺ値、即ち頂点ＡやＢの基準ＲＺ値をＲＺ２とすると、点Ｐ０におけるＲＺ値ＲＺＰ０は下式のように求まる。
【数２】
0004786374.tif 000003
（６）点Ｐ０を通る直線の傾きＱを、辺ＯＣ及び辺ＡＢの傾きと距離比率Ｒ１を用いた補間処理により求める。辺ＯＣの傾きをＱｏｃ、辺ＡＢの傾きをＱａｂとすると、直線の傾きＱは下式のように求まる。
【数３】
0004786374.tif 000004
（７）点Ｐ０を通り傾きがＱの直線と辺ＯＡとの交点Ｐ３と、この直線と辺ＢＣとの交点Ｐ４を求める。
（８）辺ＯＡ及び辺ＢＣのそれぞれの両端の頂点に設定された基準ＲＸ値と、距離比率Ｒ１を用いた補間処理により、点Ｐ３のＲＸ値ＲＸＰ３と、点Ｐ４のＲＸ値ＲＸＰ４を求める。例えば点Ｏの基準ＲＸ値をＲＸｏ、点Ａの基準ＲＸ値をＲＸａとすると、ＲＸＰ３は下式のように求まる。
【数４】
0004786374.tif 000005
（９）点Ｐ０のＲＸ値を、点Ｐ３及び点Ｐ４との距離の比率を用いた補間処理により求める。線分Ｐ０Ｐ３の長さをＬ３とし、線分Ｐ０Ｐ４の長さをＬ４とすると、点Ｐ０におけるＲＸ値ＲＸＰ０は下式のように求まる。
【数５】
0004786374.tif 000006
【０１０４】
＜計算方法例２＞
図１２に示すように、頂点Ｏ、Ａ、Ｂにより構成され、辺ＯＢを基準辺とする三角形ポリゴンにおいて、ポリゴン内に存在する移動体位置の点Ｐ０の座標値を算出する。
【０１０５】
（１）対象となるポリゴンの頂点Ｏ、Ａ、Ｂのそれぞれに設定された頂点絶対座標値、基準ＲＺ値、基準ＲＸ値などの情報を取得する。
（２）頂点Ｏ、Ａ、Ｂ及び点Ｐ０のそれぞれの絶対座標値を、基準辺ＯＢを座標軸とするポリゴン座標系に変換する。
（３）頂点Ａを通り基準辺ＯＢに平行な直線を引き、直線上の任意の２点Ｃ、Ｄを両端とする線分ＣＤを設定する。
（４）点Ｐ０を通り基準辺ＯＢに直交する直線と辺ＯＢとの交点Ｐ１と、この直線と線分ＣＤとの交点Ｐ２を求める。
（５）線分Ｐ０Ｐ１と線分Ｐ０Ｐ２から、各点間の距離の比率を求める。線分Ｐ０Ｐ１の長さをＬ１とし、線分Ｐ０Ｐ２の長さをＬ２とすると、点Ｐ０での距離比率Ｒ１は下式のように求まる。
【数６】
0004786374.tif 000007
（６）算出した距離比率Ｒ１を用いた補間処理により、点Ｐ０でのＲＺ値を求める。点Ｐ１のＲＺ値、即ち頂点ＯやＢの基準ＲＺ値をＲＺ１とし、点Ｐ２のＲＺ値、即ち頂点Ａの基準ＲＺ値をＲＺ２とすると、点Ｐ０におけるＲＺ値ＲＺＰ０は下式のように求まる。
【数７】
0004786374.tif 000008
（７）点Ｐ０を通り基準辺ＯＢに平行な直線と辺ＯＡとの交点Ｐ３と、この直線と辺ＡＢとの交点Ｐ４を求める。
（８）辺ＯＡ及び辺ＡＢのそれぞれの両端の点に設定された基準ＲＸ値と、距離比率Ｒ１を用いた補間処理により、点Ｐ３のＲＸ値ＲＸＰ３と、点Ｐ４のＲＸ値ＲＸＰ４を求める。例えば点Ｏの基準ＲＸ値をＲＸｏとし、点Ａの基準ＲＸ値をＲＸａとすると、ＲＸＰ３は下式のように求まる。
【数８】
0004786374.tif 000009
（９）点Ｐ０のＲＸ値を、点Ｐ３及び点Ｐ４との距離の比率を用いた補間処理により求める。線分Ｐ０Ｐ３の長さをＬ３とし、線分Ｐ０Ｐ４の長さをＬ４とすると、点Ｐ０におけるＲＸ値ＲＸＰ０は下式のように求まる。
【数９】
0004786374.tif 000010
【０１０６】
＜計算方法例３＞
図１３に示すように、頂点Ｏ、Ａ、Ｂにより構成され頂点Ｏを基準点とする三角形ポリゴンにおいて、ポリゴン内に存在する移動体位置の点Ｐ０のＲＺ値、ＲＸ値を算出する。
【０１０７】
（１）対象となるポリゴンの各頂点Ｏ、Ａ、Ｂのそれぞれに設定された頂点絶対座標値、基準ＲＺ値、基準ＲＸ値などの情報を取得する。
（２）頂点Ｏ、Ａ、Ｂ及び点Ｐ０のそれぞれの絶対座標値を、基準点Ｏに対向する辺ＡＢを座標軸とするポリゴン座標系に変換する。
（３）頂点Ｏを通り辺ＡＢに平行な直線を引き、直線上の任意の２点Ｃ、Ｄを両端とする線分ＣＤを設定する。
（４）点Ｐ０を通り辺ＡＢに直交する直線と線分ＣＤとの交点Ｐ１と、この直線と辺ＡＢとの交点Ｐ２を求める。
（５）線分Ｐ０Ｐ１と線分Ｐ０Ｐ２から、各点間の距離の比率を求める。線分Ｐ０Ｐ１  の長さをＬ１とし、線分Ｐ０Ｐ２の長さをＬ２とすると、点Ｐ０での距離比率Ｒ１は下式のように求まる。
【数１０】
0004786374.tif 000011
（６）算出した距離比率Ｒ１を用いた補間処理により、点Ｐ０でのＲＺ値を求める。点Ｐ１のＲＺ値、即ち頂点Ｏの基準ＲＺ値をＲＺ１とし、点Ｐ２のＲＺ値、即ち頂点ＡやＢの基準ＲＺ値をＲＺ２とすると、点Ｐ０におけるＲＺ値ＲＺＰ０は下式のように求まる。
【数１１】
0004786374.tif 000012
（７）点Ｐ０を通り辺ＡＢに平行な直線と辺ＯＡとの交点Ｐ３と、この直線と辺ＯＢとの交点Ｐ４を求める。
（８）辺ＯＡ及び辺ＡＢのそれぞれの両端の点に設定された基準ＲＸ値と、距離比率Ｒ１を用いた補間処理により、点Ｐ３のＲＸ値ＲＸＰ３と点Ｐ４のＲＸ値ＲＸＰ４を求める。例えば点Ｏの基準ＲＸ値をＲＸｏとし、点Ａの基準ＲＸ値をＲＸａとすると、ＲＸＰ３は下式のように求まる。
【数１２】
0004786374.tif 000013
（９）点Ｐ０のＲＸ値を、点Ｐ３及び点Ｐ４との距離の比率を用いた補間処理により求める。線分Ｐ０Ｐ３の長さをＬ３とし、線分Ｐ０Ｐ４の長さをＬ４とすると、点Ｐ０におけるＲＸ値ＲＸＰ０は下式のように求まる。
【数１３】
0004786374.tif 000014
【０１０８】
２．６  ポリゴン属性情報
本実施形態では、移動フィールド情報として、位置取得用ポリゴンの頂点座標、基準座標値（基準ＲＺ値、基準ＲＸ値）以外にも、ポリゴン属性情報（付加情報）が記憶される。このポリゴン属性情報としては移動条件情報やイベント発生フラグなどがある。ここでポリゴン属性情報は、ポリゴン毎（ポリゴンの頂点毎）に一意に設定でき、そのポリゴンについての移動体に関連した属性を表すための情報であり、頂点座標や基準座標値以外の情報である。また移動条件情報は、移動体の速度、加速度、制動力、或いは位置などの移動条件を設定するための情報である。またイベント発生フラグは、移動体がそのポリゴンに位置するときに、イベントの発生の有無や、発生するイベントの種類を特定するためのフラグである。
【０１０９】
例えば図１４（Ａ）では、移動フィールドに位置取得用ポリゴンＰＬ１〜ＰＬ１５が配置される。そしてこれらのポリゴンＰＬ１〜ＰＬ１５には図１４（Ｂ）に示すように、ポリゴン属性情報の移動条件情報として路面の摩擦係数が設定されている。そして移動体位置が属するとして検索されたポリゴンに設定される移動条件情報に基づいて、移動体の移動演算が行われる。即ち移動体演算部１１２は、例えばポリゴンＰＬ６に移動体ＭＯＢが位置することが検索されると、ポリゴンＰＬ６の移動フィールド情報の中から移動条件情報を読み出す。そしてこの移動条件情報に基づいて、移動体ＭＯＢの速度、加速度、制動力などを設定して、移動体の移動制御（移動シミュレーション）を行う。
【０１１０】
例えば図１４（Ａ）では、ポリゴンＰＬ１〜ＰＬ５は雪路のエリアに設定されており、その摩擦係数は０．５に設定される。またポリゴンＰＬ６〜ＰＬ１０は氷結路のエリアに設定されており、その摩擦係数は０．２に設定される。またポリゴンＰＬ１１〜ＰＬ１５は圧雪路のエリアに設定されており、その摩擦係数は０．３５に設定される。このようにすれば、移動体ＭＯＢがポリゴンＰＬ６上を走行している場合には、摩擦係数が小さな値０．５に設定され、タイヤのグリップ力が低下し、制動力が低下するため、移動体ＭＯＢが氷結路でスリップする状況をシミュレートできる。
【０１１１】
またポリゴン属性情報としてイベント発生フラグを設定しておけば、例えば図１４（Ａ）のようにポリゴンＰＬ６上に移動体ＭＯＢが位置するときに、そのポリゴンＰＬ６に固有のゲームイベントを発生させることが可能になる。例えばポリゴンＰＬ６上に移動体ＭＯＢが侵入した場合に、爆発が発生したり、モンスターが出現するなどの種々のイベントを発生できる。即ちゲーム演算部１０８は、ポリゴンＰＬ６に移動体ＭＯＢが位置することが検索されると、ポリゴンＰＬ６の移動フィールド情報の中からイベント発生フラグを読み出し、そのイベント発生フラグにより特定されるゲームイベントを特定する。そして、ゲーム進行処理にインタラプトをかけて、そのゲームイベントを発生させる。そしてゲームイベントの終了後に、元のゲーム進行処理に戻ってゲームを進行させる。
【０１１２】
図２の比較例の手法では、同じ基準点に属する移動体に対しては、同じ移動条件情報しか設定できない。例えば図１４（Ａ）のポリゴンＰＬ６、ＰＬ７、ＰＬ８、ＰＬ９、ＰＬ１０により形成されるコースの中心線に沿って基準点を設定した場合に、横方向に並ぶポリゴンＰＬ１、ＰＬ６、ＰＬ１１のいずれに移動体ＭＯＢが位置していても、移動体ＭＯＢに設定される移動条件情報は同じになる。
【０１１３】
これに対して本実施形態の手法によれば、移動体ＭＯＢがポリゴンＰＬ１、ＰＬ６、ＰＬ１１のいずれに位置するかによって、移動条件情報等を異ならせることが可能になる。しかも、ポリゴンＰＬ１、ＰＬ６、ＰＬ１１の形状を変化させることで、移動条件情報等を任意の値に設定できる。例えば摩擦係数が低い氷結路のエリアを増やしたい場合には、ポリゴンＰＬ６の面積を大きくするだけで済む。従って、簡素な設定で多様なゲーム表現を実現できる。なおこのようにポリゴンに設定されるポリゴン属性情報を用いる手法では、本実施形態で説明した座標演算手法とは異なる手法で座標演算を行ったり、このような座標演算を行わないような変形実施も可能である。
【０１１４】
２．７  詳細な処理例
次に本実施形態の詳細な処理例を図１５〜図１８のフローチャートを用いて説明する。
【０１１５】
図１５はポリゴンの検索処理のフローチャートである。まず、移動体位置である目標点が、どのポリゴンに属するか（どのポリゴンにヒットするか）をチェックする（ステップＳ１）。そしてポリゴンが発見（検索）できなかった場合には、エラーとして処理を終了し、発見できた場合には座標演算処理に移行する（ステップＳ２、Ｓ３、Ｓ４）。
【０１１６】
図１６は汎用的な座標演算処理のフローチャートである。まずポリゴンの各頂点に設定された情報を取得する（ステップＳ１１）。そしてポリゴンが三角形である場合、基準辺ではなく基準点を設定しているか否かを判断する（ステップＳ１２、Ｓ１３）。そして基準点を設定している場合には、基準点を通り基準点に対向する辺に平行な直線を引き、これを基準辺とする（ステップＳ１４）。一方、基準点を設定していない場合には、基準辺に対向する点を通り基準辺に平行な直線を引く（ステップＳ１５）。
【０１１７】
次に、Ｐ０を通る直線と、基準辺および対向する辺との交点Ｐ１、Ｐ２を求める（ステップＳ１６）。そして、求めた交点Ｐ１、Ｐ２とＰ０との距離の比率Ｒ１を求める（ステップＳ１７）。そして、Ｐ０のＲＺ値を、基準辺および対向する辺のそれぞれのＲＺ値を比率Ｒ１で補間して算出する（ステップＳ１８）。
【０１１８】
次に、基準辺と対向する辺は平行か否かを判断し、平行である場合には、Ｐ０を通り、基準辺に平行な直線を引く（ステップＳ１９、Ｓ２０）。一方、平行ではない場合にはＰ０を通る直線の傾きを、基準辺および対向する辺のそれぞれの傾きを比率Ｒ１で補間して求める（ステップＳ２１）。そして、求めた傾きから、Ｐ０を通る直線を引く（ステップＳ２２）。
【０１１９】
次に、引いた直線と、基準辺の両端の側辺との交点Ｐ３、Ｐ４を求める（ステップＳ２３）。そして交点Ｐ３、Ｐ４のＲＸ値を、辺の両端に設定されたＲＸ値を比率Ｒ１で補間して算出する（ステップＳ２４）。次に、交点Ｐ３、Ｐ４とＰ０との距離の比率Ｒ２を求める（ステップＳ２５）。そしてＰ０のＲＸ値を、交点Ｐ３、Ｐ４のＲＸ値を比率Ｒ２で補間して算出する（ステップＳ２６）。
【０１２０】
図１７は、四角形ポリゴンに特化した場合の座標演算処理のフローチャートである。まず、ポリゴンの各頂点に設定された情報を取得する（ステップＳ３１）。そしてＰ０を通る直線と、基準辺および対向する辺との交点Ｐ１、Ｐ２を求める（ステップＳ３２）。次に、求めた交点Ｐ１、Ｐ２とＰ０との距離の比率Ｒ１を求める（ステップＳ３３）。そしてＰ０のＲＺ値を、基準辺と対向する辺のそれぞれのＲＺ値を比率Ｒ１で補間して算出する（ステップＳ３４）。そしてその後のステップＳ３５〜Ｓ４２では、図１６のステップＳ１９〜Ｓ２６と同様の処理を行う。
【０１２１】
図１８は、三角形ポリゴンに特化した場合の座標演算処理のフローチャートである。まず、ポリゴン各頂点に設定された情報を取得する（ステップＳ５１）。そしてその後のステップＳ５２〜Ｓ５７では、図１６のステップＳ１３〜Ｓ１８と同様の処理を行う。
【０１２２】
次に、Ｐ０を通り、基準辺に平行な直線を引く（ステップＳ５８）。そしてその後のステップＳ５９〜Ｓ６２では、図１６のステップＳ２３〜Ｓ２６と同様の処理を行う。
【０１２３】
３．ハードウェア構成
図１９に本実施形態を実現できるハードウェア構成の例を示す。メインプロセッサ９００は、ＤＶＤ９８２（情報記憶媒体。ＣＤでもよい。）に格納されたプログラム、通信インターフェース９９０を介してダウンロードされたプログラム、或いはＲＯＭ９５０に格納されたプログラムなどに基づき動作し、ゲーム処理、画像処理、音処理などを実行する。コプロセッサ９０２は、メインプロセッサ９００の処理を補助するものであり、マトリクス演算（ベクトル演算）を高速に実行する。例えばオブジェクトを移動させたり動作（モーション）させる物理シミュレーションに、マトリクス演算処理が必要な場合には、メインプロセッサ９００上で動作するプログラムが、その処理をコプロセッサ９０２に指示（依頼）する。
【０１２４】
ジオメトリプロセッサ９０４は、メインプロセッサ９００上で動作するプログラムからの指示に基づいて、座標変換、透視変換、光源計算、曲面生成などのジオメトリ処理を行うものであり、マトリクス演算を高速に実行する。データ伸張プロセッサ９０６は、圧縮された画像データや音データのデコード処理を行ったり、メインプロセッサ９００のデコード処理をアクセレートする。これにより、オープニング画面やゲーム画面において、ＭＰＥＧ方式等で圧縮された動画像を表示できる。
【０１２５】
描画プロセッサ９１０は、ポリゴンや曲面などのプリミティブ面で構成されるオブジェクトの描画（レンダリング）処理を実行する。オブジェクトの描画の際には、メインプロセッサ９００は、ＤＭＡコントローラ９７０を利用して、描画データを描画プロセッサ９１０に渡すと共に、必要であればテクスチャ記憶部９２４にテクスチャを転送する。すると描画プロセッサ９１０は、描画データやテクスチャに基づいて、Ｚバッファなどを利用した隠面消去を行いながら、オブジェクトをフレームバッファ９２２に描画する。また描画プロセッサ９１０は、αブレンディング（半透明処理）、デプスキューイング、ミップマッピング、フォグ処理、バイリニア・フィルタリング、トライリニア・フィルタリング、アンチエイリアシング、シェーディング処理なども行う。頂点シェーダやピクセルシェーダなどのプログラマブルシェーダが実装されている場合には、シェーダプログラムに従って、頂点データの作成・変更（更新）やピクセル（あるいはフラグメント）の描画色の決定を行う。１フレーム分の画像がフレームバッファ９２２に書き込まれるとその画像はディスプレイ９１２に表示される。
【０１２６】
サウンドプロセッサ９３０は、多チャンネルのＡＤＰＣＭ音源などを内蔵し、ＢＧＭ、効果音、音声などのゲーム音を生成し、スピーカ９３２を介して出力する。ゲームコントローラ９４２やメモリカード９４４からのデータはシリアルインターフェース９４０を介して入力される。
【０１２７】
ＲＯＭ９５０にはシステムプログラムなどが格納される。業務用ゲームシステムの場合にはＲＯＭ９５０が情報記憶媒体として機能し、ＲＯＭ９５０に各種プログラムが格納される。なおＲＯＭ９５０の代わりにハードディスクを利用してもよい。ＲＡＭ９６０は各種プロセッサの作業領域となる。ＤＭＡコントローラ９７０は、プロセッサ、メモリ間でのＤＭＡ転送を制御する。ＤＶＤドライブ９８０（ＣＤドライブでもよい。）は、プログラム、画像データ、或いは音データなどが格納されるＤＶＤ９８２（ＣＤでもよい。）にアクセスする。通信インターフェース９９０はネットワーク（通信回線、高速シリアルバス）を介して外部との間でデータ転送を行う。
【０１２８】
なお本実施形態の各部（各手段）の処理は、その全てをハードウェアのみにより実現してもよいし、情報記憶媒体に格納されるプログラムや通信インターフェースを介して配信されるプログラムにより実現してもよい。或いは、ハードウェアとプログラムの両方により実現してもよい。
【０１２９】
そして本実施形態の各部の処理をハードウェアとプログラムの両方により実現する場合には、情報記憶媒体には、ハードウェア（コンピュータ）を本実施形態の各部として機能させるためのプログラムが格納される。より具体的には、上記プログラムが、ハードウェアである各プロセッサ９０２、９０４、９０６、９１０、９３０に処理を指示すると共に、必要であればデータを渡す。そして、各プロセッサ９０２、９０４、９０６、９１０、９３０は、その指示と渡されたデータとに基づいて本発明の各部の処理を実現する。
【０１３０】
なお、上記のように本実施形態について詳細に説明したが、本発明の新規事項および効果から実体的に逸脱しない多くの変形が可能であることは当業者には容易に理解できるであろう。従って、このような変形例はすべて本発明の範囲に含まれるものとする。例えば、明細書又は図面において、少なくとも一度、より広義または同義な異なる用語と共に記載された用語は、明細書または図面のいかなる箇所においても、その異なる用語に置き換えることができる。
【０１３１】
またポリゴンの検索処理や座標演算処理の手法も本実施形態で説明したものに限定されず、これらと均等な手法も本発明の範囲に含まれる。例えば本実施形態の手法と図２の比較例の手法を組み合わせた変形実施も可能である。例えば本実施形態の手法を用いて、移動体が位置する領域を絞り込む。そして絞り込まれた領域において、図２の比較例の手法を用いて移動体の詳細な位置を取得してもよい。具体的には本実施形態の手法により、例えば図３のコースＣＳ１、ＣＳ２のどちら側に移動体が位置するかを調べ、その後に、各コースＣＳ１、ＣＳ２での詳細な位置を、図２の比較例の手法で求めてもよい。
【０１３２】
また本発明は種々のゲームに適用できる。また本発明は、業務用ゲームシステム、家庭用ゲームシステム、多数のプレイヤが参加する大型アトラクションシステム、シミュレータ、マルチメディア端末、ゲーム画像を生成するシステムボード、携帯電話等の種々の画像生成システムに適用できる。
【図面の簡単な説明】
【０１３３】
【図１】本実施形態の画像生成システムの機能ブロック図の例。
【図２】比較例の手法の説明図。
【図３】位置取得用ポリゴンの設定例。
【図４】本実施形態の手法の説明図。
【図５】図５（Ａ）（Ｂ）は基準ＲＺ値、基準ＲＸ値の設定例。
【図６】図６（Ａ）（Ｂ）（Ｃ）は基準辺、基準点の説明図。
【図７】図７（Ａ）（Ｂ）（Ｃ）は四角形ポリゴンの場合の基準ＲＺ値の詳細な設定手法の説明図。
【図８】図８（Ａ）（Ｂ）（Ｃ）は四角形ポリゴンの場合の基準ＲＸ値の詳細な設定手法の説明図。
【図９】図９（Ａ）（Ｂ）（Ｃ）は三角形ポリゴンの場合の基準ＲＺ値の詳細な設定手法の説明図。
【図１０】図１０（Ａ）（Ｂ）（Ｃ）は三角形ポリゴンの場合の基準ＲＸ値の詳細な設定手法の説明図。
【図１１】計算方法例１の説明図。
【図１２】計算方法例２の説明図。
【図１３】計算方法例３の説明図。
【図１４】図１４（Ａ）（Ｂ）はポリゴン属性情報を用いる手法の説明図。
【図１５】本実施形態の処理の詳細例。
【図１６】本実施形態の処理の詳細例。
【図１７】本実施形態の処理の詳細例。
【図１８】本実施形態の処理の詳細例。
【図１９】ハードウェア構成例。
【符号の説明】
【０１３４】
１００  処理部、１０８  ゲーム演算部、１１０  オブジェクト空間設定部、
１１２  移動体演算部、１１４  仮想カメラ制御部、１１６  検索部、
１１８  座標演算部、１２０  画像生成部、１３０  音生成部、
１６０  操作部、１７０  記憶部、１７２  主記憶部、
１７３  移動フィールド情報記憶部、１７４  描画バッファ、
１７６  モデルデータ記憶部、１８０  情報記憶媒体、１９０  表示部、
１９２  音出力部、１９４  携帯型情報記憶装置、１９６  通信部
【図１】
0004786374.tif 000015
【図２】
0004786374.tif 000016
【図３】
0004786374.tif 000017
【図４】
0004786374.tif 000018
【図５】
0004786374.tif 000019
【図６】
0004786374.tif 000020
【図７】
0004786374.tif 000021
【図８】
0004786374.tif 000022
【図９】
0004786374.tif 000023
【図１０】
0004786374.tif 000024
【図１１】
0004786374.tif 000025
【図１２】
0004786374.tif 000026
【図１３】
0004786374.tif 000027
【図１４】
0004786374.tif 000028
【図１５】
0004786374.tif 000029
【図１６】
0004786374.tif 000030
【図１７】
0004786374.tif 000031
【図１８】
0004786374.tif 000032
【図１９】
0004786374.tif 000033