(57)【要約】【課題】ウォークスルーシナリオ情報の生成にあたり、２次元空間で位置・高さ・方位・距離パラメータ情報を試行錯誤していた。【解決手段】３次元地図表示装置において、３次元空間画像の平面図及び高さ断面図または高さ回転図上でポインティングデバイス１０７により地理座標および高さ（高度）を指示する。位置座標割り出し手段１０８、高さ情報割り出し手段１０９は３次元地図情報から指示された点の位置座標、高さ情報を割り出し移動情報割り出し手段１１１に与え、開始点から終了点までのウォークスルー経路をシナリオとして自動的に生成する。【選択図】  図１
2005025600.tif 000002
【特許請求の範囲】
【請求項１】
地図および作画データを表示制御するデータ表示制御手段と、メッシュデータの地図データを読み出して３次元地図用データを生成し前記データ表示制御手段に渡す３次元地図空間データ生成手段と、地図および作画データを高速表示するグラフィックカードを備えた表示装置と、予め定義されたウォークスルーシナリオに従い３次元空間を移動するウォークスルー手段を備えた３次元地図表示装置において、
３次元表示画面上でポインティングデバイスにより任意の複数点を指示することにより、開始点から終了点までのウォークスルー経路全ての位置、高さ、方向および距離を割り出し、ウォークスルー経路として記憶するウォークスルーシナリオ生成手段を設けたことを特徴とする３次元ウォークスルー装置を備えた３次元地図表示装置。
【請求項２】
請求項１において、
前記ポインティングデバイスはホイール付きマウスで、３次元表示画面のＸＹ平面図上で位置を指示したのち、前記ホイールの回転により前記ＸＹ平面図からＸ又はＹ軸回転図に変更し、変更された画面の前記指示された位置で高さを指示することを特徴とする３次元ウォークスルー装置を備えた３次元地図表示装置。
【請求項３】
請求項１において、
前記ポインティングデバイスはホイール付きマウスで、３次元表示画面の平面図上で位置を指示したのち、前記画面を前記ホイールの回転に応じて傾けて前記位置に対する高さの現れる画面上で高さを現す線分（長さ）を指示することを特徴とする３次元ウォークスルー装置を備えた３次元地図表示装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、３次元地図表示装置に係わり、特に３次元ウォークスルーのシナリオ作成装置に関する。
【０００２】
【従来の技術】
従来の３次元地図表示装置では、３次元地図空間上でのウォークスルーシナリオ生成に関する視認性および操作性については考慮されていない。また、実空間でのリアルタイムな検証もできなかった為、２次元空間で位置・高度・方位・距離パラメータを変更し、３次元空間で確認するという試行錯誤を繰り返すしかなく、シナリオのチューニングに多大な時間を要していた。
【０００３】
また、ウォークスルーシナリオ作成において、特許文献１に開示された「三次元シミュレーション方法とその装置」のように、動的に移動方向と移動速度を求め視界画像を生成する方法がある。これは、障害物（目標物）に対する視界画像を人間のもつ距離感を利用して、臨場感のあるウォークスルーを可能にしている。
【０００４】
【特許文献１】
特開２０００−２００３６０号公報（段落０００７−０００８、図１−図４）
【０００５】
【発明が解決しようとする課題】
従来のウォークスルー方式は、移動する物体のウォークスルーシナリオ情報で高さ（高度）の情報が固定化され、一定の視点で移動していた。また、ウォークスルーシナリオ情報を生成するために、２次元空間で位置・高さ・方位・距離パラメータ情報を試行錯誤しながら入力しなければならなかった。
【０００６】
本発明の目的は、上記従来技術の問題点に鑑み、３次元表示画面上で任意の移動位置及び高さを指示することで、開始点から終了点までのウォークスルー経路全ての位置・高さ・方向および距離を自動的に割り出すことのできる３次元ウォークスルー装置を提供することにある。
【０００７】
【課題を解決するための手段】
本発明は上記目的を達成するために、３次元地図表示装置において、ポインティングデバイスで指示された位置から３次元地図情報に基づいて地理座標および高さ情報を割り出す手段と、連続するポイントから移動方向や距離を割り出す手段を設ける。
【０００８】
前記ポインティングデバイスはホイール付きマウスで、３次元表示画面のＸＹ平面図上で位置を指示したのち、前記ＸＹ平面図から前記ホイールの回転に応じたＸ又はＹ軸回転図（ＸＺ画面またはＹＺ画面）に変更し、そこで表示された高さを指示する。言い替えれば、前記ポインティングデバイスは３次元表示画面の平面図上で位置を指示したのち、前記３次元表示画面に高さが現れるように前記ホイールの回転により画面を傾けて、指示位置に対する高さの現れる画面上で高さを表わす線分（長さ）を指示する。
【０００９】
これにより、開始点から終了点までのウォークスルー経路をシナリオとして自動的に生成することができる。
【００１０】
【発明の実施の形態】
以下、本発明による３次元地図表示装置における３次元ウォークスルー装置の実施形態を説明する。
【００１１】
図１は一実施形態による３次元ウォークスルー装置を備える３次元地図表示装置の構成を示すブロック図である。点線で囲まれた範囲は、３次元作図装置としての基本的な機能ブロックを示している。
【００１２】
３次元地図空間データ生成手段１０２が地図データ（メッシュデータ）１０１から地図データ（メッシュデータ）を読込み、データ表示制御手段１０３に渡し、表示装置１０４に地図が描画される。読み込まれる地図データは３次元を表現できる（Ｘ，Ｙ，Ｚ）の値を持つものであり、３次元の平面図形や３次元空間高さ断面図の指定ができる。
【００１３】
一方、シナリオテーブル作成手段１１２により登録されたシナリオはシナリオデータベース１０５に格納されている。シナリオはウォークスルー手段１０６によって取り込まれると、表示装置１０４に表示中の３次元地図空間上をウォークスルーする。
【００１４】
図１の右側部分（点線外）がウォークスルーシナリオを作成する３次元ウォークスルー装置の構成を示す。入力手段１０７は、表示装置１０４に描画された３次元地図空間上で指示されたポインティングデバイス（マウス）の位置を取り込み、位置座標割り出し手段１０８に渡す。位置座標割り出し手段１０８は、地図データ（メッシュデータ）１０１から該当位置の地理座標を割り出し、シナリオデータテーブル１１０に格納する。
【００１５】
次に、入力手段１０７は、表示装置１０４に描画された３次元地図空間上でのポインティングデバイス（マウス）位置に対応した高さ情報を取り込み、高さ情報割り出し手段１０９に渡す。高さ情報割り出し手段１０９は、デフォルト値として設定されていた高さを基に、取り込んだ値から該当する高さを割出し、シナリオデータテーブル１１０に格納する。
【００１６】
このように、入力手段１０７は３次元地図空間上で、ポインティングデバイスにより指示された指示位置と指示高さを次々と取り込み、シナリオデータテーブル１１０への書き込みを繰り返すことで、ウォークスルーシナリオ基本情報（位置・高さ）が生成される。なお、入力手段１０７は指示位置の取り込みと高さの取り込みを切り替えるモード切替機能を有している。ポインティングデバイスの機能については後述する。
【００１７】
移動情報割り出し手段１１１は、シナリオデータテーブル１１０に格納されている２点間の座標・高度から移動方向（角度）、及び２点間の距離を割り出し、再度シナリオデータテーブル１１０にシナリオ情報として移動方向・移動距離を書き込んでいく。移動情報割り出し手段１１１の処理は、入力手段１０７からシナリオデータテーブル１１０へ書き込んだ情報分だけ繰り返す。このように、３次元地図空間上での入力指示によりウォークスルーシナリオが生成される。
【００１８】
図２は３次元ウォークスルー装置におけるシナリオ情報の一例を示している。図２（ａ）は３次元空間平面図で、ウォークスルーシナリオの位置情報をＸ軸、Ｙ軸を基準にポインティングデバイス（マウス）により指示した一例である。３次元空間平面図２０１のＸＹ平面領域に、ウォークスルー経路ＸＹ２０２を簡単な操作で作成することができる。
【００１９】
図２（ｂ）は３次元空間高さ断面図で、ウォークスルーシナリオの高さ情報をＸ軸（またはＹ軸）、Ｚ軸を基準にポインティングデバイス（マウス）により指示した一例である。３次元空間高さ断面図２０３の高さ断面領域に、ウォークスルー経路ＸＺ２０４を簡単な操作で作成することができる。このように、３次元空間平面図と３次元空間高さ断面図の上で任意の指定を与えることで、ウォークスルーシナリオの生成が可能になる。なお、図２（ａ）と（ｂ）の切替は、入力手段１０７のモード切替による。
【００２０】
図３は、ホイール付きマウスによる擬態的な指示方法を示す説明図である。マウス３０６はその回転により高さ指示を可能にするホイール３０７を持っている。まず、３次元空間平面図である平面図３０１でＸＹ位置３０２をマウス３０３の左／右ボタンで指示する。次に、マウス３０６をＸＹ位置３０２に固定したまま、ホイール３０７を回転操作すると、右側のようＸ軸（またはＹ軸）回転図３０３が表示される。この回転図３０３の画面表示状態をホイール３０７の回転によって変更しながら、任意の高さｈを指示する。
【００２１】
３次元空間画面で、平面図３０１は回転軸がＺである為、表示上は平面に見える。一方、Ｘ軸（またはＹ軸）回転図３０３は、回転軸がＸ、またはＹの為、高さを持つ凸凹の３次元に見える。平面図３０１から回転図３０３への表示の変更は、データを変換しているのではなく、回転図３０３の回転状態をホイール３０７の指示によって変更し、３次元図の見せ方を変更している。このホイール付きマウス３０６によれば、マウスの単純な操作で、平面位置とその高さ位置を指定できるので使い勝手がよい。
【００２２】
図４は、生成したウォークスルーシナリオ情報を格納するデータテーブルの構造を示す。ポイント１〜ポイントｎまで、図２、図３のように指示されたポイント毎に座標Ｘ、Ｙ、高さ、移動距離及び移動方向が格納されている。
【００２３】
図５は、３次元ウォークスルー装置におけるシナリオ生成操作の基本的な処理手順を示す問題分析図（フローチャート）である。基本的処理には、ウォークスルーシナリオ生成機能を構成するステップ５０１〜５１２が含まれる。
【００２４】
ウォークスルーシナリオを作成する為には、先ず開始時はステップ５０１で入力手段１０７は位置取得モードをデフォルトとして設定する。これは入力手段１０７の内部処理により自動的に行なわれる。次に、ステップ５０２で指示された位置のもつデフォルトの初期高さ情報を設定する。位置取得モード中は、３次元空間をＸＹ平面として取り扱い、ステップ５０３でポインティングデバイス（マウス）により指示されたＸＹ座標値を取得する。このときシナリオデータテーブルに格納する位置座標を３次元空間座標値から経緯度座標値に変換する。
【００２５】
次にステップ５０４で高さ取得モードを設定する。これは、ステップ５０１で位置情報が取得できれば、ステップ５０４で自動的に高さ取得モードに切り替わるように構成されている。ステップ５０５で図３に示したマウスのホイール３０７を利用して、ＸＹ平面で表示していた画像をＸ方向（またはＹ方向）を軸に回転することにより視界をＸＺ（またはＹＺ）表現にすると、図３の右側の回転図３０３のようになる。
【００２６】
マウス３０６のホイール３０７からのイベント情報は回転する方向（前後）と、回転量を取得できる。このホイール３０７の回転方向のイベント情報で画像を回転させ、ホイール３０７の回転量で画像の回転角を制御する。
【００２７】
ＸＹの位置取得後は、地図を回転した後でも、再度ＸＹ位置情報を取得することができてしまう。このため、ステップ５０４で高さ取得モード設定後は、ＸＹ値の取得ではなく、ステップ５０６で画面上に指示された位置の情報はＺ値（高さ）の取得となる。この画面上の指示高さ（３次元空間座標値）から実際の高さを算出する。
【００２８】
ステップ５０７では、高さの情報を取得できたかを判定し、取得未完であればステップ５０５に、取得完了であればステップ５０８に移行し、シナリオデータテーブル１１０に取得した位置、高さの情報を格納する。ウォークスルーシナリオ作成が終了するまでステップ５０１〜５０９を繰り返す。
【００２９】
ポインティングデバイス（マウス）によるシナリオデータ（位置・高さ）作成終了時に、ステップ５１０で、シナリオデータテーブル１１０からシナリオデータを読み出し、２点間の距離（Ｅｘ１）、２点間の方向・方位（Ｅｘ２）を求める。また、ステップ５１２でウォークスルーシナリオ情報をシナリオＤＢ１０５に登録する。
【００３０】
なお、２点間の距離Ｅｘ１は以下のように求められる。
２点間の距離：Ｄｉｓｔ＝ｓｉｎ（Ｐｈｉ１）＊ｓｉｎ（Ｙ２）＋ｃｏｓ（Ｙ１）＊ｃｏｓ（Ｙ２）＊ｃｏｓ（Ｒａｄ）
求める実距離：Ｅｘ１＝地球の半径＊ａｃｏｓ（Ｄｉｓｔ）
ここで、Ｘ１，Ｙ１，Ｘ２，Ｙ２＝π／１８０．０／３６００００．０（１／１００秒）…ラジアン変換、Ｒａｄ＝Ｘ２−Ｘ１…基準座標の相対角である。
【００３１】
また、２点間の方向Ｅｘ２は以下のように求められる。
Ｘ１，Ｙ１，Ｘ２，Ｙ２＝π／１８０．０／３６００００．０（１／１００秒）…ラジアン変換
ｗ＝Ｘ２−Ｘ１  …１点目から見た２点目の方位計算（λ１を０度線にあわせる）
ｃｓ１＝ｃｏｓ（Ｙ２）  …直交座標に変換
ｘ＝ｃｓ１＊ｃｏｓ（ｗ），ｙ＝ｃｓ１＊ｓｉｎ（ｗ），ｚ＝ｓｉｎ（Ｙ２）
ａｌｐｈａ＝Ｙ１−π／２  …ｙ軸回りに（φ１−π／２）回転して始点を北極点に移動
ｃｓ２＝ｃｏｓ（ａｌｐｈａ），ｓｎ＝ｓｉｎ（ａｌｐｈａ）
Ｘ＝ｃｓ２＊ｘ＋ｓｎ＊ｚ，Ｙ＝ｙ，Ｚ＝−ｓｎ＊ｘ＋ｃｓ＊ｚ
ｄｉｒ＝ａｔａｎ２（Ｙ，Ｘ）  …終点の変換後の経度を求める
すなわち、Ｘ≧０．０、Ｙ＞０．０の場合、Ｅｘ２＝ｄｉｒ  …方位角（ラジアン）を求める。Ｙ＜０．０の場合はＥｘ２＝π＋ｄｉｒ、Ｘ＜０．０、Ｙ＞０．０の場合はＥｘ２＝π−ｄｉｒとなる。
【００３２】
直前のａｔａｎ２は−９０〜９０の範囲値として計算している為、求める範囲−１８０〜１８０に補正する為にＥｘ２＝の右辺の計算式が必要になります。
【００３３】
本実施例によれば、２次元地図空間上でのウォークスルーシナリオ作成に比べ、直接３次元地図空間上での確認とチューニングを行うことができる。ここでのチューニングとは、画面上で見ながら位置や高さの情報を設定、変更できることを指している。これによれば、シナリオ作成に要する時間を飛躍的に削減できる。また、ウォークスルーシナリオ作成の視認性向上によって、より直感的な作成を行うことができる。
【００３４】
さらに、本実施例によれば、ホイール付きマウスのようなポインティングデバイスを使用することにより、オペレータは３次元空間上で視認性良く、簡単な操作で、ウォークスルーシナリオを生成することができる。
【００３５】
【発明の効果】
本発明によれば、２次元地図空間上でのウォークスルーシナリオ作成に比べ、直接３次元地図空間上での確認とチューニングを行うことができる為、シナリオ作成に要する時間を飛躍的に削減できる。またウォークスルーシナリオ作成の視認性を向上するので、より直感的な作成を行うことができる。
【００３６】
さらに、本発明によれば、ホイール付きマウスのようなポインティングデバイスを入力手段として使用できるので、３次元空間上でも簡単な操作で視認性の高いウォークスルーシナリオの作成が可能になる。
【図面の簡単な説明】
【図１】本発明の一実施例による３次元ウォークスルー装置の構成を示すブロック図。
【図２】３次元ウォークスルー装置のウォークスルーシナリオの一例を示す説明図。
【図３】ウォークスルーシナリオ情報の生成方法を示す説明図。
【図４】ウォークスルーシナリオ情報を格納するテーブル構造を示す説明図。
【図５】ウォークスルーシナリオ生成機能の処理手順を示すフローチャート。
【符号の説明】
１０１…地図データ（メッシュデータ）、１０２…３次元地図空間データ生成手段、１０３…データ表示制御手段、１０４…表示装置、１０５…シナリオデータベース、１０６…ウォークスルー手段、１０７…入力手段、１０８…位置座標割出し手段、１０９…高さ情報割出し手段、１１０…シナリオデータテーブル、１１１…移動情報割出し手段、１１２…シナリオテーブル供給手段、２０１…３次元空間平面図、２０２…ウォークスルー経路ＸＹ、２０３…３次元空間高さ断面図、２０４…ウォークスルー経路ＸＺ、３０１…ＸＹ平面図、３０２…ＸＹ位置、３０３…回転図、３０５…指定高さ、３０６…マウス、３０７…ホイール。
【図１】
2005025600.tif 000003
【図２】
2005025600.tif 000004
【図３】
2005025600.tif 000005
【図４】
2005025600.tif 000006
【図５】
2005025600.tif 000007