(57)【要約】【課題】複雑に分岐している通路や管路等の３次元オブジェクト空間内を効率良く進行可能なように支援する３次元オブジェクト空間内の案内方法を提供すること。【解決手段】画面に表示された３次元オブジェクト空間内部でのユーザ操作イベントに対し、当該ユーザ操作イベントの画面内での位置に応じて視線方向を決定するステップと、ユーザ操作イベント発生位置を現在位置とし、該現在位置と前記視線方向とから３次元オブジェクト空間内部での進行可能な方向を決定し、カーソル形状を進行可能方向を示す形状に変形して表示するステップとを備えることを特徴とする。【選択図】　　　　図８
2004110387.tif 000002
【特許請求の範囲】
【請求項１】
画面に表示された３次元オブジェクト空間内部での進行可能方向を案内する方法であって、
画面に表示された３次元オブジェクト空間内部でのユーザ操作イベントに対し、当該ユーザ操作イベントの画面内での位置に応じて視線方向を決定する第１のステップと、
ユーザ操作イベント発生位置を現在位置とし、該現在位置と前記視線方向とから３次元オブジェクト空間内部での進行可能な方向を決定し、カーソル形状を進行可能方向を示す形状に変形して表示する第２のステップと
を備えることを特徴とする３次元オブジェクト空間内の案内表示方法。
【請求項２】
前記第２のステップにおいて、画面に表示された３次元オブジェクトの中央位置付近でのユーザ操作イベントを画面奥行き方向に直進する視線方向、右側位置付近でのユーザ操作イベントを画面右方向に向かう視線方向、左側位置付近でのユーザ操作イベントを画面左方向に向かう視線方向として決定することを特徴とする請求項１に記載の３次元オブジェクト空間内の案内表示方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、コンピュータプログラムによって表示装置画面上に表示された空間内で、マウスのクリック操作などのユーザ操作イベントによる空間内での視点の進行を支援する３次元空間内の案内表示方法に関するものである。
【０００２】
【従来の技術】
従来、３次元オブジェクトを操作するコンピュータグラフィックスのアプリケーションにおいては、通常、マウス操作によって操作対象のオブジェクトを指定する。
しかし、例えば建物オブジェクトの内部空間に別の３次元オブジェクトが存在し、建物オブジェクトが不透明であった場合には、建物オブジェクトを透明オブジェクトに変更する操作を行うことによって内部の３次元オブジェクトを確認することが可能になり、内部の３次元オブジェクトを確認するまでの操作が面倒であるという問題があった。
【０００３】
そこで、本願出願人は外側のオブジェクトを透明オブジェクトに変更するという操作を行うことなく、内部オブジェクトを参照可能にする方法について提案している（例えば、特許文献１参照）。
【０００４】
【特許文献１】
特願２００１−１７２４１６号
【０００５】
【発明が解決しようとする課題】
しかしながら、上記の従来技術にあっては、通路や管路などの３次元オブジェクトが建物内部や地下空間で複雑に分岐しており、通路や管路に沿って内部を観察するという場合に、進行可能な方向を案内することについて何ら考慮していない。このため、壁面等の位置によってユーザ自身が進行方向を判断さぜるを得ず、効率良く進行方向を決定しながら内部オブジェクトを観察できないという問題があることが判明した。
すなわち、３次元の空間を画面に表示した場合、空間の形状は２次元の画面に投影されるため、道路の分岐やオブジェクトの内部への進行など、ユーザの視点からの画面では進行可能な場所を認識しにくい場合がある。このように、ある視点からみた画像からでは認識しにくいオブジェクトや空間がある場合は、通常、視点を切り替えた画像を表示するか、別画面に視点の異なった画像を表示する必要がある。このため、ユーザは進行方向を見失ったり、複数の画面を見比べるといった操作が必要になり、通路や管路内部で効率良く進行しながら内部を観察することができない。
【０００６】
本発明の目的は、複雑に分岐している通路や管路等の３次元オブジェクト空間内を効率良く進行可能なように支援する３次元オブジェクト空間内の案内方法を提供することにある。
【０００７】
【課題を解決するための手段】
上記目的を達成するために、本発明に係る３次元オブジェクト空間内の案内方法は、画面に表示された３次元オブジェクト空間内部でのユーザ操作イベントに対し、当該ユーザ操作イベントの画面内での位置に応じて視線方向を決定する第１のステップと、　ユーザ操作イベント発生位置を現在位置とし、該現在位置と前記視線方向とから３次元オブジェクト空間内部での進行可能な方向を決定し、カーソル形状を進行可能方向を示す形状に変形して表示する第２のステップと
を備えることを特徴とする。
また、前記第２のステップにおいて、画面に表示された３次元オブジェクトの中央位置付近でのユーザ操作イベントを画面奥行き方向に直進する視線方向、右側位置付近でのユーザ操作イベントを画面右方向に向かう視線方向、左側位置付近でのユーザ操作イベントを画面左方向に向かう視線方向として決定することを特徴とする。
【０００８】
【発明の実施の形態】
以下、本発明を実施する場合の一形態を図面を参照して具体的に説明する。
図１は、本発明を適用したシステムの一実施形態を示す全体構成図である。
図１において、１００は本発明に係る３次元オブジェクト内部の進行方向を案内するための処理を行う計算機である。計算機１００は、キーボード１０１とディスプレイ１０２、ＣＰＵ１０３、マウス１０４、プログラムメモリ１０５、データメモリ１０６とから構成される。
【０００９】
計算機１００のプログラムメモリ１０５には、計算機全体を制御するオペレーティングシステム１０５ａと、ユーザによるマウス操作などのイベントを各オブジェクトやプログラムに配送するイベントディスパッチャ１０５ｂ、データメモリ１０６に格納された各３次元オブジェクトに対応するオブジェクト（１）プログラム１０５ｃ、オブジェクト（２）プログラム１０５ｄ、オブジェクト（ｎ）プログラム１０５ｅが格納され、また図２で示すグローバル領域２０１が設けられている。各オブジェクトｉ（ｉ＝１〜ｎ）プログラムは、３次元オブジェクトの動作を規定するプログラムである。
データメモリ１０６には、オブジェクト（１）１０６ａ、オブジェクト（２）１０６ｂ、．．．オブジェクト（ｎ）１０６ｃといった各種の３次元オブジェクトが格納されている。
【００１０】
図２は、本発明で用いられるアプリケーション例のオブジェクトの概念図である。２０１はシステムのグローバルなメモリ領域を示す。２０２は進行可能方向を取得する関数のアドレス領域（移動可能方向取得関数アドレス領域）である。２０３はマウスカーソルの形状を設定する関数のアドレス領域（カーソル形状設定関数アドレス領域）である。２０４は空間内の通路等の配置座標の保持領域（通路座標リスト保持領域）である。２０５はユーザの位置情報の保持領域（ユーザ位置情報保持領域）である。２０６はユーザの視線情報の保持領域（ユーザ視線情報保持領域）である。２０８ａ、ｂ、ｃは３次元オブジェクトであり、これらが個々にメンバ変数、メンバ関数を持っている。
なお、３次元オブジェクト２０８ａ〜２０８ｃの生成方法、データ構造、メンバ変数については、本願出願人が先に出願した特願２００１−１７２４１６号に詳しく記載しているので、その説明は省略する。
【００１１】
図３は、グローバルなメモリ領域２０１に保持される空間内の通路座標情報の例を示すものであり、同図（ａ）のユーザの視点位置から見た３次元オブジェクトの画面について、空間内では同図（ｂ）の平面図に示すように、通路になっている部分（白い部分）の座標が同図（ｄ）の通路座標リストとして格納されている。ユーザは、同図（ｃ）の符号３０２の位置に存在し、通路３０１上で矢印３０３の方向を視線方向とし、同図（ａ）の通路内部画像が表示されているものである。ユーザ位置と視線方向は、同図（ｅ）に示すようにｘ，ｙ，ｚ座標系の値と東西南北の情報で格納される。
ＣＰＵ１０３は、ユーザの位置情報により通路座標のリストを検索し、ユーザの視線方向と位置情報とから進行可能な方向を判断する。
【００１２】
図４は（ａ）は、３次元グラフィックスアプリケーションにおいて、建物内部のような空間内を進行していく状態であり、右側部分にも通路４０１があるが、ユーザの視点からは右側方向に進行可能かどうかは理解しにくいことを示すものである。同図（ｂ）は、仮想的な街並を進行できる３次元グラフックスアプリケーションにおいて、建物オブジェクト４０２，４０３，４０４が、存在している。ユーザは建物オブジェクト４０２と４０３の間には通路があり進行可能であるが、オブジェクト４０２が存在するために、通路を認識しにくいという例を示している。
【００１３】
図５は建物内部のような空間内を進行していく場合の例を示している。画面ではユーザから見て画面奥の方向にのみ進行が出来るが、本発明では、矢印型のカーソル形状５０１を奥向きに表示し、ユーザに進行方向を認識させている。
図６は建物内部のような空間内を進行していく場合の例を示している。画面ではユーザから見てどちらにも進行できず、引き返す以外に進行できない。その場合、通常、矢印型のカーソル形状はＸ型６０１になり、通路が行き止まりであることを示している。
図７は、仮想的な街並を進行する場合の例を示している。
ユーザは、街の中から通路のみを進行でき、建物のオブジェクト７０１〜７０３が進行方向に存在する場合には進行できない。図７の例では、建物オブジェクト７０１と７０２の間に通路７０５が存在するので、矢印型のカーソル形状として奥側と左側を示す形状７０４を表示して進行方向を案内する。
【００１４】
図８は、イベントディスパッチャ１０５ｂの処理手順を示すフローチャートである。
イベントディスパッチャ１０５ｂは、画面に表示された３次元オブジェクトの内部でのマウスイベントｅを契機に起動し、最初にユーザ位置設定関数（ｅ）を実行し（ステップ８０１）、現在の空間内でのユーザ位置を取得する。次に、進行可能方向決定関数（ｅ）を実行し、ユーザの現在位置とユーザの視線方向とに基づき進行可能方向を決定する（ステップ８０２）。
次に、カーソル形状変更関数（ｖ）を実行し（ステップ８０３）、マウスカーソル形状を進行可能方向を示す形状に変形し、処理を終了する（ステップ８０４）。
【００１５】
図９は、ユーザ位置設定関数（ｅ）の処理手順を示すフローチャートである。最初に，画面内をマウス１０４によってクリックされたかどうかを判定する（ステップ９０１）。画面内がクリックしていた場合、クリック位置が画面の中央部付近であるかどうかを判定し（ステップ９０２）、クリック位置が画面の中央部付近であれば、画面奥行き方向を進行方向と定め、かつユーザの前方向（視線方向）が進行可能である場合（ステップ９０３）、ユーザの現在位置座標値を視線方向に所定距離移動させ（ステップ９０５）、位置更新フラグに真を返却して終了する（ステップ９０６）。移動させたユーザの現在位置座標はユーザ位置座標保持領域２０５に格納される。この場合、ユーザ位置の移動距離は予め設定されたものを使用する。あるいは、ユーザ自身が任意に設定したものを使用する。
ユーザの前方向が進行不可能である場合は、位置更新フラグに偽を返却して終了する（ステップ９０４）。
マウスクリック位置が中央部付近以外の場合、クリック位置が画面右部分であるかどうかを判定し（ステップ９０７）、右部分であればユーザの視線方向を右に９０度回転させた方向に定め（ステップ９０８）、クリック位置が右部分で無い場合はユーザの視点方向を左に９０度回転させた方向に定め（ステップ９０９）、位置更新フラグに真を返却して処理を終了する（ステップ９０６）。
【００１６】
図１０は、進行可能方向取得関数（ｅ）の処理手順を示すフローチャートである。
最初に，進行可能方向群に空集合を代入して初期化した後（ステップ１００１）、ユーザ位置に左右前後の全方向に隣接する座標値が通路座標リスト保持領域２０４の通路座標リスト内にあれば、通行可能方向に追加する（ステップ１００２）。その後、通行可能方向とユーザの視線方向によりユーザから見た進行可能方向を算出し（ステップ１００３）、進行可能方向群を返却して処理を終了する（ステップ１００４）。
【００１７】
図１１は、カーソル形状変形関数（ｖ）の処理手順を示すフローチャートである。
最初に進行可能方向が存在するかどうかを判定し（ステップ１１０１）、存在しなければカーソルを図６で示したようなＸ型形状に変形し（ステップ１１０２）、存在していればカーソルを進行可能方向の矢印形状に変形して（ステップ１１０３）、処理を終了する（ステップ１１０４）。
【００１８】
以上のように、本実施形態によれば、画面に表示された３次元オブジェクト内部でのユーザ操作イベントに対し、当該ユーザ操作イベントの画面内での位置に応じて視線方向を決定し、かつユーザ操作イベント発生位置を現在位置とし、該現在位置と視線方向とから３次元オブジェクト内部での進行可能な方向を決定し、カーソル形状を進行可能方向を示す形状に変形して表示するようにしたため、３次元オブジェクト内部の平面図等の他の画面を参照することなく、内部空間をカーソル形状で案内される方向に効率良く進行しながら確認することができる。
従って、図７で説明したような街並みを表すオブジェクト中を移動しながら各種のオブジェクトの存在を確認する場合に限らず、図１２に例示するように、部屋１２０１の中央部に非難階段１２０２が存在し、非難口１２０３から非難可能な構造の３次元オブジェクトがあった場合には、画面中央部でマウスクリック操作を行うと、階段１２０４の部分に、階段１２０４を上方向に進行可能であることを案内するカーソル１２０４を表示することも可能になる。
そして、電力ケーブルを敷設した地下設備や排水道を敷設した地下設備などをシミュレーションするオブジェクト内で、進行可能な方向を案内する場合に適用すれば、実際に工事関係者あるいは保守点検関係者が地下設備内に侵入する前に、進行可能方向を事前に把握するのに役立てることができる。
【００１９】
なお、本発明で使用するカーソル形状としては、前述した形状に限らず、図１３（ａ）〜（ｎ）に示すような各種の形状のものを採用することができる。
【００２０】
【発明の効果】
以上説明したように、本発明によれば、複雑に分岐している通路や管路等の３次元オブジェクト空間内を効率良く進行可能なように支援することができる。
【図面の簡単な説明】
【図１】本発明を適用したシステムの実施の形態を示す全体構成図である。
【図２】本発明で用いられるアプリケーション例のオブジェクトの概念図である。
【図３】グローバルメモリ領域に保持される空間内の通路座標情報の例を示す図である。
【図４】建物内部のような空間内を進行していく状態の例を示す図である。
【図５】建物内部のような空間内を進行していく場合の例を示す図である。
【図６】建物内部の空間内を進行していく場合に進行方向が進行不可能なの例を示す図である。
【図７】仮想的な街並を進行する場合の例を示す図である。
【図８】イベントディスパッチャの処理手順を示すフローチャートである。
【図９】ユーザ位置設定関数（ｅ）の処理手順を示すフローチャートである。
【図１０】進行可能方向取得関数（ｅ）の処理手順を示すフローチャートである。
【図１１】カーソル形状変形関数の処理を示すフローチャートである。
【図１２】建物内部の空間内で階段を使って進行していく場合の例を示す図である。
【図１３】カーソル形状の他の例を示す図である。
【符号の説明】
１０１…キーボード、１０２…ディスプレイ、１０３…ＣＰＵ、１０４…マウス、１０５…プログラムメモリ、１０５ｂ…イベントディスパッチャ、１０６…データメモリ、２０２…移動可能方向取得関数アドレス領域、２０３…カーソル形状設定関数アドレス領域、２０４…通路座標リスト保持領域、２０５…ユーザ位置情報保持領域、２０６…ユーザ視線方向保持領域、２０８ａ〜２０８ｃ…オブジェクト。
【図１】
2004110387.tif 000003
【図２】
2004110387.tif 000004
【図３】
2004110387.tif 000005
【図４】
2004110387.tif 000006
【図５】
2004110387.tif 000007
【図６】
2004110387.tif 000008
【図７】
2004110387.tif 000009
【図８】
2004110387.tif 000010
【図９】
2004110387.tif 000011
【図１０】
2004110387.tif 000012
【図１１】
2004110387.tif 000013
【図１２】
2004110387.tif 000014
【図１３】
2004110387.tif 000015