(57)【特許請求の範囲】
【請求項１】
３次元仮想空間平面と、格子状にならびかつ前記３次元仮想空間平面上の位置と高さを表すノードと、直線で構成されかつノードから他のノードへの経路を示すアークとから構成される３次元仮想空間内を、ユーザが仮想的に移動することが可能な３次元経路を入力する３次元経路入力装置であって、
前記３次元仮想空間を射影した２次元平面上においてユーザから指定された経路を入力するための２次元経路入力手段と、前記２次元経路入力手段で入力された前記２次元平面上の経路を複数のグループに分割してサブ経路を生成する２次元サブ経路分割手段と、前記２次元サブ経路分割手段で前記複数のグループに分割されたサブ経路を基にそのグループ単位に指定された高さ方向の移動の設定に応じて３次元のサブ経路を作成するサブ経路３次元拡張手段と、前記サブ経路３次元拡張手段で作成された３次元のサブ経路を基に前記３次元経路を生成するサブ経路結合手段とを有することを特徴とする３次元経路入力装置。
【請求項２】
前記２次元サブ経路分割手段は、前記２次元平面上の位置と高さを表すあるノードから他のノードへの道筋を表すアークを指示に応じて選択し、その選択したアークをグルーピングするようにしたことを請求項１記載の３次元経路入力装置。
【請求項３】
前記サブ経路３次元拡張手段は、前記高さ方向の移動の設定にしたがって移動可能な経路のアークの集合を計算して前記３次元のサブ経路を作成するようにしたことを特徴とする請求項２記載の３次元経路入力装置。
【請求項４】
前記サブ経路結合手段は、前記サブ経路３次元拡張手段で計算されたすべてのアークの集合の中から垂直方向のアークの集合を作成し、その垂直方向のアークの中から３次元サブ経路間をつないでいる垂直方向のアークを選別して前記３次元のサブ経路を結合するようにしたことを特徴とする請求項２または請求項３記載の３次元経路入力装置。
【請求項５】
前記サブ経路結合手段は、前記ノードを共有している垂直方向のアーク同士を接続してひとつの長いアークとして扱うようにしたことを特徴とする請求項４記載の３次元経路入力装置。
【請求項６】
３次元仮想空間内で経路を選択することが可能な高さの範囲に関する情報を蓄積する高さ条件データベースと、前記高さ条件データベースのデータと前記３次元仮想空間のデータとから前記サブ経路を３次元に拡張可能な範囲を計算する３次元拡張制約生成手段とを含むことを特徴とする請求項１から請求項５のいずれか記載の３次元経路入力装置。
【請求項７】
前記高さ方向の移動の設定において、少なくとも標高データを含む地理情報を前記高さ方向の制約として利用するようにしたことを特徴とする請求項１から請求項６のいずれか記載の３次元経路入力装置。
【請求項８】
３次元仮想空間平面と、格子状にならびかつ前記３次元仮想空間平面上の位置と高さを表すノードと、直線で構成されかつノードから他のノードへの経路を示すアークとから構成される３次元仮想空間内を、ユーザが仮想的に移動することが可能な３次元経路を入力する３次元経路入力装置であって、
前記３次元仮想空間を射影した２次元平面上で各高さ別にユーザから指定されかつ前記３次元仮想空間内で移動可能とする経路を入力するための高さ別２次元経路入力手段と、前記高さ別２次元経路入力手段から入力された複数の経路を統合・補完して前記３次元経路を生成する経路統合・補完手段とを有し、
前記経路統合・補完手段は、前記高さ別２次元経路入力手段から入力された複数の経路において予め選択したノードと同じ位置で高さの異なるノードを選び出し、その選び出したノードの中で前記選択したノードに最も近いノードを前記選択したノードに接続することを特徴とする３次元経路入力装置。
【請求項９】
３次元仮想空間平面と、格子状にならびかつ前記３次元仮想空間平面上の位置と高さを表すノードと、直線で構成されかつノードから他のノードへの経路を示すアークとから構成される３次元仮想空間内を、ユーザが仮想的に移動することが可能な３次元経路を入力する３次元経路入力方法であって、
前記３次元仮想空間を射影した２次元平面上においてユーザから指定された経路を入力するための２次元経路入力ステップと、前記２次元経路入力ステップで入力された前記２次元平面上の経路を複数のグループに分割してサブ経路を生成する経路分割ステップと、前記経路分割ステップで前記複数のグループに分割されたサブ経路を基にそのグループ単位に指定された高さ方向の移動の設定に応じて３次元のサブ経路を作成する３次元拡張ステップと、前記３次元拡張ステップで作成された３次元のサブ経路を基に３次元経路を生成する３次元経路生成ステップとを有することを特徴とする３次元経路入力方法。
【請求項１０】
前記経路分割ステップは、前記２次元平面上の位置と高さを表すあるノードから他のノードへの道筋を表すアークを指示に応じて選択し、その選択したアークをグルーピングするようにしたことを請求項９記載の３次元経路入力方法。
【請求項１１】
前記３次元拡張ステップは、前記高さ方向の移動の設定にしたがって移動可能な経路のアークの集合を計算して前記３次元のサブ経路を作成するようにしたことを特徴とする請求項１０記載の３次元経路入力方法。
【請求項１２】
前記３次元経路生成ステップは、前記３次元拡張ステップで計算されたすべてのアークの集合の中から垂直方向のアークの集合を作成し、その垂直方向のアークの中から３次元サブ経路間をつないでいる垂直方向のアークを選別して前記３次元のサブ経路を結合するようにしたことを特徴とする請求項１０または請求項１１記載の３次元経路入力方法。
【請求項１３】
前記３次元経路生成ステップは、前記ノードを共有している垂直方向のアーク同士を接続してひとつの長いアークとして扱うようにしたことを特徴とする請求項１２記載の３次元経路入力方法。
【請求項１４】
３次元仮想空間内で経路を選択することが可能な高さの範囲に関する情報を蓄積する高さ条件データベースのデータと前記３次元仮想空間のデータとから前記サブ経路を３次元に拡張可能な範囲を計算する３次元拡張制約生成ステップを含み、
前記３次元拡張ステップは、前記３次元拡張制約生成ステップにて計算された情報を基に前記複数のグループに分割されたサブ経路を３次元に拡張するようにしたことを特徴とする請求項９から請求項１３のいずれか記載の３次元経路入力方法。
【請求項１５】
前記高さ方向の移動の設定において、少なくとも標高データを含む地理情報を前記高さ方向の制約として利用するようにしたことを特徴とする請求項９から請求項１４のいずれか記載の３次元経路入力方法。
【請求項１６】
３次元仮想空間平面と、格子状にならびかつ前記３次元仮想空間平面上の位置と高さを表すノードと、直線で構成されかつノードから他のノードへの経路を示すアークとから構成される３次元仮想空間内を、ユーザが仮想的に移動することが可能な３次元経路を入力する３次元経路入力方法であって、
複数の高さ毎にユーザから指定された移動可能な３次元経路を入力するための高さ別２次元経路入力ステップと、前記高さ別２次元経路入力ステップにて入力された複数の２次元経路を統合・補完して前記３次元経路を生成する経路統合・補完ステップとを有し、
前記経路統合・補完ステップにおいて、前記高さ別２次元経路入力手段から入力された複数の経路において予め選択したノードと同じ位置で高さの異なるノードを選び出し、その選び出したノードの中で前記選択したノードに最も近いノードを前記選択したノードに接続することを特徴とする３次元経路入力方法。
【請求項１７】
３次元仮想空間平面と、格子状にならびかつ前記３次元仮想空間平面上の位置と高さを表すノードと、直線で構成されかつノードから他のノードへの経路を示すアークとから構成される３次元仮想空間内を、ユーザが仮想的に移動することが可能な３次元経路を入力する３次元経路入力装置内においてコンピュータに実行させるプログラムであって、
前記３次元仮想空間を射影した２次元平面上においてユーザから指定された経路を入力するための２次元経路入力処理と、前記２次元経路入力処理で入力された前記２次元平面上の経路を複数のグループに分割してサブ経路を生成する経路分割処理と、前記経路分割処理で前記複数のグループに分割されたサブ経路を基にそのグループ単位に指定された高さ方向の移動の設定に応じて３次元のサブ経路を作成する３次元拡張処理と、前記３次元拡張処理で作成された３次元のサブ経路を基に３次元経路を生成する３次元経路生成処理とを含むことを特徴とするプログラム。
【請求項１８】
３次元仮想空間平面と、格子状にならびかつ前記３次元仮想空間平面上の位置と高さを表すノードと、直線で構成されかつノードから他のノードへの経路を示すアークとから構成される３次元仮想空間内を、ユーザが仮想的に移動することが可能な３次元経路を入力する３次元経路入力装置内においてコンピュータに実行させるプログラムであって、
複数の高さ毎にユーザから指定された移動可能な３次元経路を入力するための高さ別２次元経路入力処理と、前記高さ別２次元経路入力処理で入力された複数の２次元経路を統合・補完して前記３次元経路を生成する経路統合・補完処理とを含み、
前記経路統合・補完処理において、前記高さ別２次元経路入力手段から入力された複数の経路において予め選択したノードと同じ位置で高さの異なるノードを選び出し、その選び出したノードの中で前記選択したノードに最も近いノードを前記選択したノードに接続させることを特徴とするプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は３次元経路入力装置及びそれに用いる３次元経路入力方法並びにそのプログラムに関し、特に仮想３次元空間を移動する経路を入力する３次元経路入力方法に関する。
【０００２】
【従来の技術】
擬似体験装置等においては、計算機によって仮想的に生成された３次元空間の中を移動するインタフェースが広く用いられている。例えば、仮想的に作られた３次元の街の中を歩きまわる立体映像を再生することで、ユーザが擬似的にその街を歩くことを体験する「デジタルシティー京都」（浦山毅著、共立出版株式会社刊、ｂｉｔ、２００１年４月、ｐｐ．３〜７）（以下、第１の従来技術とする）等がある。
【０００３】
このインタフェースの実現には、Ａｐｐｌｅ社のＱｕｉｃｋ  Ｔｉｍｅ（Ｒ）ＶＲ（Ｖｉｒｔｕａｌ  Ｒｅａｌｉｔｙ）方式等を使うことが広く知られている。その方法はユーザが移動することが可能な３次元仮想空間内の経路すべてに対して、経路移動の立体映像を、事前にムービーデータとして生成しておき、ユーザは実行時にこのムービーデータを再生することで、３次元仮想空間内の移動を擬似体験することができる。
【０００４】
一般に、３次元仮想空間を移動するためのムービーデータを生成することは非常に計算量が多いため、そのムービーデータを実行時にリアルタイムに生成することは困難である。そこで、上記の方式のように、移動することが可能なすべての経路をシステム構築時に入力しておき、この経路を移動するムービーデータを事前に生成しておく実装方式が広く知られている。
【０００５】
ところが、２次元のコンピュータ画面を使って、３次元空間内の移動経路を入力することは非常に難しい。したがって、より簡単に３次元空間内を移動する経路を入力する方法が課題となる。
【０００６】
この課題に対して、第１の従来技術では、図３１に示すように、建物の輪郭等を特殊な意味付けされた記号を使って記述された街のモデルに対して、移動可能な経路をテキストエディタを使って入力する。図３１に示す例では、＃で囲まれた部分が建物を表しており、Ｗの部分が移動可能な経路である。
【０００７】
また、別の方法として、特許第３１０５１３１号に開示された「視覚を中心とした擬似体験装置」（以下、第２の従来技術とする）では、３次元マウスと呼ばれる３次元入力装置を用いて３次元空間内の経路を入力する方法が提案されている。
【０００８】
３次元マウスは、２次元マウスのように、机等の平面上を動かすのではなく、手に持って空間内で動かすと、それに応じてディスプレイ内の３次元仮想空間の中でポインタが移動する装置である。そこで、制作者は３次元マウスを使って、３次元仮想空間をポイントして経路を入力している。
【０００９】
【発明が解決しようとする課題】
しかしながら、上述した従来の技術では、制作者が３次元仮想空間内を移動する経路を簡単に入力することはできない。すなわち、第１の従来技術では、移動可能な範囲をある一定の高さの平面上に限ることで、簡単に経路を入力する方法であり、３次元空間を移動する経路を入力することはできない。
【００１０】
また、第２の従来技術に用いられる３次元マウスでは、２次元のマウスとは異なり、装置の取り扱いについて習熟していない一般ユーザが所望の通りに３次元空間の位置を指定することは難しい。よって、第１の従来技術及び第２の従来技術の手法では、制作者が簡単に３次元空間内をユーザが仮想的に移動する３次元経路を入力する方法がないという第１の問題がある。
【００１１】
さらに、第１の従来技術の手法のように、実際の街を３次元で再現した仮想空間を扱う場合、標高や建物の高さに応じて移動経路を設定する必要がある。例えば、山間部は高い位置だけ経路に設定するし、あるいは道路は１階、あるビルの中は１０階まで経路が設定できるといったことを、簡単に設定可能とする必要がある。
【００１２】
第１の従来技術及び第２の従来技術の手法では、実際の街を３次元で再現した仮想空間を扱う場合に、標高や建物の高さ等のその街の様子に応じて、簡単に３次元空間内を移動する経路を設定する方法がないという第２の問題がある。
【００１３】
そこで、本発明の目的は上記の問題点を解消し、制作者がユーザが移動可能な経路を簡単に設定・入力することができる３次元経路入力装置及びそれに用いる３次元経路入力方法並びにそのプログラムを提供することにある。
【００１４】
【課題を解決するための手段】
本発明による３次元経路入力装置は、３次元仮想空間平面と、格子状にならびかつ前記３次元仮想空間平面上の位置と高さを表すノードと、直線で構成されかつノードから他のノードへの経路を示すアークとから構成される３次元仮想空間内を、ユーザが仮想的に移動することが可能な３次元経路を入力する３次元経路入力装置であって、
前記３次元仮想空間を射影した２次元平面上においてユーザから指定された経路を入力するための２次元経路入力手段と、前記２次元経路入力手段で入力された前記２次元平面上の経路を複数のグループに分割してサブ経路を生成する２次元サブ経路分割手段と、前記２次元サブ経路分割手段で前記複数のグループに分割されたサブ経路を基にそのグループ単位に指定された高さ方向の移動の設定に応じて３次元のサブ経路を作成するサブ経路３次元拡張手段と、前記サブ経路３次元拡張手段で作成された３次元のサブ経路を基に前記３次元経路を生成するサブ経路結合手段とを備えている。
【００１５】
本発明による他の３次元経路入力装置は、３次元仮想空間平面と、格子状にならびかつ前記３次元仮想空間平面上の位置と高さを表すノードと、直線で構成されかつノードから他のノードへの経路を示すアークとから構成される３次元仮想空間内を、ユーザが仮想的に移動することが可能な３次元経路を入力する３次元経路入力装置であって、
前記３次元仮想空間を射影した２次元平面上で各高さ別にユーザから指定されかつ前記３次元仮想空間内で移動可能とする経路を入力するための高さ別２次元経路入力手段と、前記高さ別２次元経路入力手段から入力された複数の経路を統合・補完して前記３次元経路を生成する経路統合・補完手段とを備え、
前記経路統合・補完手段は、前記高さ別２次元経路入力手段から入力された複数の経路において予め選択したノードと同じ位置で高さの異なるノードを選び出し、その選び出したノードの中で前記選択したノードに最も近いノードを前記選択したノードに接続している。
【００１６】
本発明による３次元経路入力方法は、３次元仮想空間平面と、格子状にならびかつ前記３次元仮想空間平面上の位置と高さを表すノードと、直線で構成されかつノードから他のノードへの経路を示すアークとから構成される３次元仮想空間内を、ユーザが仮想的に移動することが可能な３次元経路を入力する３次元経路入力方法であって、
前記３次元仮想空間を射影した２次元平面上においてユーザから指定された経路を入力するための２次元経路入力ステップと、前記２次元経路入力ステップで入力された前記２次元平面上の経路を複数のグループに分割してサブ経路を生成する経路分割ステップと、前記経路分割ステップで前記複数のグループに分割されたサブ経路を基にそのグループ単位に指定された高さ方向の移動の設定に応じて３次元のサブ経路を作成する３次元拡張ステップと、前記３次元拡張ステップで作成された３次元のサブ経路を基に３次元経路を生成する３次元経路生成ステップとを備えている。
【００１７】
本発明による他の３次元経路入力方法は、３次元仮想空間平面と、格子状にならびかつ前記３次元仮想空間平面上の位置と高さを表すノードと、直線で構成されかつノードから他のノードへの経路を示すアークとから構成される３次元仮想空間内を、ユーザが仮想的に移動することが可能な３次元経路を入力する３次元経路入力方法であって、
複数の高さ毎にユーザから指定された移動可能な３次元経路を入力するための高さ別２次元経路入力ステップと、前記高さ別２次元経路入力ステップにて入力された複数の２次元経路を統合・補完して前記３次元経路を生成する経路統合・補完ステップとを有し、
前記経路統合・補完ステップにおいて、前記高さ別２次元経路入力手段から入力された複数の経路において予め選択したノードと同じ位置で高さの異なるノードを選び出し、その選び出したノードの中で前記選択したノードに最も近いノードを前記選択したノードに接続している。
【００１８】
本発明によるプログラムは、３次元仮想空間平面と、格子状にならびかつ前記３次元仮想空間平面上の位置と高さを表すノードと、直線で構成されかつノードから他のノードへの経路を示すアークとから構成される３次元仮想空間内を、ユーザが仮想的に移動することが可能な３次元経路を入力する３次元経路入力装置内においてコンピュータに実行させるプログラムであって、
前記３次元仮想空間を射影した２次元平面上においてユーザから指定された経路を入力するための２次元経路入力処理と、前記２次元経路入力処理で入力された前記２次元平面上の経路を複数のグループに分割してサブ経路を生成する経路分割処理と、前記経路分割処理で前記複数のグループに分割されたサブ経路を基にそのグループ単位に指定された高さ方向の移動の設定に応じて３次元のサブ経路を作成する３次元拡張処理と、前記３次元拡張処理で作成された３次元のサブ経路を基に３次元経路を生成する３次元経路生成処理とを含むことを特徴とする。
【００１９】
本発明による他のプログラムは、３次元仮想空間平面と、格子状にならびかつ前記３次元仮想空間平面上の位置と高さを表すノードと、直線で構成されかつノードから他のノードへの経路を示すアークとから構成される３次元仮想空間内を、ユーザが仮想的に移動することが可能な３次元経路を入力する３次元経路入力装置内においてコンピュータに実行させるプログラムであって、
複数の高さ毎にユーザから指定された移動可能な３次元経路を入力するための高さ別２次元経路入力処理と、前記高さ別２次元経路入力処理で入力された複数の２次元経路を統合・補完して前記３次元経路を生成する経路統合・補完処理とを含み、
前記経路統合・補完処理において、前記高さ別２次元経路入力手段から入力された複数の経路において予め選択したノードと同じ位置で高さの異なるノードを選び出し、その選び出したノードの中で前記選択したノードに最も近いノードを前記選択したノードに接続させることを特徴とする。
【００２０】
すなわち、本発明の３次元経路入力装置は、第１の問題を解決するために、計算機によって仮想的に生成された３次元仮想空間と、その３次元仮想空間内をユーザが仮想的に移動することが可能な３次元経路を、高さを考えることなく、平面上で入力する２次元経路入力手段と、２次元経路入力手段で入力した経路データにおいてユーザが同じ高さまで移動することができる部分経路をグルーピングすることでその経路をサブ経路に分割する２次元サブ経路分割手段と、２次元サブ経路分割手段によってグルーピングされたサブ経路毎に高さ方向の移動を設定することで３次元のサブ経路を作成するサブ経路３次元拡張手段と、サブ経路３次元拡張手段が生成した複数の３次元経路を一時的に記憶しておくサブ経路一時記憶手段と、サブ経路一時記憶手段が記憶している複数の３次元経路を接続するサブ経路結合手段と、結合された経路を保存する３次元経路データベース（ＤＢ）と、２次元経路入力手段と２次元サブ経路分割手段とサブ経路３次元拡張手段とサブ経路結合手段との間でユーザインタフェースを共有するためにユーザインタフェースに必要な一時的な情報を記憶しておくユーザインタフェース一時記憶とから構成している。
【００２１】
これによって、制作者やユーザは３次元的な操作をすることなく、平面的に経路を入力することが可能となるため、簡単に３次元経路の設定・入力が可能となる。また、サブ経路３次元拡張手段が縦方向の経路に関して自動的に経路を選択するため、制作者やユーザはより簡単に３次元経路の設定・入力を行うことが可能となる。さらに、サブ経路結合手段が平面的に入力したことが原因で分離してしまった経路を自動的に接続するため、制作者やユーザはより簡単に３次元経路の設定・入力を行うことが可能となる。
【００２２】
本発明の３次元経路入力装置は、第２の問題を解決するために、上記の構成に加えて、３次元仮想空間内で３次元経路を選択することが可能な高さの範囲に関するデータベースである高さ条件データベースと、高さ条件データベースのデータと仮想空間のデータとからサブ経路を３次元に拡張可能な範囲を計算する３次元拡張制約生成手段を持つことで、３次元仮想空間のあるエリアで高さの制限がある場合にも、制作者やユーザはより簡単に３次元経路の設定・入力を行うことが可能となる。
【００２３】
また、本発明の３次元経路入力装置は、別の構成として、計算機によって仮想的に生成された３次元仮想空間と、ユーザが複数の高さ毎に移動可能な３次元経路を入力する高さ別２次元経路入力手段と、高さ別２次元経路入力手段で入力された複数の経路を統合・補完することで３次元経路を生成する経路統合・補完手段と、経路統合・補完手段が生成した３次元経路を保存する３次元経路データベースと、高さ別２次元経路入力手段がユーザインタフェースに必要な一時的な情報を記憶しておくユーザインタフェース一時記憶とから構成している。これによって、制作者やユーザはより簡単に３次元経路の設定・入力を行うことが可能となる。
【００２４】
ここで、高さ別２次元経路入力手段は各高さ毎に経路を入力する各階経路入力手段と、各階経路入力手段で入力した経路を一時的に記憶しておく各階経路一時記憶手段とから構成している。よって、制作者やユーザはより簡単に３次元経路の設定・入力を行うことが可能となる。
【００２５】
したがって、計算機によって仮想的に生成された３次元空間において、制作者やユーザが移動可能な３次元経路を簡単に設定・入力することが可能となり、特に実際の街を３次元で再現した仮想空間を扱う場合に、より簡単に３次元経路を設定・入力することが可能となる。
【００２６】
【発明の実施の形態】
次に、本発明の実施例について図面を参照して説明する。図１は本発明の一実施例による３次元経路入力装置の構成を示すブロック図である。図１において、本発明の一実施例による３次元経路入力装置１は３次元仮想空間２と、２次元経路入力手段３と、２次元サブ経路分割手段４と、サブ経路３次元拡張手段５と、サブ経路結合手段６と、ユーザインタフェース一時記憶メモリ７と、サブ経路一時記憶手段８と、３次元経路データベース（ＤＢ）９と、記録媒体１０とから構成されている。
【００２７】
３次元仮想空間２は計算機によって仮想的に生成された３次元仮想空間のデータであり、例えば「電子図書館システム『Ｖｉｒｔｕａｌ  Ｌｉｂｒａｒｙ』のユーザインタフェース」（第４８回情報処理学会全国大会予稿集一分冊、平成６年３月、ｐｐ．３４３−３４４）に記載されたものがある。２次元経路入力手段３は３次元仮想空間２内をユーザが仮想的に移動することが可能な３次元経路を、高さを考えることなく、平面上で入力するためのものである。
【００２８】
２次元サブ経路分割手段４は２次元経路入力手段３で入力した経路データにおいて、ユーザが同じ高さまで移動することができる部分経路をグルーピングすることで、その経路をサブ経路に分割する。サブ経路３次元拡張手段５は２次元サブ経路分割手段４によってグルーピングされたサブ経路毎に、ユーザが高さ方向の移動を設定することで３次元のサブ経路を作成する。サブ経路一時記憶手段８はサブ経路３次元拡張手段５が生成した複数の３次元サブ経路を一時的に記憶する。
【００２９】
サブ経路結合手段６はサブ経路３次元拡張手段５が生成した複数の３次元サブ経路を接続し、３次元経路データベース９は結合された３次元経路を保存する。ユーザインタフェース一時記憶メモリ７は２次元経路入力手段３と２次元サブ経路分割手段４とサブ経路３次元拡張手段５とサブ経路結合手段６との間でユーザインタフェースを共有するために、ユーザインタフェースに必要かつ一時的な情報を記憶しておく。
【００３０】
２次元経路入力手段３と２次元サブ経路分割手段４とサブ経路３次元拡張手段５とサブ経路結合手段６とは図示せぬコンピュータが記録媒体１０に格納されたプログラムを実行することで実現される。
【００３１】
図２は図１の３次元仮想空間２の具体例を示す図であり、図３は図２に示す３次元仮想空間を計算機で実現する際のテーブル構成を示す図であり、図４は図１のユーザインタフェース一時記憶メモリ７の構成を示す図であり、図５は図１の３次元経路データベース９の構成を示す図であり、図６は本発明の一実施例による３次元経路入力装置１の動作を示すフローチャートである。図７は図１の３次元仮想空間２の他の具体例を示す図であり、図８〜図１１は本発明の一実施例による３次元経路入力装置１のユーザインタフェースを示す図である。
【００３２】
図１２は図１のサブ経路３次元拡張手段５によるサブ経路３次元拡張処理を示すフローチャートであり、図１３〜図１５は図１のサブ経路３次元拡張手段５によるサブ経路３次元拡張処理を説明するための図である。図１６は図１のサブ経路結合手段６によるサブ経路結合処理を示すフローチャートであり、図１７〜図１９は図１のサブ経路結合手段６によるサブ経路結合処理を説明するための図である。
【００３３】
これら図１〜図１９を参照して本発明の一実施例による３次元経路入力装置１の動作について説明する。尚、図６と図１２と図１６とに示す処理はコンピュータが記録媒体１０に格納されたプログラムを実行することで実現される。
【００３４】
３次元仮想空間２は、説明を簡単にするために、図２に示した３次元仮想空間を用いることにする。但し、図２に示す構成は一例であり、第１の従来技術のようにテキストで記述する方法や、あるいはＷＷＷ（Ｗｏｒｌｄ  Ｗｉｄｅ  Ｗｅｂ）上で３次元のデータを記述する言語のひとつであるＶＲＭＬ（Ｖｉｒｔｕａｌ  Ｒｅａｌｉｔｙ  Ｍｏｄｅｌｉｎｇ  Ｌａｎｇｕａｇｅ）等を使って記述してもよい。
【００３５】
図２における３次元仮想空間２はノードとアークとの集合と、３次元仮想空間平面とから構成されている。ノードはある３次元仮想空間平面上の位置と高さを表しており、アークはノードからノードへの道筋を表している。説明を簡単にするために、ノードは格子状にならんでおり、アークは直線であるが、このようにする必要はなく、実際には、図３０に示すように、ノードを交差点に、アークを道路にというような対応付けを行って実装しても構わない。
【００３６】
また、３次元仮想空間平面は、３次元仮想空間と実世界との間の対応をとるために、２次元で実世界を表現したものである。３次元仮想空間平面としては、例えば、地図画像や航空写真等が考えられる。これら、人間が見れば実世界の情報を多く含んだ３次元仮想空間平面上に３次元仮想空間のノード、アークを配置することで、実世界での意味を持たなかったノードとアークとに意味を持たせることができる。
【００３７】
さらに、図２の座標系は横をｘ軸、奥行きをｙ軸、縦をｚ軸と呼び、格子上に、０，１，２，……の値を付けている。但し、これも説明を簡単にするためのものであり、実際には、緯度、経度、高さ等を使った座標系を用いる等して実装する。本実施例では座標を、（ｘ、ｙ、ｚ）の順で書くことにする。また、高さを考えない場合、（ｘ、ｙ）と記述する。さらに、ノードとアークとには、ノード：ＮＤ（座標）、アーク：ＡＫ（座標１）−（座標２）というように、名前が付けられているものとする。
【００３８】
アークの座標１及び座標２はアークの１つの端点の座標であり、ｘ軸の値が小さい方を座標１、大きい方を座標２と呼ぶ。但し、ｘ座標が同じ場合には、ｙ座標で比較し、ｙ座標も同じ場合にはｚ座標を比較する。この場合、ｘ座標、ｙ座標、ｚ座標がすべて同じということはない。例えば、ノードａはＮＤ（０，０，０）、アークｂはＡＫ（０，０，０）−（１，０，０）と記述する。
【００３９】
図２では３次元仮想空間を便宜上、図で記述しているが、計算機で実現する際には、仮想空間平面の画像（仮想空間平面の画像ファイル）、仮想空間平面位置−仮想空間座標対応テーブル（仮想空間平面画像上の位置と仮想空間の座標との関係を表すリレーショナルデータベースのテーブル）［図３（ｃ）参照］、ノードテーブル（ノードの集合を記述するテーブルで、「ノード名」フィールド、「仮想空間の座標」フィールドからなる）［図３（ａ）参照］、アークテーブル（アークの集合を記述するテーブルで、「アーク名」フィールド、「両端のノード」フィールドからなるテーブルである）［図３（ｂ）参照］という構成で実現すればよい。
【００４０】
以上のようにして実装することで、２次元経路入力手段３は名前でノード、アークのレコードへアクセスすることができ、さらに仮想空間平面の画像や仮想空間平面位置−仮想空間座標対応テーブルへもアクセスすることができる。
【００４１】
図６に３次元仮想空間２内を移動することが可能な経路を作成する処理の流れを示す。このタスクは３次元仮想空間２内のアーク集合の中から、ユーザが歩くことが可能なアーク集合を選択することである。
【００４２】
以下、図７に示した経路を入力する方法を例として説明する。尚、図７では太線のアークが移動可能経路を意味する。すなわち、仮想空間平面上で考えると、（０，０）から（０，２）の直線では高さ「０」だけを移動することができ、（０，１）から（２，１）の直線では、高さ「１」だけを移動することができ、（２，０）から（２，２）の直線では高さ「１」と「２」とを移動することができる経路の入力を例にとって説明する。
【００４３】
まず、ユーザによって２次元経路入力手段３を用いて、移動することが可能な経路として、高さを考えることなく、平面上で移動することができるアークが入力されると、２次元経路入力手段３は３次元仮想空間２から仮想空間のデータ（ノード、アーク、仮想空間平面の画像、仮想空間平面位置−仮想空間座標対応テーブル）をロードし、ユーザインタフェース一時記憶メモリ７に記憶する（２次元経路入力処理）（図６ステップＳ１）（図４参照）。
【００４４】
２次元経路入力手段３はユーザインタフェース一時記憶メモリ７を使って、図８に示す入力インタフェースの画面を表示する。但し、この入力インタフェースは一例であり、例えば、各ボタンの配置や全体のレイアウト等を変更しても構わない。
【００４５】
この入力インタフェースはモードボタンＡと、仮想空間平面Ｂ１とからなる。この入力インタフェースは２次元経路入力処理、２次元サブ経路分割処理、サブ経路３次元拡張処理、サブ経路結合処理でも用いられる。ユーザは各処理を行うために、モードの切換えを行う。
【００４６】
モードボタンＡは２Ｄ経路入力ボタンＡ１（２次元経路入力処理を行うモードへ遷移するボタン）と、グループ化ボタンＡ２（２次元サブ経路分割処理を行うモードへ遷移するボタン）と、３次元拡張ボタンＡ３（サブ経路３次元拡張処理を行うモードへ遷移するボタン）と、結合ボタンＡ４（サブ経路結合処理処理を行うモードへ遷移するボタン）とから構成されている。
【００４７】
２次元経路入力処理の場合、ユーザが「２次元経路入力ボタンＡ１」をクリックすると、２次元経路入力手段３は現在のモードが２次元経路入力モードであることをユーザインタフェース一時記憶メモリ７に記憶する。
【００４８】
一方、仮想空間平面Ｂ１は３次元仮想空間２から仮想空間平面の画像を得て、背景に描画される。図８に示す例では、塗りつぶした領域Ｂ２が建物を表している。また、座標Ｂ３は３次元仮想空間２から仮想空間平面位置−仮想空間座標対応テーブルを得て、仮想空間平面Ｂ１上に描画される。仮想空間Ｂ４は３次元仮想空間２からノードやアークを得て、仮想空間平面Ｂ１に重ね合わされる。
【００４９】
ユーザはアークをクリックすることで、移動することが可能な経路を、つまり高さを考えることなく、平面上で移動することができるアークを選択する。但し、この入力方法は一例であり、ノードをクリックして経路を選択してもよいし、始点と終点とのノードを選択すると、最短経路をシステムが自動的に選択するといった入力方法を用いても構わない。また、より使いやすいシステムにするには、選択されているアークを再クリックすると、選択が解除されるといった機能も現実には必要である。
【００５０】
選択されたアークはユーザインタフェース一時記憶メモリ７に記憶される。これはアークテーブルのフィールドに、ユーザが選択しているか、いないかを記憶するフィールドを追加すれば、簡単に実現することができる。
【００５１】
図７に示す例では、（０，０）から（０，２）の直線、（０，１）から（２，１）の直線、（２，０）から（２，２）の直線が、移動することができる経路なので、図９に示すように、それらの経路を入力する。但し、図９では太線で表現されたアークＣ１〜Ｃ６が入力された経路である。
【００５２】
入力が終了すると、次の作業である２次元サブ経路分割処理を行うために、ユーザはグループ化ボタンＡ２をクリックする。２次元経路入力手段３はユーザインタフェース一時記憶メモリ７に、現在のモードが２次元サブ経路分割モードであることを記憶する。この後、２次元経路入力手段３は２次元サブ経路分割手段４へ制御を移す。
【００５３】
２次元サブ経路分割手段４は制御が移ると、ステップＳ１で入力された経路を高さで分類する（２次元サブ経路分割処理）（図６ステップＳ２）。この場合、２次元サブ経路分割手段４はユーザインタフェース一時記憶メモリ７を参照することで、２次元経路入力手段３と同じユーザインタフェースを用いる。すなわち、ステップＳ１の入力がそのまま表示されている（図９参照）。但し、モードは２次元サブ経路分割モードである。
【００５４】
ユーザは平面で入力した各アークについて、どの高さの経路を作るかを考える。図７に示す経路を入力するためには、図９の（０，０）から（０，２）の経路は高さ「０」を移動することができ、（０，１）から（２，１）の経路は高さ「１」だけを移動することができ、（２，０）から（２，２）の経路は高さ「１」と「２」とを移動することができる必要がある。したがって、ユーザは（０，０）から（０，２）の経路、（０，１）から（２，１）の経路、（２，０）から（２，２）の経路の３つのサブ経路に分割する。
【００５５】
具体的な操作は、同じサブ経路のアークを順にクリックしていき、「３次元拡張ボタンＡ３」をクリックすると、そのサブ経路のアークの入力を終了する。また、２次元サブ経路分割手段４は選択したアークをわかりやすくするために、線種を変えて表示する。
【００５６】
これらの操作方法や表示方法は一例である。例えば、選択したアークをわかりやすくするために線の色を変更しても構わないし、効率的にアークを選択するために、より広い領域をマウスで選択すると、その領域に含まれる複数のアークが自動的に選択されるといったユーザインタフェースを実装しても構わない。
【００５７】
図１０は（２，０）から（２，２）のサブ経路を入力した際の画面例である。ユーザはアークＡＫ［（２，０，０）−（２，１，０）］Ｄ１、アークＡＫ［（２，１，０）−（２，２，０）］Ｄ２をクリックする。
【００５８】
ユーザはこのサブ経路の入力を終えたので、「３次元拡張ボタンＡ３」をクリックする。ユーザが「３次元拡張ボタンＡ３」をクリックすると、２次元サブ経路分割手段４は今、グルーピングしたアークをユーザインタフェース一時記憶メモリ７に記憶する。これはアークテーブルのフィールドに、ユーザがグルーピングしているか、いないかを記憶するフィールドを追加すれば簡単に実現することができる。
【００５９】
また、２次元サブ経路分割手段４は現在のモードがサブ経路３次元拡張モードであることをユーザインタフェース一時記憶メモリ７に記憶する。その後に、２次元サブ経路分割手段４はサブ経路３次元拡張手段５へ制御を移す。
【００６０】
サブ経路３次元拡張手段５は制御が移ると、ステップＳ２で入力されたサブ経路に高さの条件をセットし、３次元サブ経路を生成する（サブ経路３次元拡張処理）（図６ステップＳ３）。まず、サブ経路３次元拡張手段５はユーザインタフェース一時記憶メモリ７を参照することで、２次元経路入力手段３や２次元サブ経路分割手段４と同じユーザインタフェースを表示する。すなわち、ステップＳ２の入力がそのまま表示される。但し、モードはサブ経路３次元拡張モードである。
【００６１】
さらに、サブ経路３次元拡張手段５はこのユーザインタフェースに、高さの条件を入力するメニューＥを表示する（図１１参照）。このメニューＥは高さの条件入力フィールドＥ１と、拡張開始ボタンＥ２とから構成されている。
【００６２】
高さの条件入力フィールドＥ１には階層数とチェックボックスとの組がリスト表示されており、ユーザはチェックボックスをチェックすることで、高さの条件を入力する。
【００６３】
拡張開始ボタンＥ２はユーザが高さの条件を入力した後にクリックされるボタンである。サブ経路３次元拡張手段５はこの拡張開始ボタンＥ２がクリックされることをきっかけに、サブ経路を３次元に拡張する。但し、このユーザインタフェースは一例であり、例えば階層数をキーボードからテキストで入力するインタフェースにしても構わない。
【００６４】
まず、ユーザは現在選択されているサブ経路の高さを入力する。この例の場合、１階層と２階層とを移動することができるようにしたいのであるから、図１１に示すように、１階層及び２階層のチェックボックスをチェックする。
【００６５】
ユーザは高さの条件をすべて入力し終えると、「拡張開始ボタンＥ２」をクリックする。ユーザが「拡張開始ボタンＥ２」をクリックすると、サブ経路３次元拡張手段５は高さの条件にしたがって移動可能な経路のアーク集合を計算する。この計算の方法について、図１２を参照して説明する。
【００６６】
サブ経路３次元拡張手段５はサブ経路に含まれるアークすべてについて、ユーザがセットした高さのアーク集合に変換する（条件の高さのアーク集合を作成）（図１２ステップＳ１１）。
【００６７】
すなわち、アーク集合｛ＡＫ（２，０，０）−（２，１，０），ＡＫ（２，１，０）−（２，２，０）｝を、階層数１，２のアーク集合に変換すると、｛ＡＫ（２，０，１）−（２，１、１），ＡＫ（２，１，１）−（２，２、１），ＡＫ（２，０，２）−（２，１，２），ＡＫ（２，１，２）−（２，２，２）｝というアーク集合になる。
【００６８】
これを図示すると、図１３に示す太線のアークが選択されたことを意味する。また、選択されたアークの両端のノードを選択ノードと呼び、図１３では塗りつぶして表示している。
【００６９】
サブ経路３次元拡張手段５は選択ノードのうちのまだ処理していないノードをひとつ選択する（あるひとつのアークに注目）（図１２ステップＳ１２）。この時、選択されたノードを注目ノードと呼ぶ。
【００７０】
サブ経路３次元拡張手段５は注目ノードについて、注目ノードの階層以外にある選択ノードの階層へ接続するアークを検索する（注目ノードの階層以外の階層へ接続）（図１２ステップＳ１３）。これは各ノード間の距離を一定値とて、最短距離を求めれば良い。例えば、ノードＮＤ（２，０，１）が２階層のノードへ接続する場合、アークＡＫ（２，０，１）−（２，０，２）で接続する。
【００７１】
サブ経路３次元拡張手段５はこの処理を各ノード毎に、そのノードの階層以外の階層すべてに対して行い、未処理のノードがあるかチェックし、ノードがあればステップＳ１２へ戻り、ノードがなければ処理を終了する（未処理のノードがあるかチェック）（図１２ステップＳ１４）。これらステップＳ１２〜ステップＳ１４の処理はすべての選択ノードに対して実行する処理である。
【００７２】
以上の処理動作にしたがって、図１３に示す移動可能な経路のアーク集合を計算すると、
｛ＡＫ（２，０，１）−（２，１，１），ＡＫ（２，１，１）−（２，２，１），ＡＫ（２，０，２）−（２，１，２），ＡＫ（２，１，２）−（２，２，２），ＡＫ（２，０，１）−（２，０，２），ＡＫ（２，１，１）−（２，１，２），ＡＫ（２，２，１）−（２，２，２）｝
というアーク集合になる。これを図示すると、図１４に示す太線のアークが選択されたことを意味する。
【００７３】
上記の処理動作はサブ経路３次元拡張手段５が処理する高さの条件にしたがって移動可能な経路のアーク集合を計算する方法の一例である。このアーク集合を計算する方法の別の方法としては、例えば、図１７に示すように、両端で高さが異なるすべてのアークの中から、ステップＳ１１で作成したアーク集合（図１３参照）を接続しているアークだけを残すことで、図１４に示す結果を得ることができる。
【００７４】
サブ経路３次元拡張手段５はこの結果である３次元サブ経路をサブ経路一時記憶手段８に記憶する。本実施例では直感的にわかりやすくするために、図１４に示すように、図で説明しているが、計算機で実装する際には、すでに説明した３次元仮想空間２の実装方法と同様に、アークとノードとをリレーショナルデータベースのテーブルで表現すれば［図３（ａ），（ｂ）参照］、簡単に実装することができる。
【００７５】
さらに、サブ経路３次元拡張手段５は現在のモードがサブ経路３次元拡張モードであることをユーザインタフェース一時記憶メモリ７に記憶し、ステップＳ２でユーザが選択したアークの選択を解除する（図４参照）。
【００７６】
ユーザはさらに別の３次元サブ経路を作る場合、ステップＳ３に戻り、その必要がなければ、作成した３次元サブ経路をつなげる処理を行うために、「結合ボタンＡ４」をクリックする（他の３次元サブ経路をつくるかチェック）（図６ステップＳ４）。「結合ボタンＡ４」がクリックされると、サブ経路３次元拡張手段５はサブ経路結合処理を行うためにサブ経路結合手段６へ制御を移す。
【００７７】
上述した例の場合、現在、（２，０）から（２，２）の経路において高さ「１」と「２」とを移動することができるように処理を行っている。さらに、（０，１）から（２，１）の経路において高さ「１」を移動することができる設定を、（０，０）から（０，２）の経路において高さ「０」を移動することができる設定をそれぞれ行う必要があるため、あと２回、ステップＳ３へ戻って、サブ経路３次元拡張処理を行った後、ステップＳ５へと進むことになる。
【００７８】
３つの３次元サブ経路を作成した後のサブ経路一時記憶手段８の例を図１５に示す。図１５において、３次元サブ経路Ｆ１は（０，０）から（０，２）の経路を高さ「０」で３次元拡張した例を、３次元サブ経路Ｆ２は（０，１）から（２，１）の経路を高さ「１」で３次元拡張した例を、３次元サブ経路Ｆ３は（２，０）から（２，２）の経路を高さ「１」と「２」とで３次元拡張した例をそれぞれ示している。
【００７９】
サブ経路結合手段６は制御が移されると、作成した３次元サブ経路の結合処理を行う（サブ経路結合処理）（図６ステップＳ５）。
【００８０】
上述した例では、最終的に図７に示す経路を入力することが目的であるが、現状では図１５に示す経路が入力されている。すなわち、ＡＫ（０，１，０）−（０，１，１）が入力されていない。これは、ステップＳ１において、平面で入力したために、アークＡＫ（０，１，０）−（０，１，１）に対するアークを入力することができないためである。これは平面で考えた場合、アークＡＫ（０，１，０）−（０，１，１）がなくなってしまうためである。
【００８１】
サブ経路結合手段６は上記のようなアークを自動的に生成するために、図１６に示す３次元サブ経路の結合処理を行う。まず、サブ経路結合手段６はすべてのアーク集合の中から、垂直方向のアークだけの集合を作成する（垂直アーク集合を作成）（図１６ステップＳ２１）。
【００８２】
この場合、サブ経路結合手段６はノードを共有している垂直方向のアーク同士を接続してひとつの長いアーク（以下、垂直アークとする）として扱う。例えば、図７の仮想空間の場合、垂直方向のアークは、
｛ＡＫ（０，０，０）−（０，０，１），ＡＫ（０，０，１）−（０，０，２），ＡＫ（０，１，０）−（０，１，１），ＡＫ（０，１，１）−（０，１，２），ＡＫ（０，２，０）−（０，２，１），ＡＫ（０，２，１）−（０，２，２），ＡＫ（１，０，０）−（１，０，１），ＡＫ（１，０，１）−（１，０，２），ＡＫ（１，１，０）−（１，１，１），ＡＫ（１，１，１）−（１，１，２），ＡＫ（１，２，０）−（１，２，１），ＡＫ（１，２，１）−（１，２，２），ＡＫ（２，０，０）−（２，０，１），ＡＫ（２，０，１）−（２，０，２），ＡＫ（２，１，０）−（２，１，１），ＡＫ（２，１，１）−（２，１，２），ＡＫ（２，２，０）−（２，２，１），ＡＫ（２，２，１）−（２，２，２）｝
である。
【００８３】
また、これらを接続した垂直アーク集合は、
｛ＡＫ（０，０，０）−（０，０，２），ＡＫ（０，１，０）−（０，１，２），ＡＫ（０，２，０）−（０，２，２），ＡＫ（１，０，０）−（１，０，２），ＡＫ（１，１，０）−（１，１，２），ＡＫ（１，２，０）−（１，２，２），ＡＫ（２，０，０）−（２，０，２），ＡＫ（２，１，０）−（２，１，２），ＡＫ（２，２，０）−（２，２，２）｝
となる。これらを図１７に示す。
【００８４】
サブ経路結合手段６は垂直アークの中から、３次元サブ経路間をつないでいる垂直アークのみを選別する（３次元サブ経路間をつなぐ垂直アークだけを選別）（図１６ステップＳ２２）。
【００８５】
この選別処理の結果は、図１８に示すように、アークＡＫ（０，１，０）−（０，１，２）が３次元サブ経路Ｆ１と３次元サブ経路Ｆ２とを接続し、アークＡＫ（２，１，０）−（２，１，２）が３次元サブ経路Ｆ２と３次元サブ経路Ｆ３とを接続しているので、｛ＡＫ（０，１，０）−（０，１，２），ＡＫ（２，１，０）−（２，１，２）｝だけを残す。
【００８６】
サブ経路結合手段６は残っている垂直アークの中で、３次元サブ経路間をつないでいるアークだけを残す（経路として入力されていないアークのみ残す）（図１６ステップＳ２３）。
【００８７】
アークＡＫ（０，１，０）−（０，１，２）の場合、アークＡＫ（０，１，０）−（０，１，１）の部分が３次元サブ経路Ｆ１と３次元サブ経路Ｆ２とをつないでいる。また、アークＡＫ（２，１，０）−（２，１，２）の場合、アークＡＫ（２，１，１）−（２，１，２）の部分が３次元サブ経路Ｆ２と３次元サブ経路Ｆ３とをつないでいる。したがって、この例の場合、｛ＡＫ（０，１，０）−（０，１，１），ＡＫ（２，１，１）−（２，１，２）｝というアークが残る。
【００８８】
次に、残ったアークの中から３次元サブ経路にも含まれていないアークのみを選別する。上記の例の場合、アークＡＫ（２，１，１）−（２，１，２）は３次元サブ経路に含まれているので除かれ、結局、｛ＡＫ（０，１，０）−（０，１，１）｝というアークが残る。
【００８９】
サブ経路結合手段６は残ったアークをユーザへ表示し、このアークを経路に含めるかどうかを問合わせる（ユーザへ問合わせる）（図１６ステップＳ２４）。図１９の場合、追加するアークは矢印Ｇ１とチェックボックスＧ２とが表示されており、ユーザは追加する場合にチェックボックスＧ２をチェックし、追加しない場合にチェックボックスＧ２のチェックをはずす。この例の場合、ユーザはチェックしたままにすれば、図７に示す経路が完成する。
【００９０】
サブ経路結合手段６は完成した経路を３次元経路データベース９への書込み処理を行って、処理を終了する。３次元経路データベース９の実現方法としては、３次元仮想空間２と同様に、アークとノードとをリレーショナルデータベースのテーブルで表現し、経路のノードであるかどうかを記憶するフィールドを追加すればよい。
【００９１】
すなわち、３次元経路データベース９は「ノード名」フィールド及び「仮想空間の座標」フィールドからなるノードテーブル（ノードの集合を記述するテーブル）と、「アーク名」フィールドと「両端のアーク」フィールドと「経路として選択されているかを意味するフラグ」のフィールドとからなるアークテーブル（アークの集合を記述するテーブル）とによって構成すれば、容易に実装することができる［図５（ａ），（ｂ）参照］。
【００９２】
上述したサブ経路結合手段６によるサブ経路結合処理は一例であり、サブ経路結合処理の別の方法としては、例えばステップＳ２２，Ｓ２３の処理を入れ替えても構わない。すなわち、垂直アーク集合の中から、先にすでに経路として入力されているアークを取り除き、この処理の後に、サブ経路間をつないでいるアークのみを残すように処理しても構わない。
【００９３】
このように、本実施例では、ユーザが仮想的に移動ことが可能な経路を高さを考えることなく、平面上で入力する２次元経路入力手段３と、２次元経路入力手段３で入力した経路データにおいてユーザが同じ高さまで移動することができる部分経路をグルーピングすることで、その経路をサブ経路に分割する２次元サブ経路分割手段４と、２次元サブ経路分割手段４によってグルーピングされたサブ経路毎に高さ方向の移動を設定することで３次元のサブ経路を作成するサブ経路３次元拡張手段５と、複数の３次元サブ経路を接続するサブ経路結合手段６とを設けることによって、ユーザが２次元経路入力手段３を使って３次元的な操作をすることなく、平面的に経路を入力することができるので、簡単に３次元経路を設定・入力することができる。
【００９４】
また、サブ経路３次元拡張手段５が縦方向の経路に関して自動的に３次元サブ経路を選択したり、サブ経路結合手段６が平面的に入力したことが原因で分離してしまった３次元サブ経路を自動的に接続したりすることで、制作者やユーザが簡単に３次元経路を入力することができる。
【００９５】
図２０は本発明の他の実施例による３次元経路入力装置の構成を示すブロック図である。図２０において、本発明の他の実施例による３次元経路入力装置１１は３次元拡張制約生成手段１２と高さ条件データベース１３とを加えた以外は、図１に示す本発明の一実施例による３次元経路入力装置と同様の構成となっており、同一構成要素には同一符号を付してある。また、同一構成要素の動作は本発明の一実施例による３次元経路入力装置と同様である。
【００９６】
高さ条件データベース１３は３次元仮想空間２内で経路を選択することが可能な高さの範囲に関するデータベースであり、３次元拡張制約生成手段１２は高さ条件データベース１３のデータと３次元仮想空間２のデータとからサブ経路を３次元に拡張可能な範囲を計算する。
【００９７】
本発明の一実施例による３次元経路入力装置１では、３次元仮想空間２の内のすべてのアークを経路に設定することが可能であったのに対し、本発明の他の実施例による３次元経路入力装置１１では、３次元仮想空間２のあるエリアで高さの制限がある場合にもユーザが経路入力を簡単に行えるようにしている。
【００９８】
実際に、高さの制限があるといった状況は、第１の従来技術のように、実際の街を３次元で再現した仮想空間を扱う場合に生じることがあり、その場合には標高や建物の高さに応じて移動経路を設定する必要がある。例えば、山間部は高い位置だけ経路に設定し、あるいは道路は０階層、このビルの中は１０階層まで経路が設定できるといったことを簡単に行えるようにする必要がある。
【００９９】
図２１は本発明の他の実施例による３次元経路入力装置１１の動作を示すフローチャートであり、図２２は図２０の３次元拡張制約生成手段１２による３次元拡張制約生成処理の動作を示すフローチャートであり、図２３は図２０の高さ条件データベース１３の構成例を示す図であり、図２４は本発明の他の実施例による３次元経路入力装置のユーザインタフェースを示す図である。
【０１００】
これら図２０〜図２４を参照して、実際の街を３次元で再現した仮想空間で扱う場合を前提に、本発明の他の実施例による３次元経路入力装置の動作について説明する。尚、図２１において、ステップＳ３１，Ｓ３２は図６のステップＳ１，Ｓ２の処理動作と同様なので、その処理動作の説明については省略する。また、図２１及び図２２に示す処理は２次元経路入力手段３と２次元サブ経路分割手段４とサブ経路３次元拡張手段５とサブ経路結合手段６と３次元拡張制約生成手段１２とを実現するためのコンピュータ（図示せず）が記録媒体１４に格納されたプログラムを実行することで実現される。
【０１０１】
ステップＳ３２の処理が終了すると、サブ経路３次元拡張手段５は３次元拡張制約生成手段１２に対して３次元拡張制約生成処理を依頼する。その際、サブ経路３次元拡張手段５は現在選択されているサブ経路データを３次元拡張制約生成手段１２に送る。図１０に示す例の場合、｛ＡＫ（２，０，０）−（２、１，０），ＡＫ（２，１，０）−（２，２，０）｝を送る。
【０１０２】
３次元拡張制約生成手段１２は高さ条件データベース１３に記憶されている、３次元仮想空間２内で経路を選択することが可能な高さの範囲に関するデータを参照しながら、送られてきたサブ経路の３次元に拡張可能な範囲を計算する（３次元拡張制約生成処理）（図２１ステップＳ３３）。このステップＳ３３で行う３次元拡張制約生成手段１２の処理の詳細を図２２に示す。
【０１０３】
高さ条件データベース１３はｘ座標、ｙ座標、高さ下限、高さ上限のフィールドからなるデータである。例えば、地図メーカが発行している標高データには、地表の高さが緯度、経度毎に記述されているので、これを３次元仮想空間２の座標系に変換しておけば良い。但し、この場合、高さの下限は座標系を変換した標高データであるが、高さの上限は３次元仮想空間２のモデルの高さの単位に変換しておく。高さ条件データベース１３の構成例を図２３に示す。
【０１０４】
３次元拡張制約生成手段１２はサブ経路３次元拡張手段５からサブ経路を受取る（サブ経路を受取る）（図２２ステップＳ４１）。この例の場合、｛ＡＫ（２，０，０）−（２，１，０），ＡＫ（２，１，０）−（２，２，０）｝を受取る。
【０１０５】
３次元拡張制約生成手段１２は３次元仮想空間２のアークテーブル、ノードテーブルを使って、送られてきたサブ経路のアークの両端のノードの座標を調べる（サブ経路に含まれるノードを得る）（図２２ステップＳ４２）。
【０１０６】
図１０に示す例の場合、アークＡＫ（２，０，０）−（２，１，０）の両端のノードは、ノードＮＤ（２，０，０）とノードＮＤ（２，１，０）であり、これらの座標はそれぞれ（２，０）及び（２，１）である。同様に、アークＡＫ（２，１，０）−（２，２，０）の両端ノードの座標は（２，１）及び（２，２）である。
【０１０７】
３次元拡張制約生成手段１２はこれらノードの座標の高さを高さ条件データベース１０から求める（ノードの高さを求める）（図２２ステップＳ４３）。図２３に示す高さ条件データベース１３の場合、（２，０），（２，１），（２，１），（２，２）の高さの下限はそれぞれ「１」，「１」，「１」，「０」であり、高さの上限は「２」，「２」，「２」，「２」である。
【０１０８】
３次元拡張制約生成手段１２はノードの高さの下限の最大値をサブ経路の高さ下限とし、ノードの高さの上限の最小値をサブ経路の高さ上限とする（サブ経路の高さを求める）（図２２ステップＳ４４）。この例の場合、高さの下限は「１」、高さの上限は「２」となる。
【０１０９】
３次元拡張制約生成手段１２はサブ経路３次元拡張手段５へ上記の処理の結果を返し（結果を返す）（図２２ステップＳ４５）、処理を終了する。この場合、処理結果のフォーマットはカンマで区切ったフォーマット、つまり｛アーク１，アーク２，・・・，サブ経路の高さの下限，サブ経路の高さの上限｝というフォーマットでよい。この例の場合、処理結果は｛ＡＫ（２，０，０）−（２，１，０），ＡＫ（２，１，０）−（２，２，０），１，２｝となる。
【０１１０】
上述した３次元拡張制約生成手段１２が行う３次元拡張制約生成処理は一例であり、ステップＳ４１で受取ったサブ経路の集合に含まれるアークに対してステップＳ４２〜Ｓ４４の処理を行っているが、別の手法として、先に全てのアークに対してステップＳ４２〜Ｓ４４の処理を行うことで、高さの条件にあったアーク集合を作成し、この集合とステップＳ４１で受取ったサブ経路の集合との論理積をとることで求めても構わない。
【０１１１】
サブ経路３次元拡張手段５は高さの条件を入力フィールドＥ１を表示する際に、３次元拡張制約生成手段１２から返ってきたサブ経路の高さの下限から上限の範囲の値だけを入力することができるように表示する。
【０１１２】
このユーザインタフェースの例を図２４に示す。図２４においてはサブ経路の高さの制限が１階層から２階層であるから、１階層と２階層の入力を許可している。このようにすることで、ユーザは高さの制約にしたがった高さの設定を行うことができる。但し、このユーザインタフェースは一例であり、例えば入力不可能な階層も含めてすべての階層を表示し、各階層の横に「入力可能」あるいは「入力不可能」と表示しても構わない。
【０１１３】
このように、本実施例では、３次元仮想空間内で経路を選択することが可能な高さの範囲に関するデータベースである高さ条件データベース１３と、高さ条件データベース１３のデータと３次元仮想空間２のデータとからサブ経路を３次元に拡張可能な範囲を計算する３次元拡張制約生成手段１２とを追加することで、３次元仮想空間２のあるエリアで高さの制限がある場合にも、制作者やユーザは３次元経路の設定・入力を簡単に行うことができる。
【０１１４】
図２５は本発明の別の実施例による３次元経路入力装置の構成を示すブロック図である。図２５において、本発明の別の実施例による３次元経路入力装置１５は３次元仮想空間２と、ユーザインタフェース一時記憶メモリ７と、３次元経路データベース９と、経路統合・補完手段１６と、記録媒体１７と、高さ別２次元経路入力手段２０とから構成されている。
【０１１５】
３次元仮想空間２は図示せぬ計算機によって仮想的に生成された３次元仮想空間のデータであり、経路統合・補完手段１６は高さ別２次元経路入力手段２０から入力された複数の経路を統合・補完することで、３次元経路を生成する。３次元経路データベース９は経路統合・補完手段１６が生成した３次元経路を保存する。ユーザインタフェース一時記憶メモリ７は高さ別２次元経路入力手段２０がユーザインタフェースに必要な一時的な情報を記憶しておく。
【０１１６】
高さ別２次元経路入力手段２０はユーザからの複数の高さ毎に移動可能な３次元経路を入力し、各高さ毎に経路を入力する各階経路入力手段２１と、各階経路入力手段２１が入力した経路を一時的に記憶しておく各階経路一時記憶手段２２とから構成されている。
【０１１７】
経路統合・補完手段１６及び高さ別２次元経路入力手段２０の各階経路入力手段２１は図示せぬコンピュータが記録媒体１７に格納されたプログラムを実行することで実現される。
【０１１８】
図２６は本発明の別の実施例による３次元経路入力装置１５の動作を示すフローチャートであり、図２７及び図２８は本発明の別の実施例による３次元経路入力装置１５のユーザインタフェースを示す図であり、図２９は本発明の別の実施例による３次元経路入力装置１５の高さ経路結合処理を示すフローチャートである。
【０１１９】
これら図２５〜図２９を参照して本発明の別の実施例による３次元経路入力装置１５の動作について説明する。尚、図２６及び図２９に示す処理はコンピュータが記録媒体１７に格納されたプログラムを実行することで実現される。
【０１２０】
高さ別２次元経路入力手段２０は、ユーザが複数の高さ毎に移動可能な３次元経路を入力する（高さ別２次元経路入力処理）（図２６ステップＳ５１）。本発明の一実施例では２次元経路入力手段３がすべての経路を平面に射影して入力しているのに対し、本実施例では各階経路入力手段２１が各階層毎に経路を入力する。
【０１２１】
この入力インタフェースは、図２７に示すように、仮想空間平面Ｂ１と、座標Ｂ３と、仮想空間Ｂ４と、階数入力領域Ｈ１（ユーザが経路を入力する階層を選択するフィールド）と、結合・補完ボタンＨ２（ユーザが高さ毎の経路入力作業が終了したことをシステムに伝え、次のステップへ移るためのボタン）とからなる。また、塗りつぶした領域Ｂ２は建物を表している。
【０１２２】
階数入力領域Ｈ１は一度に一つの高さしか選択できないようにしておく。本実施例ではユーザが高さ毎に経路を入力するが、その方法はユーザが経路を入力する階層をこのフィールドから選択し、本発明の一実施例と同様の操作で経路を入力する。
【０１２３】
ユーザが高さを切換えると、高さ別２次元経路入力手段２０は入力された経路を各階経路一時記憶手段２２へ記憶する。ユーザが結合・補完ボタンＨ２を押すと、入力された経路を各階経路一時記憶手段２２へ記憶し、次のステップへと移る。図４に示す例の場合、図２８（ａ）〜（ｃ）に示す入力手順となる。
【０１２４】
各階経路一時記憶手段２２はユーザが選択したアーク（以下、選択アークとする）の集合を３次元仮想空間２のアークテーブルと同様のテーブルで記憶すれば良い［図３（ａ），（ｂ）参照］。この例の場合、
｛ＡＫ（０，０，０）−（０，１，０），ＡＫ（０，１，０）−（０，２，０），ＡＫ（０，１，１）−（１，１，１），ＡＫ（１，１，１）−（２，１，１），ＡＫ（２，０，１）−（２，１，１），ＡＫ（２，１，１）−（２，２，１），ＡＫ（２，０，２）−（２，１，２），ＡＫ（２，１，２）−（２，２，２）｝
という８つの選択アークのレコードからなる。
【０１２５】
経路統合・補完手段１６はステップＳ５１で入力された複数の経路を統合・補完することで、３次元経路を生成する（高さ別経路結合処理）（図２６ステップＳ５２）。この処理の詳細を図２９に示す。
【０１２６】
経路統合・補完手段１６はすべての選択アークの両端のノード集合（以下、選択ノード集合とする）の中から、まだ以下のステップの処理をしていないノードをひとつ選択する（ノードを選択）（図２９ステップＳ６１）。この選択したノードをカレントノードと呼ぶ。
【０１２７】
この例の場合、選択ノード集合は、
｛ＮＤ（０，０，０），ＮＤ（０，１，０），ＮＤ（０，２，０），ＮＤ（０，１，１），ＮＤ（１，１，１），ＮＤ（２，１，１），ＮＤ（２，０，１），ＮＤ（２，１，１），ＮＤ（２，２，１），ＮＤ（２，０，２），ＮＤ（２，１，２），ＮＤ（２，２，２）｝
であり、以下、カレントノードとしてノードＮＤ（０，１，０）を選択した場合について説明する。
【０１２８】
経路統合・補完手段１６はカレントノードと同じ位置で、高さの異なるノードを選択ノード集合から選び出す（同じ位置での高さの異なるノード集合を検索）（図２９ステップＳ６２）。カレントノードがノードＮＤ（０，１，０）の場合、位置は（０，１）であるので、同じ位置で高さの異なるノードＮＤ（０，１，１）が選び出される。
【０１２９】
経路統合・補完手段１６はステップＳ６２で選択されたノードの中から、カレントノードの高さより高いノードだけを選び出す（上方向で最も近いノードへ接続）（図２９ステップＳ６３）。
【０１３０】
次に、経路統合・補完手段１６はその中からカレントノードに最も近いノードを選択し、カレントノードと最短距離で接続する。この接続に使われるアークを接続アークと呼ぶ。この例の場合、ノードＮＤ（０，１，０）より高い位置にあるノードはノードＮＤ（０，１，１）であるので、ノードＮＤ（０，１，０）とノードＮＤ（０，１，１）とを接続するアークＡＫ（０，１，０）―（０，１，１）が接続アークである。ここで、カレントノードに接続されるノードは、一つのアークで接続されるとは限らない。
【０１３１】
図２８に示す例とは異なるが、カレントノードＮＤ（０，１，０）の上方向で最も近いノードがノードＮＤ（０，１，２）の場合には、｛ＡＫ（０，１，０）−（０，１，１），ＡＫ（０，１，１）−（０，１，２）｝という２本のアークで接続する。
【０１３２】
経路統合・補完手段１６はステップＳ６３と同様の方法で、カレントノードより高さの低いノードだけを接続する（下方向で最も近いノードへ接続）（図２９ステップＳ６４）。この例の場合、ノードＮＤ（０，１，０）より高さの低い位置にあるノードはないので、なにも接続されない。
【０１３３】
経路統合・補完手段１６はすべての選択ノードを処理すればステップＳ６６へ処理を進め、そうでなければステップＳ６１へ戻る（処理していないノードが存在するかチェック）（図２９ステップＳ６５）。
【０１３４】
経路統合・補完手段１６はすべての選択アークと、ステップＳ６３及びステップＳ６４で接続されたアークを３次元経路データベース９へ記録する（結果を記憶）（図２９ステップＳ６６）。
【０１３５】
この例の場合、
｛ＡＫ（０，０，０）−（０，１，０），ＡＫ（０，１，０）−（０，２，０），ＡＫ（０，１，１）−（１，１，１），ＡＫ（１，１，１）−（２，１，１），ＡＫ（２，０，１）−（２，１，１），ＡＫ（２，１，１）−（２，２，１），ＡＫ（２，０，２）−（２，１，２），ＡＫ（２，１，２）−（２，２，２）｝
という選択アークに加えて、
｛ＡＫ（０，１，０）−（０，１，１），ＡＫ（２，０，１）−（２，０，２），ＡＫ（２，１，１）−（２，１，２），ＡＫ（２，２，１）−（２，２，２）｝
という接続アークを３次元経路データベース９に記憶する。
【０１３６】
以上で、図２６に示す処理及び図２９に示す処理を終了する。但し、これらの処理は一例であり、例えば図２９に示す処理では、ノードＮＤ（０，１，０）の上方向の接続及びノードＮＤ（０，１，１）の下方向の接続はともに、アークＡＫ（０，１，０）−（０，１，１）で接続しているので、処理が重複することとなり、非効率である。これに対し、ステップＳ６３及びステップＳ６４でこういった重複をチェックすることで、より効率的に処理しても構わない。
【０１３７】
以上のように、ユーザが複数の高さ毎に移動可能な３次元経路を入力する高さ別２次元経路入力手段２０と、高さ別２次元経路入力手段２０で入力された複数の経路を統合・補完することで３次元経路を生成する経路統合・補完手段１６とを設けることで、制作者やユーザがより簡単に３次元経路の設定・入力を行うことができる。
【０１３８】
図３０は本発明の各実施例を説明するための３次元仮想空間の別の具体例を示す図である。図３０では、地図上において、ノードを交差点に、アークを道路にというような対応付けを行って３次元仮想空間が組まれている。このようにすることで、３次元仮想空間を用いて空中遊覧を行うような場合、道路上にて垂直方向に移動して視点を変えるようなこと、つまり空中遊覧を行っているユーザが道路上で見る位置を高さ方向に変えることができる。
【０１３９】
このように、本発明では、ユーザが仮想的に移動することが可能な経路を、高さを考えることなく、平面上で入力する２次元経路入力手段３と、２次元経路入力手段３で入力した経路データにおいてユーザが同じ高さまで移動することができる部分経路をグルーピングすることで経路をサブ経路に分割する２次元サブ経路分割手段４と、２次元サブ経路分割手段４によってグルーピングされたサブ経路毎に高さ方向の移動を設定することで３次元のサブ経路を作成するサブ経路３次元拡張手段５と、複数の３次元経路を接続するサブ経路結合手段６とを構成に持つことで、以下のような効果を奏する。
【０１４０】
つまり、ユーザは２次元経路入力手段３を使って３次元的な操作をすることなく、平面的に経路を入力することができるので、３次元経路の設定・入力を簡単に行うことができる。
【０１４１】
また、サブ経路３次元拡張手段５が縦方向の経路に関して自動的に経路を選択し、サブ経路結合手段６が平面的に入力したことが原因で分離してしまった経路を自動的に接続することで、制作者やユーザが３次元経路の設定・入力を簡単に行うことができる。
【０１４２】
さらに、３次元仮想空間２内で経路を選択することが可能な高さの範囲に関するデータベースである高さ条件データベース１３と、高さ条件データベース１３のデータと３次元仮想空間２のデータとからサブ経路を３次元に拡張可能な範囲を計算する３次元拡張制約生成手段１２とを構成に持つことで、３次元仮想空間２のあるエリアで高さの制限がある場合にも、制作者やユーザが３次元経路の設定・入力を簡単に行うことができる。
【０１４３】
さらにまた、ユーザが複数の高さ毎に移動可能な３次元経路を入力する高さ別２次元経路入力手段２０と、高さ別２次元経路入力手段２０から入力された複数の経路を統合・補完することで３次元経路を生成する経路統合・補完手段１６とを構成に持つことで、制作者やユーザが３次元経路の設定・入力を簡単に行うことができる。
【０１４４】
【発明の効果】
以上説明したように本発明は、３次元仮想空間内をユーザが仮想的に移動することが可能な３次元経路を入力する３次元経路入力装置において、３次元仮想空間を射影した２次元平面上にて指定された経路を入力し、２次元平面上の経路を複数のグループに分割してサブ経路を生成し、複数のグループに分割されたサブ経路を基にそのグループ単位に指定された高さ方向の移動の設定に応じて３次元のサブ経路を作成し、その作成された３次元のサブ経路を基に３次元経路を生成することによって、制作者やユーザが３次元経路を簡単に設定・入力することができるという効果が得られる。
【図面の簡単な説明】
【図１】本発明の一実施例による３次元経路入力装置の構成を示すブロック図である。
【図２】図１の３次元仮想空間の具体例を示す図である。
【図３】（ａ）〜（ｃ）は図２に示す３次元仮想空間を計算機で実現する際のテーブル構成を示す図である。
【図４】図４は図１のユーザインタフェース一時記憶メモリの構成を示す図である。
【図５】（ａ），（ｂ）は図５は図１の３次元経路データベースの構成を示す図である。
【図６】本発明の一実施例による３次元経路入力装置の動作を示すフローチャートである。
【図７】図１の３次元仮想空間の他の具体例を示す図である。
【図８】本発明の一実施例による３次元経路入力装置のユーザインタフェースを示す図である。
【図９】本発明の一実施例による３次元経路入力装置のユーザインタフェースを示す図である。
【図１０】本発明の一実施例による３次元経路入力装置のユーザインタフェースを示す図である。
【図１１】本発明の一実施例による３次元経路入力装置のユーザインタフェースを示す図である。
【図１２】図１のサブ経路３次元拡張手段によるサブ経路３次元拡張処理を示すフローチャートである。
【図１３】図１のサブ経路３次元拡張手段によるサブ経路３次元拡張処理を説明するための図である。
【図１４】図１のサブ経路３次元拡張手段によるサブ経路３次元拡張処理を説明するための図である。
【図１５】図１のサブ経路３次元拡張手段によるサブ経路３次元拡張処理を説明するための図である。
【図１６】図１のサブ経路結合手段によるサブ経路結合処理を示すフローチャートである。
【図１７】図１のサブ経路結合手段によるサブ経路結合処理を説明するための図である。
【図１８】図１のサブ経路結合手段によるサブ経路結合処理を説明するための図である。
【図１９】図１のサブ経路結合手段によるサブ経路結合処理を説明するための図である。
【図２０】本発明の他の実施例による３次元経路入力装置の構成を示すブロック図である。
【図２１】本発明の他の実施例による３次元経路入力装置の動作を示すフローチャートである。
【図２２】図１７の３次元拡張制約生成手段による３次元拡張制約生成処理の動作を示すフローチャートである。
【図２３】図１７の高さ条件データベースの構成例を示す図である。
【図２４】本発明の他の実施例による３次元経路入力装置のユーザインタフェースを示す図である。
【図２５】本発明の別の実施例による３次元経路入力装置の構成を示すブロック図である。
【図２６】本発明の別の実施例による３次元経路入力装置の動作を示すフローチャートである。
【図２７】本発明の別の実施例による３次元経路入力装置のユーザインタフェースを示す図である。
【図２８】（ａ）〜（ｃ）は本発明の別の実施例による３次元経路入力装置のユーザインタフェースを示す図である。
【図２９】本発明の別の実施例による３次元経路入力装置の高さ経路結合処理を示すフローチャートである。
【図３０】本発明の各実施例を説明するための３次元仮想空間の別の具体例を示す図である。
【図３１】従来の３次元空間内を移動する経路を入力する方法を示す図である。
【符号の説明】
１，１１，１５  ３次元経路入力装置
２  ３次元仮想空間
３  ２次元経路入力手段
４  ２次元サブ経路分割手段
５  サブ経路３次元拡張手段
６  サブ経路結合手段
７  ユーザインタフェース一時記憶メモリ
８  サブ経路一時記憶手段
９  ３次元経路データベース
１０，１４，１７  記録媒体
１２  ３次元拡張制約生成手段
１３  高さ条件データベース
１６  経路結合・補完手段
２０  高さ別２次元経路入力手段
２１  各階経路入力手段
２２  各階経路一時記憶手段
ａ  ノード
ｂ，Ｃ１〜Ｃ６  アーク
Ａ  モードボタン
Ａ１  ２Ｄ経路入力ボタン
Ａ２  グループ化ボタン
Ａ３  ３次元拡張ボタン
Ａ４  結合ボタン
Ｂ１  地図
Ｂ２  建物
Ｂ３  座標
Ｂ４  仮想モデル
Ｄ１，Ｄ２  ユーザ選択アーク
Ｅ  高さの条件を入力するメニュー
Ｅ１  高さの条件入力フィールド
Ｅ２  拡張開始ボタン
Ｆ１〜Ｆ３  サブ経路
Ｇ１  結合アーク
Ｇ２  チェックボックス
Ｈ１  階数入力フィールド
Ｈ２  結合・補完ボタン
【図１】
0004096550.tif 000002
【図２】
0004096550.tif 000003
【図３】
0004096550.tif 000004
【図４】
0004096550.tif 000005
【図５】
0004096550.tif 000006
【図６】
0004096550.tif 000007
【図７】
0004096550.tif 000008
【図８】
0004096550.tif 000009
【図９】
0004096550.tif 000010
【図１０】
0004096550.tif 000011
【図１１】
0004096550.tif 000012
【図１２】
0004096550.tif 000013
【図１３】
0004096550.tif 000014
【図１４】
0004096550.tif 000015
【図１５】
0004096550.tif 000016
【図１６】
0004096550.tif 000017
【図１７】
0004096550.tif 000018
【図１８】
0004096550.tif 000019
【図１９】
0004096550.tif 000020
【図２０】
0004096550.tif 000021
【図２１】
0004096550.tif 000022
【図２２】
0004096550.tif 000023
【図２３】
0004096550.tif 000024
【図２４】
0004096550.tif 000025
【図２５】
0004096550.tif 000026
【図２６】
0004096550.tif 000027
【図２７】
0004096550.tif 000028
【図２８】
0004096550.tif 000029
【図２９】
0004096550.tif 000030
【図３０】
0004096550.tif 000031
【図３１】
0004096550.tif 000032