(57)【特許請求の範囲】
【請求項１】
コース上に位置するメッシュ点の平面位置データＰst（Ｘst，Ｙst）（ｓ＝１，…，ｎs；ｔ＝１，…，ｎt）を含むコースデータを生成し、該コースデータに基づいて画像を合成する画像合成装置であって、
コース上のサンプル点を表す点Ｐj（ｊ＝１，…，２Ｎ）を複素平面Ｚ上に配置するための手段と、
前記複素平面Ｚとは異なる他の複素平面ζ上の点Ｑjを、複素平面Ｚ上の前記点Ｐjに写像する写像関数Ｚ＝ｆ（ζ）を導出する手段と、
前記複素平面ζにおける前記写像関数ｆ（ζ）の正則領域にメッシュ点Ｑstを発生する手段と、
前記メッシュ点Ｑstを前記写像関数ｆ（ζ）により複素平面Ｚ上に写像してコースデータＰstを求める手段と、
前記コースデータＰstに基づいて、該コースデータにより形成されるコース画像を含む画像を合成する手段とを含むことを特徴とする画像合成装置。
【請求項２】
請求項１において、
前記写像関数は、
前記複素平面ζ上の所与の円上に前記点Ｑjが配置される場合に、該点Ｑjを、前記複素平面Ｚ上の点Ｐjに写像する関数であり、
Ｚ＝ｆ（ζ）
＝Ｃ1ζ＋Ｃ2＋Ｃ3／ζ＋Ｃ4／ζ2＋Ｃ5／ζ3＋…＋Ｃn／ζn-2
の関係式を満たす関数であることを特徴とする画像合成装置。
【請求項３】
請求項１又は２において、
前記サンプル点Ｐjにおける高さデータｈj及びバンク角データαjを得るための手段と、
前記サンプル点での高さデータｈj及びバンク角データαjに基づいて、サンプル点Ｐjに沿ったコース上での高さデータ及びバンク角データを、前記複素平面ζ（ζ＝ｒｅiθ）における偏角θの関数ｈ（θ）及びα（θ）として求める手段と、
前記ｈ（θ）及びα（θ）に基づいて、複素平面ζ上での高さデータを、絶対値ｒ及び偏角θの関数Ｉ（ｒ，θ）として求める手段と、
前記Ｉ（ｒ，θ）を前記写像関数ｆ（ζ）により複素平面Ｚ上に写像してコース上での高さデータＨ（ｒ，θ）を求める手段とを含むことを特徴とする画像合成装置。
【請求項４】
請求項３において、
コース高さデータの変動成分Δｈ（ｒ，θ）に基づいて前記Ｉ（ｒ，θ）を変動させることを特徴とする画像合成装置。
【請求項５】
コース上に位置するメッシュ点の平面位置データＰst（Ｘst，Ｙst）（ｓ＝１，…，ｎs；ｔ＝１，…，ｎt）を含むコースデータを生成するための情報を少なくとも格納する、コンピュータ読み取り可能な情報記憶媒体であって、
コース上のサンプル点を表す点Ｐj（ｊ＝１，…，２Ｎ）を複素平面Ｚ上に配置するための手段と、
前記複素平面Ｚとは異なる他の複素平面ζ上の点Ｑjを、複素平面Ｚ上の前記点Ｐjに写像する写像関数Ｚ＝ｆ（ζ）を導出する手段と、
前記複素平面ζにおける前記写像関数ｆ（ζ）の正則領域にメッシュ点Ｑstを発生する手段と、
前記メッシュ点Ｑstを前記写像関数ｆ（ζ）により複素平面Ｚ上に写像してコースデータＰstを求める手段として、
コンピュータを機能させるプログラムを記憶したことを特徴とする情報記憶媒体。
【請求項６】
請求項５において、
前記写像関数は、
前記複素平面ζ上の所与の円上に前記点Ｑjが配置される場合に、該点Ｑjを、前記複素平面Ｚ上の点Ｐjに写像する関数であり、
Ｚ＝ｆ（ζ）
＝Ｃ1ζ＋Ｃ2＋Ｃ3／ζ＋Ｃ4／ζ2＋Ｃ5／ζ3＋…＋Ｃn／ζn-2
の関係式を満たす関数であることを特徴とする情報記憶媒体。
【請求項７】
請求項５又は６において、
前記サンプル点Ｐjにおける高さデータｈj及びバンク角データαjを得るための手段と、
前記サンプル点での高さデータｈj及びバンク角データαjに基づいて、サンプル点Ｐjに沿ったコース上での高さデータ及びバンク角データを、前記複素平面ζ（ζ＝ｒｅiθ）における偏角θの関数ｈ（θ）及びα（θ）として求める手段と、
前記ｈ（θ）及びα（θ）に基づいて、複素平面ζ上での高さデータを、絶対値ｒ及び偏角θの関数Ｉ（ｒ，θ）として求める手段と、
前記Ｉ（ｒ，θ）を前記写像関数ｆ（ζ）により複素平面Ｚ上に写像してコース上での高さデータＨ（ｒ，θ）を求める手段としてコンピュータを機能させるプログラムを記憶したことを特徴とする情報記憶媒体。
【請求項８】
請求項７において、
コース高さデータの変動成分Δｈ（ｒ，θ）に基づいて前記Ｉ（ｒ，θ）を変動させることを特徴とする情報記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、コースデータ生成方法、画像合成装置及び情報記憶媒体に関する。
【０００２】
【背景技術及び発明が解決しようとする課題】
コンピュータ・グラフィックス（ＣＧ）技術を用いてオフロードのサーキットコースのように複雑な起伏を有する周回コースの３次元形状を生成する手法としては、例えば次のような手法が考えられる。
【０００３】
第１の手法は、図１１（Ａ）、（Ｂ）に示すように、コース１の内部をメッシュ２で分割し、それぞれのメッシュの頂点３の高さデータ４を入力し、ポリゴン５により３次元形状６を生成する手法である。
【０００４】
第２の手法は、図１２（Ａ）、（Ｂ）に示すように、コースの周方向７に垂直な方向の断面形状８を頂点９の位置データにより与え、それら頂点９を周方向７に連結し、ポリゴン１０により３次元形状１１を作成する手法である。
【０００５】
しかしながら、これらの手法には次のような問題がある。
【０００６】
第１に、入力のデータ量が膨大となり３次元形状６又は１１の生成作業の効率が悪い。そのためコース模型を作成し、３次元デジタイザ等で計測する方法が取られることもあるが、いずれにしても作業が煩雑となる。
【０００７】
第２に、コースの３次元形状６又は１１の全体変更を自由にできない。そのため、コースの多様性や意外性などのゲーム性を高めるために、コースの３次元形状６又は１１を状況に応じて変化させたり、プレーヤの希望に応じて変形させることが困難である。
【０００８】
第３に、オフロードのサーキットコースのように複雑な起伏を有するコースを作成する場合、コースの膨大な３次元形状データを圧縮するために、大きな周期で大きく変化する起伏に対しては３次元形状を生成し、小さな周期で小さく変化する起伏に対してバンプデータによるテクスチャリングを生成する手法が考えられるが、上記の手法では３次元形状データを一元的に保持することに効率よく対応できない。
【０００９】
本発明は、以上のような技術的課題に鑑みてなされたものであって、その目的とするところは、複雑なコースを簡易に作成又は利用できるコースデータ生成方法、画像合成装置及び情報記憶媒体を提供することにある。
【００１０】
【課題を解決するための手段】
上記課題を解決するために本発明は、コース上に位置するメッシュ点の平面位置データＰst（Ｘst，Ｙst）（ｓ＝１，…，ｎs；ｔ＝１，…，ｎt）を含むコースデータの生成方法であって、コース上のサンプル点を表す点Ｐj（ｊ＝１，…，２Ｎ）を複素平面Ｚ上に配置するステップと、前記複素平面Ｚとは異なる他の複素平面ζ上の点Ｑjを、複素平面Ｚ上の前記点Ｐjに写像する写像関数Ｚ＝ｆ（ζ）を導出するステップと、前記複素平面ζにおける前記写像関数ｆ（ζ）の正則領域にメッシュ点Ｑstを発生するステップと、前記メッシュ点Ｑstを前記写像関数ｆ（ζ）により複素平面Ｚ上に写像してコースデータＰstを求めるステップとを含むことを特徴とする。
【００１１】
本発明では、まず、サンプル点Ｐjの平面位置データ（Ｘj、Ｙj）を入力手段により直接入力したり、ポインティングデバイスによりコースの概略形状を入力しその概略形状からサンプル点Ｐjを発生したりすること等により、サンプル点Ｐjが複素平面Ｚ上に配置される。次に複素平面ζ上の点Ｑjをサンプル点Ｐjに写像する関数ｆ（ζ）が求められる。この写像関数は等角写像性、特に１対１の等角写像性を満たしていることが望ましい。そしてｆ（ζ）が正則になる領域、望ましくは正則且つ単葉になる領域にメッシュ点Ｑstを発生し、このＱstをｆ（ζ）により複素平面Ｚ上に写像することでコースデータＰstが求められる。本発明によれば、コースの概略形状を表すサンプル点の平面位置データに基づいてコースデータを作成できるため、コースのレイアウト設計作業の効率化を図れる。またコースの形状を、ゲーム状況、プレーヤの希望等に応じて変形できるため、ゲームの多様性、意外性などのゲーム性を高めることができる。
【００１２】
この場合、前記写像関数は、前記複素平面ζ上の所与の円上に前記点Ｑjが配置される場合に、該点Ｑjを、前記複素平面Ｚ上の点Ｐjに写像する関数であり、Ｚ＝ｆ（ζ）＝Ｃ1ζ＋Ｃ2＋Ｃ3／ζ＋Ｃ4／ζ2＋Ｃ5／ζ3＋…＋Ｃn／ζn-2の関係式を満たす関数とすることができる。このようにすれば、写像関数導出の際の演算負担を軽くすることができ、処理の高速化、設計作業の効率化を図れる。なお写像関数の導出は上式における係数Ｃ1〜Ｃnを求めることで行われる。
【００１３】
また本発明は、前記サンプル点Ｐjにおける高さデータｈj及びバンク角データαjを得るためのステップと、前記サンプル点での高さデータｈj及びバンク角データαjに基づいて、サンプル点Ｐjに沿ったコース上での高さデータ及びバンク角データを、前記複素平面ζ（ζ＝ｒｅiθ）における偏角θの関数ｈ（θ）及びα（θ）として求めるステップと、前記ｈ（θ）及びα（θ）に基づいて、複素平面ζ上での高さデータを、絶対値ｒ及び偏角θの関数Ｉ（ｒ，θ）として求めるステップと、前記Ｉ（ｒ，θ）を前記写像関数ｆ（ζ）により複素平面Ｚ上に写像してコース上での高さデータＨ（ｒ，θ）を求めるステップとを含むことを特徴とする。
【００１４】
本発明によれば、サンプル点の高さデータ、バンク角データに基づいて、サンプル点に沿ったコース上（サンプル点を補間する点）での高さデータｈ（θ）、バンク角データα（θ）が求められる。このｈ（θ）、α（θ）は偏角θの関数として求められる。そしてこれらのｈ（θ）、α（θ）に基づいて、複素平面ζ上でＩ（ｒ，θ）が求められ、このＩ（ｒ，θ）をＺ平面上にｆ（ζ）により写像することでコース上の所望の位置での高さデータＨ（ｒ，θ）が求められる。Ｈ（ｒ，θ）はｒ，θの関数となるため、メッシュ点のメッシュ間隔よりも細かい設定間隔でＨ（ｒ，θ）を求めることができる。このため本発明によれば、起伏に富んだコースの設計作業の容易化を図れる。サンプル点の高さデータ、バンク角データからのｈ（θ）、α（θ）の導出は、例えばフーリエ近似手法等を用いることが適切であるが、θの変化に対するｈ（θ）、α（θ）の変化を滑らかにできるような他の手法を用いることもできる。
【００１５】
この場合、コース高さデータの変動成分Δｈ（ｒ，θ）に基づいて前記Ｉ（ｒ，θ）を変動させることが望ましい。このようにすれば、細かい不定期な起伏を持つダートコース、細かい波が発生する水上コース等のコースデータを容易に形成できる。なお変動成分の発生は、乱数を使用したり、周期関数を組み合わせること等により実現できる。
【００１６】
【発明の実施の形態】
以下、本発明の実施例について図面に基づき詳細に説明する。
【００１７】
図１は、本発明を実現できるコースデータ生成部の一例を示す機能ブロック図である。このコースデータ生成部は、サンプル点データ記憶部１０２、ｆ（ζ）導出部１０４、ｆ（ζ）記憶部１０６、Ｑst生成部１０８、Ｐst生成部１１０、Ｐst記憶部１１２を含んでいる。
【００１８】
生成するコースデータの核となるデータは、キーボード、マウス、ゲームコントローラ等で構成される入力部から入力される。
【００１９】
図２は、コースデータの生成核となるサンプル点Ｐjを複素平面Ｚ上に表す図である。ここで、複素数Ｚは、虚数単位ｉ（ｉ×ｉ＝−１）を用いれば、実部をＸとし虚部をＹとして、
Ｚ＝Ｘ＋ｉＹ      （１）
と表される。
【００２０】
図２に示す閉曲線は生成しようとするコースの例えば中心線を示す図であり、該中心線上に２Ｎ個のサンプル点Ｐj（ｊ＝１，…，２Ｎ）が配置されている。即ち、本実施例では、先ず、複素平面Ｚ上に生成しようとするコースの例えば中心線を配置し、該中心線上の２Ｎ個の点をサンプル点Ｐj（ｊ＝１，…，２Ｎ）として利用する。
【００２１】
入力部からは、サンプル点Ｐjの値Ｚjの実部Ｘj及び虚部Ｙjがサンプル点データとして入力される。また、入力部からは、後述するように、必要であれば、サンプル点Ｐjにおけるコースの高さデータｈj及びバンク角データαjも入力される。
【００２２】
前記サンプル点データ記憶部１０２は、このようにして得られたサンプル点Ｐjの値Ｚjの実部Ｘj及び虚部Ｙj、高さデータｈj及びバンク角データαjを記憶するためのものであり、ＲＡＭ等によって構成される。
【００２３】
前記ｆ（ζ）導出部１０４は、複素平面Ｚとは異なる他の複素平面ζ上の点Ｑj（ｊ＝１，…，２Ｎ）を、複素平面Ｚ上のサンプル点Ｐjに写像する複素写像関数を導出する手段であり、この機能はＣＰＵとそれを制御するソフトウェア等により実現される。
【００２４】
図３は、点Ｑjを複素平面ζ上に表す図である。ここで、複素数ζは、虚数単位ｉを用いれば、実部をξとし虚部をηとして、
ζ＝ξ＋ｉη      （２）
と表される。あるいは、絶対値をｒとし、偏角をθとして、
ζ＝ｒｅiθ        （３）
と極座標表示形式で表すことができる。
【００２５】
図３によれば、点Ｑjは複素平面ζ上における原点を中心とする半径（１＋Ｗ／２）の円の周上に等間隔に配置されている。ここで、Ｗはコース幅を表す値であり、図３に示す点Ｑjの値ζj＝ｒjｅiθjを、本実施例では、
ｒj＝１＋Ｗ／２                （４）
θj＝２π（ｊ−１）／２Ｎ      （５）
と定義している。
【００２６】
前記ｆ（ζ）導出部１０４は、以上説明した複素平面ζ上の点Ｑjを複素平面Ｚ上の点Ｐjに写像する関数ｆ（ζ）を導出するものである。従って、写像ｆ（ζ）は、
Ｚj＝ｆ（ζj）    （６）
を満足するものである。
【００２７】
式（６）を満足するｆ（ζ）を導出するために、先ず、ｆ（ζ）を、
0003981187.tif 000002
と定義する。こうして定義すれば、複素平面ζの原点を中心とする単位円の外側領域で写像関数は正則となり、等角写像性を担保できる。また上記写像関数は単位円の外側領域で正則且つ単葉となるため１対１の等角写像性も担保できる。
【００２８】
ここで、Ｃk（ｋ＝１，…，ｎ）は、
Ｃk＝ａk＋ｉｂk      （８）
を満足するｆ（ζ）の各項の係数である。
【００２９】
式（１）、（８）を用いて、式（７）を整理すれば、
0003981187.tif 000003
となる。
【００３０】
そして、最小二乗法により、式（８）を満足するａk、ｂkを求めれば、
【数１】
0003981187.tif 000004
【数２】
0003981187.tif 000005
となる。
【００３１】
前記ｆ（ζ）導出部１０４は、前記サンプル点データ記憶部１０２に記憶されたサンプル点Ｐjの値Ｚjの実部Ｘj及び虚部Ｙjの値と、上式（５）に基づいて生成されたθjの値とを、上式（１１）、（１２）に代入することにより、ｆ（ζ）の各項の係数Ｃk＝ａk＋ｉｂkを求めている。
【００３２】
前記ｆ（ζ）記憶部１０６は、こうして導出されたｆ（ζ）の各項の係数Ｃkの値、即ち、ａkとｂkの値を記憶するものであり、ＲＡＭ等によって構成される。
【００３３】
前記Ｑst生成部１０８は、前記複素平面ζにおける原点を中心とする単位円の外側領域に位置するメッシュ点Ｑstの値ζstを生成する手段であり、この機能はＣＰＵ及びそれを制御するソフトウェア等により実現される。
【００３４】
図４は、複素平面ζ上に表されたメッシュ点Ｑst（例えば図４の点２４）を表す図である。図４に示す複素平面ζには原点を中心とするｎt個の同心円が配置されていて、その最も内側に単位円２０が位置し、最も外側に半径（１＋Ｗ）の円２２が位置している。そして、それぞれの同心円の周上に等間隔に添え字ｔの等しいメッシュ点Ｑst（ｓ＝１，…，ｎs）が配置されている。従って、図４に示すメッシュ点Ｑstは、次式によって表される。
ζst＝ξst＋ｉηst＝ｒstｅiθst                    （１３）
（ｓ＝１,・・・・,ｎs、ｔ＝１,・・・・,ｎt）
ｒst＝１＋Ｗ・（ｔ−１）／（ｎt−１）              （１４）
（ｔ＝１,・・・・,ｎt）
θst＝２π・（ｓ−１）／ｎs                        （１５）
（ｓ＝１,・・・・,ｎs）
前記Ｑst生成部１０８はこれらの式に基づいてメッシュ点Ｑstの値ζstの絶対値ｒst及び偏角θstを生成している。
【００３５】
また、前記Ｐst生成部１１０は、こうして前記Ｑst生成部１０８により生成されるメッシュ点Ｑstの値ζstの絶対値ｒst及び偏角θstと、前記ｆ（ζ）記憶部１０６に既に記憶されているｆ（ζ）の各項の係数とを用いて次式（１６）を計算し、複素平面ζにおけるメッシュ点Ｑstの複素平面Ｚにおけるメッシュ点Ｐstの値Ｚstを導出する手段であり、この機能はＣＰＵ及びそれを制御するソフトウェア等により実現される。
Ｚst＝ｆ（ζst）＝Ｘst＋ｉＹst      （１６）
図５は、こうして前記Ｐst生成部１１０により生成されるメッシュ点Ｐst（例えば図５の点２６）を複素平面Ｚに表す図であり、完成したコースの平面図を示す図である。図５において、メッシュ点Ｐstは点Ｑstの写像を表している。
【００３６】
前記Ｐst記憶部１１２は、こうして前記Ｐst生成部１１０により生成されるメッシュ点Ｐstの値Ｚstの実部Ｘst及び虚部Ｙstの値を記憶するためのものであり、ＲＡＭ等によって構成される。
【００３７】
図１に示すコースデータ生成部は、更に、ｈ（θ）導出部１１４、ｈ（θ）記憶部１１６、α（θ）導出部１１８、α（θ）記憶部１２０、Ｉ（ｒ，θ）生成部１２２、Ｉ（ｒ，θ）記憶部１２４、Ｈ（ｒ，θ）生成部１２６、Ｈ（ｒ，θ）記憶部１２８を含んでいて、コースの平面位置データ（Ｘst，Ｙst）のみならず、高さデータＨ（ｒ，θ）をも生成することがで可能となっている。
【００３８】
図６は、既に図２において示したコースの中心線上の各サンプル点Ｐjにおける高さデータｈj及びバンク角データαjを示す図であり、本実施例では、これらのデータに基づいて、コース上の所望の位置での高さデータＨ（ｒ，θ）を生成する。
【００３９】
前記ｈ（θ）導出部１１４は、図６に示すサンプル点Ｐjでの高さデータｈjに基づいて、これらのサンプル点Ｐjを結ぶコース中心線上の各位置での高さデータｈ（θ）を求める手段であり、この機能はＣＰＵ及びそれを制御するソフトウェア等により実現される。このｈ（θ）は、上記各位置に対応する偏角θ（式（１５）参照）の関数として表される。具体的には前記ｈ（θ）導出部１１４は下式（１７）におけるＤk、Ｅk（ｋ＝０，…，Ｎ）を求めることにより、ｈ（θ）を導出する。
【数３】
0003981187.tif 000006
上式（１７）のようにしてｈ（θ）を導出すれば、θの変化に対して滑らかに変化するｈ（θ）を得ることができ、θの代入によりコース中心線上の任意の位置での高さデータを得ることができる。
【００４０】
前記ｈ（θ）記憶部１１６は、こうして前記ｈ（θ）導出部１１４により導出されるＤk及びＥkを記憶するためのものであり、ＲＡＭ等によって構成される。
【００４１】
前記α（θ）導出部１１８は、図６に示すサンプル点Ｐjにおけるバンク角データαjに基づいて、これらのサンプル点を結ぶコース中心線上の各位置でのバンク角データα（θ）を求める手段であり、この機能はＣＰＵ及びそれを制御するソフトウェア等により実現される。このα（θ）は、上記各位置に対応する偏角θ（上式（１５）参照）の関数として表される。具体的には前記α（θ）導出部１１８は下式（１８）におけるＦk、Ｇk（ｋ＝０，…，Ｎ）を求めることにより、α（θ）を導出する。
【数４】
0003981187.tif 000007
上式のようにしてα（θ）を導出すれば、θの変化に対して滑らかに変化するα（θ）を得ることができ、θの代入によりコース中心線上の任意の位置でのバンク角データを得ることができる。
【００４２】
前記α（θ）記憶部１２０は、こうして前記α（θ）導出部１１８により導出されるＦk及びＧkを記憶するためのものであり、ＲＡＭ等によって構成される。
【００４３】
前記Ｉ（ｒ，θ）生成部１２２は、こうして前記ｈ（θ）記憶部１１６、前記α（θ）記憶部１２０に記憶されるｈ（θ）及びα（θ）に基づいて、複素平面ζ上での高さデータを絶対値ｒ及び偏角θの関数Ｉ（ｒ，θ）として導出する手段であり、この機能はＣＰＵ及びそれを制御するソフトウェア等により実現される。
【００４４】
図７は、図４に示す複素平面ζの原点を通る面での断面図の一例である。図７に示すように、所与のｒ、θに対して複素平面ζ上での高さデータＩ（ｒ，θ）は、例えば、
0003981187.tif 000008
と表される。ここで、ｈ（θ）は、前記ｈ（θ）記憶部１１６に記憶されるｈ（θ）に、高さデータを得ようとする位置に対応する偏角θを代入したものである。また、（ｒ−１−Ｗ／２）・ｔａｎ｛α（θ）｝は、バンク角α（θ）に基づく高さデータｈ（θ）の増分を表し、Δｈ（ｒ，θ）は高さデータの変動成分を表すものである。本実施例では、このような変動成分を組み込むことで、小さな周期で変化する起伏をコース上に形成可能としている。この変動成分は、乱数により生成してもよいし、周期関数を適当に組み合わせることで生成してもよい。
【００４５】
前記Ｉ（ｒ，θ）記憶部１２４は、こうして生成された複素平面ζ上での高さデータＩ（ｒ，θ）を記憶するためのものであり、ＲＡＭ等によって構成される。
【００４６】
前記Ｈ（ｒ，θ）生成部１２６は、前記Ｉ（ｒ，θ）記憶部１２４に記憶されたＩ（ｒ，θ）を写像関数ｆ（ζ）により複素平面Ｚ上に写像してコース上の所望の位置での高さデータＨ（ｒ，θ）を導出する手段であり、この機能はＣＰＵ及びそれを制御するソフトウェア等により実現される。
【００４７】
前記Ｈ（ｒ，θ）記憶部１２８は、こうして生成された複素平面Ｚ上での高さデータＨ（ｒ，θ）を記憶するためのものであり、ＲＡＭ等により構成される。
【００４８】
次に、本実施例によるコースデータ作成の手順について図８に示すフローチャートを用いて説明する。
【００４９】
まず、コースの中心線上のサンプル点Ｐj（ｊ＝１，…，２Ｎ）における平面位置データであるＸj及びＹj、高さデータであるｈj、バンク角データであるαjを取得し、前記サンプル点データ記憶部１０２に記憶する（Ｓ１）。
【００５０】
次に、前記ｆ（ζ）導出部１０４により、複素平面ζ上の原点を中心とする円の周上の各点Ｑjを、複素平面Ｚ上のサンプル点Ｐj（Ｚj＝Ｘj＋ｉＹj）に写像する複素写像関数ｆ（ζ）を導出し、各項の係数を前記ｆ（ζ）記憶部１０６に記憶する（Ｓ２）。
【００５１】
そして、前記Ｑst生成部１０８は複素平面ζにおける原点を中心とする単位円の外側領域にメッシュ点Ｑstを生成する（Ｓ３）。
【００５２】
前記Ｐst生成部１１０は、こうして生成される複素平面ζ上のメッシュ点Ｑstを、前記複素写像関数ｆ（ζ）を用いて複素平面Ｚ上に写像する。そして、写像した点をメッシュ点Ｐstとして前記Ｐst記憶部１１２に記憶する（Ｓ４）。
【００５３】
一方、前記ｈ（θ）導出部１１４は、サンプル点Ｐjでの高さデータｈjに基づいて、サンプル点Ｐjに沿ったコース上での高さデータを、複素平面ζにおける偏角θの関数ｈ（θ）として求める（Ｓ５）。
【００５４】
また、前記α（θ）導出部１１８は、サンプル点Ｐjでのバンク角データαjに基づいて、サンプル点Ｐjに沿ったコース上でのバンク角データを、複素平面ζにおける偏角θの関数α（θ）として求める（Ｓ６）。
【００５５】
そして、前記Ｉ（ｒ，θ）生成部１２２は、こうして前記ｈ（θ）記憶部１１６、前記α（θ）記憶部１２０に記憶されるｈ（θ）及びα（θ）に基づいて、複素平面ζ上での高さデータを、絶対値ｒ及び偏角θの関数Ｉ（ｒ，θ）として導出し、前記Ｉ（ｒ，θ）記憶部１２４に記憶する（Ｓ７）。
【００５６】
そして、前記Ｈ（ｒ，θ）生成部１２６は、前記Ｉ（ｒ，θ）記憶部１２４に記憶されるＩ（ｒ，θ）を写像関数により複素平面Ｚに写像することで高さデータＨ（ｒ，θ）を導出し、前記Ｈ（ｒ，θ）記憶部１２８に記憶する（Ｓ８）。
【００５７】
そして、前記Ｐst記憶部１１２に記憶されるデータ（Ｘst，Ｙst）及びＨ（ｒ，θ）記憶部１２８に記憶されるデータＨ（ｒ，θ）は、画像合成部に出力され、これによりコース画像が合成される（Ｓ９）。
【００５８】
図９に、本実施例により合成されたコース画像の一例を示す。図９に示すように、本実施例によれば、起伏変化に富み特にダートコース、水上コースに最適なコースデータを生成できる。例えばＨ（ｒ，θ）を求める際に、Ｐstのサンプル間隔よりも小さいサンプル間隔でｒ、θをＨ（ｒ，θ）代入することで、小さな周期で細かく変化する高さデータを得ることができ、起伏変化に富んだコースデータを得ることができる。
【００５９】
図１０（Ａ）、（Ｂ）、（Ｃ）に、本実施例の種々の実施形態を示す。図１０（Ａ）は、画像合成装置の１つであるコースデータ生成ツールに本実施例を適用した例である。サンプル点Ｐjの平面位置データ、高さデータ、バンク角データは、例えばキーボード２００、ポインティングデバイスであるマウス２０２により入力される。これ以外にも、実存するサーキットコースの航空写真から、デジタイザを用いてコース上のサンプル点データを得るようにしてもよい。処理部２１０は、図１にブロック図が示されるコースデータ生成部２１２、コースデータ生成部２１２で生成されたコースデータに基づいて画像を合成する画像合成部２１４を含む。処理部２１０は、ハードウェア的には、ＣＰＵ、メモリ、必要であれば画像合成専用ＩＣ等により構成される。ＦＤ、ＣＤＲＯＭ、ＩＣカード、メモリ等で構成される情報記憶媒体２１６には、図８に示す処理を行うためのコースデータ作成プログラム、このプログラムの実行のために必要なデータ等の種々の情報が格納されている。処理部２１０は、キーボード２００、マウス２０２からの入力情報、情報記憶媒体２１６に格納される情報に基づいて処理を行い、これにより表示部２１８上にコース画像２１９等が表示される。このコースデータ作成ツールによれば、表示されるコース画像２１９の形状を確認しながら、コースデータの作成を行うことができ、設計作業の効率化を図れる。
【００６０】
図１０（Ｂ）は、画像合成装置の１つであるゲーム装置に本実施例を適用した例である。ゲームコントローラ２２０、２２２は、プレーヤが操作情報を入力するためのものである。処理部２３０は、プレーヤからの操作情報に基づいてゲーム画像を合成するための演算等を行うゲーム演算部２３２、ゲーム演算部２３２からの演算結果に基づいて画像合成を行う画像合成部２３４を含み、ハードウェア的には、ＣＰＵ、メモリ、必要であれば画像合成専用のＩＣ等により構成される。情報記憶媒体２３６には、図８の処理により生成されたコースデータ或いはこのコースデータに基づき生成された種々の情報、及びゲームプログラム等が格納されている。表示部２３８上には、上記コースデータに基づいたコース画像、プレーヤが操作する車２３９の画像等が表示される。ゲーム装置が業務用のものであれば、コースデータ、ゲームプログラムはＲＯＭ等から成る情報記憶媒体に格納され、ゲーム装置が家庭用のものであれば、コースデータ、ゲームプログラムはＣＤ−ＲＯＭ、ゲームカセット等から成る情報記憶媒体に格納される。また複数の端末をホスト装置を介して通信回線で接続し、ゲームプログラム等を配給するタイプのゲーム装置においては、コースデータ、ゲームプログラムはホスト装置の情報記憶媒体に格納される。
【００６１】
一方、図１０（Ｃ）は、ゲーム演算部２４２がコースデータ生成部２４３を含む場合のゲーム装置の例である。この場合、情報記憶媒体２４６には、コースデータの代わりに、図８の処理を行うためのコースデータ生成プログラムが格納され、コースデータの生成はゲーム装置に内蔵されるコースデータ生成部２４３が行う。例えばゲームコントローラ２２０、２２２等によりプレーヤが自身が所望するコースのサンプル点データ或いはコースの概略形状を入力し、このサンプル点データ等に基づいてコースデータ生成部２４３が対応するコースデータを生成すれば、プレーヤは自身が所望するコース上でゲームプレイを行うことができる。また例えば、前のゲームステージにおけるプレーヤのゲーム結果等に応じて、コースデータ生成部２４３が種々のコースデータを作成すれば、コースデータを格納するための容量をそれほど増やすことなく、バラエティ溢れる多数のコースをプレーヤに提供することが可能となる。
【００６２】
以上のように本実施例は、コースの概略形状の平面位置データを用いて、コースの平面形状を複素写像関数により生成することを特徴としている。そのため、コースのレイアウト設計作業の効率が非常によい。
【００６３】
また本実施例は、サーキットコースのサンプル点に沿った高さデータ、バンク角データ及び変動成分を用いて、コース上の各位置での高さデータをフーリエ近似方法等により生成することを特徴としている。そのため、コースの高さの設計作業の効率が非常によい。
【００６４】
また本実施例は、コースに沿った高さ変化やコースに直交する高さ変化などを区別して設定できることを特徴としている。そのため、サーキットコースを走行する感覚でコースの高さの設計が可能である。
【００６５】
また本実施例によれば、コースの形状変更が簡単であるために、コースの３次元形状をゲームの状況に応じて変化させたり、プレーヤの希望に応じて変形することが可能である。そのため、ゲームの多様性、意外性などのゲーム性を高めることができる。
【００６６】
また本実施例によれば、オフロードのサーキットコース、波が発生する水上コースのように複雑な起伏を有するコースを生成する場合、膨大なコースの３次元形状データを圧縮するために、大きな周期で大きく変化する起伏に対しては３次元形状を生成し、小さな周期で小さく変化する起伏に対してはバンプデータによるテクスチャリングを生成する手法を簡易に行うことができる。
【００６７】
また本実施例によれば、コース上の位置をパラメータθにより一元的に特定できる。
【００６８】
以上説明したように、本実施例は、ＴＶ及び映画のＣＧ映像、ゲーム用のＣＧ映像、パソコンソフトのＣＧ映像等の作成時において、オフロードのサーキットコース、水上コースのように複雑な起伏を揺する周回コースの３次元形状の生成、作成を効率よく行えるという効果を有する。
【００６９】
なお本発明は上記実施例で説明したものに限らず、種々の変形実施が可能である。
【００７０】
例えば複素平面ζ上のメッシュ点を複素平面Ｚ上に写像する関数ｆ（ζ）としては、演算負担の軽さ、１対１の等角写像性の観点からは、上式（７）に示すものが特に望ましいが、これ以外にも、少なくとも正則性を担保できる写像関数ならば種々のものを採用できる。
【００７１】
またコース上のサンプル点でのｈj、αjからｈ（θ）、α（θ）を求める演算式も、演算負担の軽さ、１つのパラメータθでコース上の各位置での高さデータを特定できるという観点からは、上式（１７）、（１８）に示すものが特に望ましいが、これら以外にも、ｈj、αjを滑らかに補間できる種々の手法を採用できる。
【００７２】
また本発明により生成されるコースデータは、車の走行コースのみならず、スキー、スノーボード、モータボート、ウォータービークル、宇宙船の走行コース等、種々のものに適用できる。
【００７３】
【図面の簡単な説明】
【図１】本実施例のコースデータ生成部の機能ブロック図である。
【図２】コースデータの生成核となるサンプル点Ｐjを複素平面Ｚ上に表す図である。
【図３】サンプル点Ｐjに写像される点Ｑjを複素平面ζ上に表す図である。
【図４】複素平面ζ上に表されたメッシュ点Ｑstを示す図である。
【図５】メッシュ点Ｐstを複素平面Ｚに表す図であり、完成したコースの平面図を示す図である。
【図６】コースの中心線上の各サンプル点Ｐjにおける高さデータｈj及びバンク角データαjを示す図である。
【図７】図４において原点を通る面の断面図である。
【図８】本実施例の処理手順を示すフローチャートである。
【図９】本実施例により生成されたコース画像の例である。
【図１０】図１０（Ａ）、（Ｂ）、（Ｃ）は、本実施例の種々の実施形態を示す図である。
【図１１】図１１（Ａ）、（Ｂ）は、コースデータ生成の第１の手法を説明するための図である。
【図１２】図１２（Ａ）、（Ｂ）は、コースデータ生成の第２の手法を説明するための図である。
【符号の説明】
１０２  サンプル点データ記憶部
１０４  ｆ（ζ）導出部
１０６  ｆ（ζ）記憶部
１０８  Ｑst生成部
１１０  Ｐst生成部
１１２  Ｐst記憶部
１１４  ｈ（θ）導出部
１１６  ｈ（θ）記憶部
１１８  α（θ）導出部
１２０  α（θ）記憶部
１２２  Ｉ（ｒ，θ）生成部
１２４  Ｉ（ｒ，θ）記憶部
１２６  Ｈ（ｒ，θ）生成部
１２８  Ｈ（ｒ，θ）記憶部
【図１】
0003981187.tif 000009
【図２】
0003981187.tif 000010
【図３】
0003981187.tif 000011
【図４】
0003981187.tif 000012
【図５】
0003981187.tif 000013
【図６】
0003981187.tif 000014
【図７】
0003981187.tif 000015
【図８】
0003981187.tif 000016
【図９】
0003981187.tif 000017
【図１０】
0003981187.tif 000018
【図１１】
0003981187.tif 000019
【図１２】
0003981187.tif 000020