(57)【特許請求の範囲】
【請求項１】
仮想空間における複数の通路上で視点を移動させ、その移動に伴って、視点の視野に入る仮想空間中の光景を表示面上に表示する画像表示装置であって、
操作者の操作を受け付けて、仮想空間において指示された通路上で視点を移動させる移動手段と、
通路上における視点の移動に伴って、視点の視野に入る仮想空間の光景を表示面に投影する投影手段と、
表示面に２以上の通路からなる岐路が投影された場合、当該岐路を形成している通路のうち何れかを、操作者に視野中の移動先として予め指示させる指示手段と
を備え、
前記移動手段は、視点が岐路の分岐点に位置すると、指示手段によって指示された通路上に視点を移動させ、
前記画像表示装置は更に、
仮想空間において２以上の通路によって形成される岐路と、各岐路を形成する通路のうち、予め分岐が定められている通路である予定通路とを対応付けて記憶する岐路−予定通路記憶手段を備え、
前記移動手段は、
視点が岐路の分岐点に位置すると、岐路−予定通路記憶手段において分岐が定められている予定通路に視点を移動させ、
指示手段によって表示面において岐路を形成している通路のうち何れかが指示されると、指示された通路上に視点を移動させる
ことを特徴とする画像表示装置。
【請求項２】
前記画像表示装置は更に、
仮想空間における全ての通路と、仮想空間における各通路の両端の座標とを対応付けて記憶する通路−座標記憶手段と、
視点の視線方向を示す視線ベクトルを記憶する視線ベクトル記憶手段と、
通路−座標記憶手段に記憶されている視点がある通路の両端の座標に基づいて、現在視点がある通路の向きを示すベクトルを算出する第１ベクトル算出手段と、
算出されたベクトルを視線ベクトル記憶手段に書き込む書き込み手段と
書き込み手段による書き込みが行われると、視線ベクトル記憶手段に記憶されている視線ベクトルに基づいて、視野を決定する視野決定手段と
を備え、
前記投影手段は、
視野決定手段によって決定された視野の投影像を表示面に投影する
ことを特徴とする請求項１記載の画像表示装置。
【請求項３】
前記画像表示装置は更に、
指示手段によって指示された通路の両端の座標を通路−座標記憶手段から読み出す読み出し手段と、
読み出し手段によって読み出された座標に基づいて、仮想空間における当該通路の向きを示すベクトルを算出する第２ベクトル算出手段と、
第２ベクトル算出手段によって算出されたベクトルと、第１ベクトル算出手段によって算出されたベクトルとがなす角度を算出する角度算出手段と、
角度が算出されると、算出された角度分だけ視線ベクトル記憶手段に記憶されている視線ベクトルを回転する回転手段と
を備え、
前記書き込み手段は、
移動手段によって視点が岐路の分岐点に到達すると、回転後の視線ベクトルを書き込む
ことを特徴とする請求項２記載の画像表示装置。
【請求項４】
前記移動手段は、
仮想空間における視点の現在位置の座標を記憶する現在座標記憶手段と、
第１、第２ベクトル算出手段によって算出されたベクトルの単位ベクトルを算出する単位ベクトル算出手段と、
操作者の操作を受け付けて、その操作がなされる度に、算出された単位ベクトルの方向に、その単位ベクトルの大きさだけ、現在座標記憶手段に記憶されている座標を前に進める前進手段と
を備え、
視野決定手段は、前進手段によって前進した現在位置と、視線ベクトル記憶手段に記憶されている視線ベクトルとに基づいて、視野を決定し、
前記投影手段は、
視野が決定される度に、視野決定手段によって決定された視野の投影像を表示面に投影する
ことを特徴とする請求項３記載の画像表示装置。
【請求項５】
前記移動手段は、
通路−座標記憶手段の記憶内容を参照して、前進手段によって前進された現在位置の座標が現在視点がある通路の端点に達したかを判定する判定手段と
を備え、
前記書き込み手段は、
判定手段によって端点に達したと判定されると、回転後の視線ベクトルを書き込む
ことを特徴とする請求項４記載の画像表示装置。
【請求項６】
前記画像表示装置は、
仮想空間内に設けられた各３次元物体と、各３次元物体が占める座標とを対応付けて記憶する３次元物体記憶手段を
備え、
前記投影手段は、
視野が決定される度に、視野決定手段によって決定された視野内に収まる通路及び３次元物体を判定する判定部と、
収まると判定された通路及び３次元物体を表示面に投影する投影部と
を備えることを特徴とする請求項５記載の画像表示装置。
【請求項７】
前記画像表示装置は更に、
視線の回転軸を記憶する回転軸記憶手段と、
視線を回転する旨の操作者の操作、及び、その回転量を受け付けて、記憶されている回転軸を基準軸にして、回転手段にその回転量だけ視線ベクトルの向きを回転させる回転制御手段と
を備え、
前記書き込み手段は、
回転制御手段によって視線ベクトルの向きが回転すると、当該視線ベクトルを視線ベクトル記憶手段に書き込む
ことを特徴とする請求項６記載の画像表示装置。
【請求項８】
前記画像表示装置は、
第２ベクトル算出手段によって算出されたベクトルと、第１ベクトル算出手段によって算出された現在視点がある通路の向きを示すベクトルとの外積をとり、その外積から、ベクトルの回転軸を算出して、回転軸記憶手段に記憶させる回転軸算出手段を有し、
前記角度算出手段は、
第２ベクトル算出手段によって算出されたベクトルと、第１ベクトル算出手段によって算出された現在視点がある通路の向きを示すベクトルとの内積をとり、その内積から、当該２つのベクトルがなす角度を算出し、
前記回転手段は、
角度が算出されると、回転軸記憶手段に記憶されている回転軸を基準にして、角度算出手段によって算出された角度分だけ視線ベクトル記憶手段に記憶されている視線ベクトルを回転する
ことを特徴とする請求項７記載の画像表示装置。
【請求項９】
前記回転手段は、
角度算出手段によって角度が算出されると、所定の基準角度だけ視線ベクトルを回転させる視線ベクトル回転部と、
視線ベクトルが回転すると、前記書き込み手段を制御して、所定の基準角度を視線ベクトル記憶手段に書き込ませる書き込み制御部と、
角度算出手段によって算出された角度とこれまで書き込み制御部によって書き込まれた総回転角との差分が、前記基準角度より大きいか小さいかを判定する差分大小判定部と、
大きい場合、視線ベクトル回転部を制御して、基準角度分の回転を行わせる第１回転制御部と、
小さい場合、視線ベクトル回転部を制御して、差分だけ視線ベクトルの回転を行わせる第２回転制御部と
を備えることを特徴とする請求項８記載の画像表示装置。
【請求項１０】
前記画像表示装置は更に、
端点の座標が不一致でありながらも、接続関係を有する通路の端点の組み合わせであるリンクペアを記憶するリンク通路記憶手段を備え、
前記読み出し手段は、
視点がリンクペアの一方の端点を有する通路に移動すると、リンクペアの他方側の通路の両端の座標をリンク通路記憶手段から読み出し、
前記第２ベクトル算出手段は、
読み出し手段によって読み出された通路の両端の座標に基づいて、仮想空間におけるその通路の向きを示すベクトルを算出し、
前記角度算出手段は、
第２ベクトル算出手段によって算出されたベクトルと、第１ベクトル算出手段によって算出されたベクトルとがなす角度を算出し、
前記回転手段は、
角度が算出されると、角度算出手段によって算出された角度分だけ視線ベクトル記憶手段に記憶されている視線ベクトルを回転し、
前記書き込み手段は、
回転手段による回転が行われると、回転手段によって回転された視線ベクトルを書き込む
ことを特徴とする請求項９記載の画像表示装置。
【請求項１１】
前記画像表示装置は、
現在視点がある通路と、岐路−予定通路記憶手段において当該通路の予定通路になっている通路或は移動先として指示手段によって指示された通路と、視点が直前に通過した通路とを対応づけて記憶する現−前後通路記憶手段を備え、
前記投影部は、
移動手段によって視点が移動すると、岐路−予定通路記憶手段において現−前後通路記憶手段に記憶されている通路と予定通路として連鎖し合っている全ての通路を探索する探索部と、
現−前後通路記憶手段に記憶されている通路と、探索手段によって探索された全ての通路の投影像とを、第１の色で描画する第１描画部と、
第１の色で描画された通路と岐路を形成しておきながらも予定通路として連鎖していない通路を第２の色で描画する第２描画部と、
視点の視野に入りながらも、第１、第２描画部によって描画されていない通路の投影像を第３の色で描画する第３描画部と
を備えることを特徴とする請求項１記載の画像表示装置。
【請求項１２】
前記画像表示装置は更に、
ボタンが設けられたポインティングデバイスを有し、
ポインティングデバイスによって通路が指示され、指示された状態で当該ボタンの押下が行われると、その押下の回数に応じて移動手段に視点の前進或は後退を行わせる前進−後退制御手段と、
ポインティングデバイスによって通路以外の位置が指示されると、移動手段の移動を停止させる停止制御手段と、
を備えることを特徴とする請求項１〜１１記載の何れかの画像表示装置。
【請求項１３】
前記画像表示装置は更に、
ボタンが設けられたポインティングデバイスを有し、
ポインティングデバイスによって通路が指示され、指示された状態で当該ボタンの押下が行われると、その押下の回数に応じて移動手段に視点の前進或は後退を行わせる前進−後退制御手段と、
表示面の両脇がポインティングデバイスによって指示されると、回転手段に視線ベクトルを右方向或は左方向に回転させる回転制御手段と、
ポインティングデバイスによって通路でも表示面の両脇でもない位置が指示されると、移動手段の移動を停止させる停止制御手段と、
を備えることを特徴とする請求項１〜１１記載の何れかの画像表示装置。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、表示面に仮想空間内の光景を投影させ、操作者の操作に伴い、その投影像を切り換えることで、恰も仮想空間内を移動しているかのような感覚を操作者に与える画像表示装置に関する。
【０００２】
【従来の技術】
近年、３次元コンピュータグラフィックの描画技術の急速な発達に伴い、この描画技術を用いて『バーチャルウォークスルー』を実現するための研究が盛んになされていれる。
『バーチャルウォークスルー』とは、表示面に仮想空間内の光景を投影させ、操作者の操作に伴い、その投影像を切り換えることで、恰も仮想空間内を移動しているかのように感覚を操作者に与えるものであり、様々な３次元シュミレーションシステムに発展させることができる。この『バーチャルウォークスルー』を発展させたシュミレーションシステムには、仮想観光案内システム、インテリアシュミレーション、仮想店舗システム、カーナビゲーションシュミレーション等が挙げられる。
【０００３】
仮想観光案内システムでは、従来パンフレットや観光ムック等で行われていた観光地の名所旧跡の所在や著名な建造物の紹介を、上記『バーチャルウォークスルー』で代替し、この観光地を歩行しているような感覚を操作者に与える。
仮想店舗システムでは、従来通販において、カタログ等の紙面上で行われていた様々な商品の紹介を、コンピュ−タ・グラフィックスによって形成した仮想店舗内で行い、この仮想店舗内で『バーチャルウォークスルー』を行わせ、具体的な商品像を操作者に提供し、購買意欲をそそる。
【０００４】
インテリアシュミレーションでは、ソファやキッチン、テーブル等の配置を、３次元グラフィックスデータの配置替えで代替し、その中で『バーチャルウォークスルー』を行わせ、そのレイアウトの印象がどうであるかを検証させる。
カーナビゲーションシュミレーションでは、国道、私道についての情報、それらの周辺に存在する建造物の情報を基にコンピュ−タ・グラフィックスを作成し、これを元に『バーチャルウォークスルー』を行い、目的地に到達するにはどのような道順を経ればよいかを３次元グラフィックスを用いて操作者に教示する。
【０００５】
ところで、上記視点の移動操作は視点の前進、後退、上昇、下降などのコマンドをボタンに定義したものを使用したり、それをマウスの操作パターンに定義したものを使用するのが一般的である。また視線方向の変更操作についても同様である。
マウスの操作パターンの一例には、画面の中央にカーソルを持ってきてそこでボタンを押し、そのままの状態で上方向へ移動させると視点を前進させ、下方向へ移動させると視点を後退させるといったものがある。この操作パターンでは、カーソルを右方向へ移動させると視線方向が右旋回し、左方向へ移動させると視線方向が左旋回する。
【０００６】
【発明が解決しようとする課題】
しかしながら上記従来技術の『バーチャルウォークスルー』によれば、仮想空間内の何処を曲がるかを視線方向をいろいろと動かして周りを見回した上で判断しなければならない。このような判断は仮想空間内では非常に行い辛いので、岐路を曲がるのが非常に煩わしく感じるといった問題点があった。
【０００７】
これは視点の位置が交差点に達したかどうかがグラフィックスからでは把握し辛いことに起因する。即ち視点が交差点の手前に位置している状態ではディスプレィに交差点が表示されているので視点と交差点との位置関係が把握できるが、この状態で視点の位置が進み、視点の位置が交差点の真上に達すると交差点そのものは視野外になるため、ディスプレィに表示されない。
【０００８】
このようにディスプレィのグラフィックスで視点の位置が把握できなければ、曲がり角が視野に入っている状態からこのくらい前進すれば曲がり角に達するだろうといった判断を勘に頼らなければならない。そして視点が所望の位置に達しない場合は、所望の位置に達するまで視点の移動や旋回を何度も繰り返す必要がある。ところが３次元グラフィックで表現された空間では遠近感が掴み辛いため、この繰り返し処理も思うようにいかない。
【０００９】
仮想空間内を予め設定されたコースに沿って見て回る場合でも、曲がり角の位置まで視点が移動したかどうかを常に注意し、その曲がり角に達すればタイミング良く操作しなければならないため技量が要求されるものになってしまう。
たとえ曲がれたとしても、そのときの右折角度、左折角度が、通路間の角度を上回っていたり、下回ってたりして、そのまま視点が移動を続けると、視点が通路上のコースから外れてしまうこともある。
【００１０】
３次元グラフィックスで描画された迷路を進んでゆくといった玩具は従来から存在するが『バーチャルウォークスルー』ではこのような玩具と異なり、視点の移動を小刻みにしたり、視点を停止させたまま視線の方向を変えたりして、より現実感を与えることが要求される。このように移動を小刻みしていけば、上記の使い辛さはより一層増長されてゆく。
【００１１】
本発明は上記問題点に鑑み、岐路を容易に曲がることができ、『バーチャルウォークスルー』を好適に実現できる画像表示装置を提供することを目的とする。
【００１２】
【課題を解決するための手段】
上記目的を達成するために請求項１に係る画像表示装置は、
仮想空間における複数の通路上で視点を移動させ、その移動に伴って、視点の視野に入る仮想空間中の光景を表示面上に表示する画像表示装置であって、
操作者の操作を受け付けて、仮想空間において指示された通路上で視点を移動させる移動手段と、
通路上における視点の移動に伴って、視点の視野に入る仮想空間の光景を表示面に投影する投影手段と、
表示面に２以上の通路からなる岐路が投影された場合、当該岐路を形成している通路のうち何れかを、操作者に視野中の移動先として予め指示させる指示手段と
を備え、
前記移動手段は、視点が岐路の分岐点に位置すると、指示手段によって指示された通路上に視点を移動させ、
前記画像表示装置は更に、
仮想空間において２以上の通路によって形成される岐路と、各岐路を形成する通路のうち、予め分岐が定められている通路である予定通路とを対応付けて記憶する岐路−予定通路記憶手段を備え、
前記移動手段は、
視点が岐路の分岐点に位置すると、岐路−予定通路記憶手段において分岐が定められている予定通路に視点を移動させ、
指示手段によって表示面において岐路を形成している通路のうち何れかが指示されると、指示された通路上に視点を移動させる
ことを特徴としている。
【００１５】
また請求項２に係る画像表示装置は、
仮想空間における全ての通路と、仮想空間における各通路の両端の座標とを対応付けて記憶する通路−座標記憶手段と、
視点の視線方向を示す視線ベクトルを記憶する視線ベクトル記憶手段と、
通路−座標記憶手段に記憶されている視点がある通路の両端の座標に基づいて、現在視点がある通路の向きを示すベクトルを算出する第１ベクトル算出手段と、
算出されたベクトルを視線ベクトル記憶手段に書き込む書き込み手段と
書き込み手段による書き込みが行われると、視線ベクトル記憶手段に記憶されている視線ベクトルに基づいて、視野を決定する視野決定手段と
を備え、
前記投影手段は、
視野決定手段によって決定された視野の投影像を表示面に投影する
ことを特徴としている。
【００１６】
また請求項３に係る画像表示装置は、
指示手段によって指示された通路の両端の座標を通路−座標記憶手段から読み出す読み出し手段と、
読み出し手段によって読み出された座標に基づいて、仮想空間における当該通路の向きを示すベクトルを算出する第２ベクトル算出手段と、
第２ベクトル算出手段によって算出されたベクトルと、第１ベクトル算出手段によって算出されたベクトルとがなす角度を算出する角度算出手段と、
角度が算出されると、算出された角度分だけ視線ベクトル記憶手段に記憶されている視線ベクトルを回転する回転手段と
を備え、
前記書き込み手段は、
移動手段によって視点が岐路の分岐点に到達すると、回転後の視線ベクトルを書き込む
ことを特徴としている。
【００１７】
また請求項４に係る画像表示装置は、
前記移動手段は、
仮想空間における視点の現在位置の座標を記憶する現在座標記憶手段と、
第１、第２ベクトル算出手段によって算出されたベクトルの単位ベクトルを算出する単位ベクトル算出手段と、
操作者の操作を受け付けて、その操作がなされる度に、算出された単位ベクトルの方向に、その単位ベクトルの大きさだけ、現在座標記憶手段に記憶されている座標を前に進める前進手段と
を備え、
視野決定手段は、前進手段によって前進した現在位置と、視線ベクトル記憶手段に記憶されている視線ベクトルとに基づいて、視野を決定し、
前記投影手段は、
視野が決定される度に、視野決定手段によって決定された視野の投影像を表示面に投影する
ことを特徴としている。
【００１８】
また請求項５に係る画像表示装置は、
前記移動手段は、
通路−座標記憶手段の記憶内容を参照して、前進手段によって前進された現在位置の座標が現在視点がある通路の端点に達したかを判定する判定手段と
を備え、
前記書き込み手段は、
判定手段によって端点に達したと判定されると、回転後の視線ベクトルを書き込む
ことを特徴としている。
【００１９】
また請求項６に係る画像表示装置は、
仮想空間内に設けられた各３次元物体と、各３次元物体が占める座標とを対応付けて記憶する３次元物体記憶手段を
備え、
前記投影手段は、
視野が決定される度に、視野決定手段によって決定された視野内に収まる通路及び３次元物体を判定する判定部と、
収まると判定された通路及び３次元物体を表示面に投影する投影部と
を備えることを特徴としている。
【００２０】
また請求項７に係る画像表示装置は、
視線の回転軸を記憶する回転軸記憶手段と、
視線を回転する旨の操作者の操作、及び、その回転量を受け付けて、記憶されている回転軸を基準軸にして、回転手段にその回転量だけ視線ベクトルの向きを回転させる回転制御手段と
を備え、
前記書き込み手段は、
回転制御手段によって視線ベクトルの向きが回転すると、当該視線ベクトルを視線ベクトル記憶手段に書き込む
ことを特徴としている。
【００２１】
また請求項８に係る画像表示装置は、
第２ベクトル算出手段によって算出されたベクトルと、第１ベクトル算出手段によって算出された現在視点がある通路の向きを示すベクトルとの外積をとり、その外積から、ベクトルの回転軸を算出して、回転軸記憶手段に記憶させる回転軸算出手段を有し、
前記角度算出手段は、
第２ベクトル算出手段によって算出されたベクトルと、第１ベクトル算出手段によって算出された現在視点がある通路の向きを示すベクトルとの内積をとり、その内積から、当該２つのベクトルがなす角度を算出し、
前記回転手段は、
角度が算出されると、回転軸記憶手段に記憶されている回転軸を基準にして、角度算出手段によって算出された角度分だけ視線ベクトル記憶手段に記憶されている視線ベクトルを回転する
ことを特徴としている。
【００２２】
また請求項９に係る画像表示装置は、
前記回転手段は、
角度算出手段によって角度が算出されると、所定の基準角度だけ視線ベクトルを回転させる視線ベクトル回転部と、
視線ベクトルが回転すると、前記書き込み手段を制御して、所定の基準角度を視線ベクトル記憶手段に書き込ませる書き込み制御部と、
角度算出手段によって算出された角度とこれまで書き込み制御部によって書き込まれた総回転角との差分が、前記基準角度より大きいか小さいかを判定する差分大小判定部と、
大きい場合、視線ベクトル回転部を制御して、基準角度分の回転を行わせる第１回転制御部と、
小さい場合、視線ベクトル回転部を制御して、差分だけ視線ベクトルの回転を行わせる第２回転制御部と
を備えることを特徴としている。
【００２３】
また請求項１０に係る画像表示装置は、
端点の座標が不一致でありながらも、接続関係を有する通路の端点の組み合わせであるリンクペアを記憶するリンク通路記憶手段を備え、
前記読み出し手段は、
視点がリンクペアの一方の端点を有する通路に移動すると、リンクペアの他方側の通路の両端の座標をリンク通路記憶手段から読み出し、
前記第２ベクトル算出手段は、
読み出し手段によって読み出された通路の両端の座標に基づいて、仮想空間におけるその通路の向きを示すベクトルを算出し、
前記角度算出手段は、
第２ベクトル算出手段によって算出されたベクトルと、第１ベクトル算出手段によって算出されたベクトルとがなす角度を算出し、
前記回転手段は、
角度が算出されると、角度算出手段によって算出された角度分だけ視線ベクトル記憶手段に記憶されている視線ベクトルを回転し、
前記書き込み手段は、
回転手段による回転が行われると、回転手段によって回転された視線ベクトルを書き込む
ことを特徴としている。
【００２４】
また請求項１１に係る画像表示装置は、
現在視点がある通路と、岐路−予定通路記憶手段において当該通路の予定通路になっている通路或は移動先として指示手段によって指示された通路と、視点が直前に通過した通路とを対応づけて記憶する現−前後通路記憶手段と、
前記投影部は、
移動手段によって視点が移動すると、岐路−予定通路記憶手段において現−前後通路記憶手段に記憶されている通路と予定通路として連鎖し合っている全ての通路を探索する探索部と、
現−前後通路記憶手段に記憶されている通路と、探索手段によって探索された全ての通路の投影像とを、第１の色で描画する第１描画部と、
第１の色で描画された通路と岐路を形成しておきながらも予定通路として連鎖していない通路を第２の色で描画する第２描画部と、
視点の視野に入りながらも、第１、第２描画部によって描画されていない通路の投影像を第３の色で描画する第３描画部と
を備えることを特徴としている。
【００２５】
また請求項１２に係る画像表示装置において、
ボタンが設けられたポインティングデバイスを有し、
ポインティングデバイスによって通路が指示され、指示された状態で当該ボタンの押下が行われると、その押下の回数に応じて移動手段に視点の前進或は後退を行わせる前進−後退制御手段と、
ポインティングデバイスによって通路以外の位置が指示されると、移動手段の移動を停止させる停止制御手段と、
を備えることを特徴としている。
【００２６】
また請求項１３に係る画像表示装置は、
ボタンが設けられたポインティングデバイスを有し、
ポインティングデバイスによって通路が指示され、指示された状態で当該ボタンの押下が行われると、その押下の回数に応じて移動手段に視点の前進或は後退を行わせる前進−後退制御手段と、
表示面の両脇がポインティングデバイスによって指示されると、回転手段に視線ベクトルを右方向、或は、左方向に回転させる回転制御手段と、
ポインティングデバイスによって通路でも表示面の両脇でもない位置が指示されると、移動手段の移動を停止させる停止制御手段と、
を備えることを特徴としている。
【００４７】
【実施例】
（第１実施例）
以下、本発明の一実施例について図面を参照しながら詳細に説明する。
先ず、図１及び図２の説明図を参照しながら画像表示装置の外観について説明を行う。図１は、画像表示装置の外観を示す斜視図である。また図２は仮想空間と表示面との対応を示す説明図である。
【００４８】
図１に示すように、画像表示装置は、表示面に仮想空間の光景を映ずるディスプレィ２１と、操作者による操作がなされるキーパッド２２及びポインティングデバイス２３とを有している。この表示面には、図２に示すように、仮想空間中の光景が映ずるようになっている。そして、表示面上に映ずる仮想空間の光景は、図１に示したキーパッド２２及びポインティングデバイス２３に対する指示によって切り換わるようになっている。そのため、操作者は、このキーパッド２２やポインティングデバイス２３に対して指示を行うと、恰も仮想空間中を歩行しているような感覚を得ることができる。
【００４９】
次に、図２の説明図を参照しながら仮想空間と表示面との対応について説明を行う。図２に示すように、表示面には、仮想空間中に設けられている通路や建造物が投影される。キーパッド２２及びポインティングデバイス２３への操作によって視点は図中の通路上を進んで行き、それに伴って、表示面上の投影像は切り替わってゆく。
【００５０】
次に、図３の説明図を参照しながら、表示面に映ずる仮想空間の画像と、仮想空間内の移動路、建造物の配置とについて説明を行う。図３（ａ）は、本実施例における仮想空間を位置Ａから正面を向いて見た場合の画像である。また図３（ｂ）は、Ｘ−Ｚ座標系にマッピングされた仮想空間内の座標を示す上面図である。更に図３（ｃ）は、本実施例における仮想空間を位置Ａから斜めを向いて見た場合の画像である。
【００５１】
図３（ｂ）において、位置Ａは移動路１の端点である（尚、移動路と通路とは同義である。）。この移動路１は、移動路２、３、４と十字路を形成している。そのため、移動路１からは移動路２、移動路３、移動路４の何れかへと分岐可能なようになっている。また、移動路１と接続している移動路２は、移動路６、移動路７とＴ字路を形成しており、移動路２からは、移動路６、移動路７の何れかに分岐可能になっている。
【００５２】
この位置Ａから視点は、図３（ｂ）における位置Ｂを向いているので、表示面には、図３（ａ）に示すように、移動路１、２、３、４から形成される十字路が表れ、その向こうには、移動路６、移動路７からなるＴ字路が表われている。
図３（ａ）の表示例に対して、図３（ｃ）の表示例は、移動路がやや左斜めを向いているが、これは、視点が位置Ａにありながらも、その視線を右に向けている様子を示している。この図３（ｃ）の表示例のように、本実施例では、移動路上で視点の視線方向を任意に変更することができる。
【００５３】
次に、図４の構成図を参照しながらについて画像表示装置の内部構成を説明する。図４は、第１実施例における画像表示装置の構成を示すブロック図である。
図４に示すように、画像表示装置は、移動路記憶手段１と、接続関係記憶手段２と、オブジェクト記憶手段３と、対応関係記憶手段４と、レンダリング部５と、フレームバッファ６と、移動路識別子レジスタ７と、始点終点レジスタ８と、視線ベクトルレジスタ９と、回転軸ベクトルレジスタ１０と、移動ベクトルレジスタ１１と、移動命令レジスタ１３と、制御手段１４と、ディスプレィ２１と、キーパッド２２と、ポインティングデバイス２３とを備える。
【００５４】
図１にも示したキーパッド２２は、本図において視点の前進、後退を指示するための２つのボタンと（図に示すように前進ボタン、後退ボタンという）、視線方向の右旋回、左旋回を指示するための２つのボタンと（図に示すように旋回ボタンという。）、視点の移動方向を逆向きにするためのボタンと（図に示すように逆向きボタンという。）とを有し、ポインティングデバイス２３は、マウスカーソルによってディスプレィ２１上の何れかのの座標を操作者に指示させ、クリックボタンによってマウスクリックを受け付ける。
【００５５】
移動路記憶手段１は図５に示すように、仮想空間上の任意の２点を結ぶ線分で定義された移動路を２つの端点の座標の組み合わせとして記憶している。図５は、移動路記憶手段１に記憶されている、移動路識別子と移動路の端点との対応関係を示す図である。
仮想空間において移動路は、Ｘ−Ｚ軸を基準軸にした直交座標系において移動路がどのように位置しているかで表される。移動路が移動路記憶手段１にどのように記憶されているかを図５に示す。図５に示すように、移動路はＸ−Ｚ軸座標系におけるその始点、終点と、各移動路に付された識別子とで表される。
【００５６】
例えば、本図に示すように、識別子１が付された移動路１は、Ｘ軸上の座標（８、３、０）からＺ軸の正方向に向けて座標（８、３、４）まで伸びているので、図５に示すように、移動路１の識別子１は、座標（８、３、０）（８、３、４）に対応づけられている。一方座標（８、３、４）は、図３において移動路２、移動路３、移動路４の始点になっており、これらの移動路は何れも選択可能なようになっている。
【００５７】
このように、十字路を形成している移動路２、３、４は図２において、それぞれ（８、３、４）を始点にしており、移動路２の終点はＺ軸方向において”３”だけ離れてなる（８、３、７）に表される。
また移動路３は、移動路１の端点２（終点）からＸ軸方向に５だけ伸び、（１３、３、４）が終点になっている。このように移動路記憶手段１では、仮想空間において移動路がどのように形成されているかがＸ−Ｚ座標系にマッピングして記憶されている。
【００５８】
接続関係記憶手段２は、移動路記憶手段１に記憶されている各移動路と、移動路の２つの端点に接続される別の移動路との接続関係を記憶している。また接続関係記憶手段２は移動路の通過を前提にして、その移動の際にどの経路が選択されるべきかが自動接続情報、選択接続情報として、各移動路と対応づけて記憶している。
【００５９】
図６は接続関係記憶手段２に記憶されている移動路の接続関係を表す。ここで自動接続情報とは、操作者からの移動路の選択操作がない場合に現移動路に自動的に接続される移動路を指示する情報をいい（図３（ｂ）では、実線の矢印で示されている（移動路４参照）。）、選択接続情報とは、操作者からの移動路の選択操作によって接続される移動路を指示する情報をいう（図３（ｂ）では、破線の矢印で示されている（移動路２、３、５、６、７参照）。）。
【００６０】
本図に示すように、移動路１の端点１には、選択接続情報に『−１』が記述され、自動接続情報にも『−１』が記述されている。これは、図３（ｂ）において、移動路１の端点には、どの移動路も接続していないからであり、視点は、Ｚ軸方向において、端点１より下方向には進めない。
これに対して、端点２は移動路２、３、４と十字路を形成しているため、選択接続情報に移動路２、３、４が設定されている。この選択接続情報に対して、移動路１の自動接続情報には、移動路２が設定されている。これは、視点が移動路１上を進んで行き、（８、３、４）における十字路に差し掛かると、視点の進行方向が移動路２に選択されることを意味する。
【００６１】
本図に示すように、移動路２の端点２における選択接続情報には、移動路６、７が設定され、そのうち、自動接続情報に移動路６が設定されている。これは、移動路２の端点１から端点２に向かって視点が進んで行くと、視点は、自動的に移動路６に向かってゆくことを意味する。接続関係記憶手段２においては、このように移動路間の接続が記憶されているので、岐路に差し掛かった場合、特別な操作を行わなくても、その進路が一意に選択されているようになる。
【００６２】
オブジェクト記憶手段３は、３次元オブジェクトや移動路オブジェクトの形状データを記憶する。３次元オブジェクトは、山や建造物等、仮想空間における立体物を模しており、各移動路沿いに一定の距離をおいて配置され、これらの投影像が表示面に投影される。また、視点の移動に伴って、これらの３次元オブジェクトの投影像は、次々と切り換わってゆく。この他にも３次元オブジェクトには、視点の視界を遮る役割もあり、臨場感を盛り上げるといった役割も有る。また移動路オブジェクトとは遠近法によって描かれた移動路である。その形状は、図３の表示例に示したように、手前側が広く奥に向かう程狭くなっており、移動路が奥に向かって伸びているといった様子を表している。
【００６３】
対応関係記憶手段４は、どの移動路に沿って、どの３次元オブジェクトが設けられているかを示す、移動路オブジェクトと、３次元オブジェクトとの対応関係を記憶する。
また対応関係記憶手段４は、図７に示すように移動路オブジェクトに付された識別子と移動路識別子とで、移動路オブジェクトと移動路の情報との対応をとっており、視点がどの移動路上にあるかで、移動路オブジェクトを切り換えて表示可能なようにしている。
【００６４】
レンダリング部５は、高速グラフィックスハードウェアおよびその制御ソフトウェアにより構成され、視点の視線方向で、仮想空間を眺めた場合に視点に映ずる画像をビットマップとして生成し、生成した画像をフレームバッファ６に書き込む。レンダリング部５では、三次元コンピュータグラフィックス生成方法として広く知られているモデルビュー変換、射影変換、ビューポート変換、照光処理、アンチエイリアス処理、テクスチャマッピング処理などの数々の処理がパイプライン的に施され、最終的な二次元ビットマップデータが生成される。ここで用いられる制御ソフトウェアの代表的なものにＳｉｌｉｃｏｎ  Ｇｒａｐｈｉｃｓ社の”ＯｐｅｎＧＬ”がある。
【００６５】
次に、図８の説明図を参照しながら、表示面に描かれている画像について説明を行う。周知の如く表示面は、ディスプレィ２１がフレームバッファ６に展開されているビットマップパタンを描画することで行われる。本実施例においてフレームバッファ６にどのように、データが書き込まれているかを図８に示す。図８で矢印ａ１、ａ２、ａ３、ａ４で示すように、表示面の１画素に対して、フレームバッファ６における３２ビットのデータが割り当られている。この３２ビットのうちあけは、各色の輝度を示すＲＧＢ各８ビットが下位２４ビットに、オブジェクト識別子は８ビットでは上位８ビットにそれぞれ与えられている。このオブジェクト識別子は、表示面に対して仮想空間の投影を行う際に、３次元オブジェクトの色と共に書き込まれる。このように書き込まれたオブジェクト識別子は、表示面にどのように、オブジェクトが存在するかを参照するのに用いられる。
【００６６】
ディスプレィ２１上に表示された移動路オブジェクトのうち、ポインティングデバイス２３のカーソルによって指示されたものはその識別子が抽出される。表示面上でそのオブジェクトの投影像を形成する画素は、投影処理時に、そのオブジェクトの識別子と共にＲＧＢ値が書き込まれており、このフレームバッファ６に書き込まれた識別子を参照することで、カーソルによってどのオブジェクトが指定されているかが判明する。
【００６７】
次に、図９、図１０の説明図を参照しながら視点の視線、視野等、視点に対しての情報が如何に処理されているかについて説明を行う。図９に示すように、図３（ａ）に示した表示面上の画像は、視点の視野に入る仮想空間の光景を投影したものである（図中では、視点の視野は破線の円錐で示している。）。
図１０において、視点の位置は、仮想空間における座標で表れ（図１０の  始点位置（８、３、０））、また視点の視線は、視点が現在いる移動路が有する単位ベクトルで表される（図中の  視線ベクトル（０、０、１））。また現在自身がいる移動路の識別子と、自身が直前にいた移動路の識別子と、これから進もうとしている移動路の識別子とを対応づけて記憶している（図中の移動路識別子（２、１、−１））。この現移動路については、その始点、終点の座標を記憶している（図中の始点終点（端点２、端点１）。）。また、この現移動路において視点がどの方向に向かっているかを示す移動ベクトルを記憶しており（図中の  移動ベクトル（０、０、１））、操作者の旋回の操作があった場合には、どの方向を基準にして回転を行うかを記憶している（図中の回転軸ベクトル（０、０、１））。
【００６８】
次に、再度図４の構成図を参照しながらに以上の視点についての情報が、画像表示装置内にどのように記憶されているかについて説明を行う。
図４において、移動路識別子レジスタ７は、現在視点が位置している移動路（現移動路）の識別子と、現移動路の前後に接続される前移動路の識別子及び後移動路の識別子とを記憶する
始点終点レジスタ８は現移動路の２つの端点の内どちらが始点でどちらが終点であるかを記憶する。
【００６９】
視線ベクトルレジスタ９は視線の方向を示す単位ベクトルを記憶する。
回転軸ベクトルレジスタ１０は視線を旋回する時に基準となる軸  即ち、回転軸ベクトルを保持する。
移動ベクトルレジスタ１１は視点の移動方向を示すベクトル即ち、移動ベクトルを記憶する。
【００７０】
視点位置レジスタ１２は視点の位置の座標を記憶する。
移動命令レジスタ１３は、ポインティングデバイス２３によって取得される視点の移動のための命令（移動命令）を記憶する。
制御手段１４は、画像表示装置の制御を行う。制御手段１４の制御内容を図１１〜図１７のフロ−チャ−トに示す。この制御手段１４の制御内容を、図１８〜図２１の説明図と共に説明する。
【００７１】
図１１はメインフロ−チャ−トである。画像表示装置が起動すると、初期化処理を行い（ステップＳ９１）、イベント待ちの状態になる（ステップＳ９２）。そして、発生したイベントに応じて、それに対応する移動命令を判定し、判定した命令を移動命令レジスタ１３に記憶させる。次いで移動命令レジスタ１３に記憶されている移動命令が、前進命令であるか、後退命令であるか、旋回命令であるか、移動方向の変更命令であるかを判定し、もし前進命令であれば、図１３のフロ−チャ−トに示す視点位置の前進処理を行う（ステップＳ９３）。もし後退命令であれば、図１４のフロ−チャ−トに示す視点位置の後退処理を行い（ステップＳ９４）、また、旋回命令であれば、図１６のフロ−チャ−トに示す視線の移動方向変更処理を行い（ステップＳ９５）、もし逆向き命令であれば、図１５のフロ−チャ−トに示す視点の移動方向変更処理を行う（ステップＳ９６）。更にクリックボタンであれば、移動路の変更処理を行う（ステップＳ９７）。
【００７２】
（初期化動作）
図１２は初期化動作のフローチャートである。初期化は制御手段１４が、上記６つのレジスタに初期値を設定することで行われる。
ここで、視点は、図３（ｂ）に示した位置Ａにあり、これから移動路１をＺ軸の正の方向に進もうとしている。
【００７３】
ステップ１１では移動路識別子レジスタ７を図４の先頭の移動路識別子で示される移動路を現移動路にし、それに自動接続される移動路の識別子を図４の対応関係記憶手段４から求め、前移動路と後移動路を初期化する。
ここで、前移動路は２、現移動路は１、後移動路は−１にセットされる。尚、移動路識別子が−１の場合は、接続する移動路が存在しないことを示す。
【００７４】
ステップ１２では移動路識別子レジスタ７の現移動路の識別子で示される移動路を移動路記憶手段１から読み出し、その端点１を始点終点レジスタ８の始点に、端点２を始点終点レジスタ８の終点に設定する。
ステップ１３では移動ベクトルを始点終点レジスタ８の始点から終点へ向かうベクトルを移動路記憶手段１の座標より求め、移動ベクトルレジスタ１１に設定する。この場合、移動ベクトルはＡＢの向きの単位ベクトルに設定される。
【００７５】
ステップ１４では視線ベクトルと回転軸ベクトルとを各レジスタに設定する。視線ベクトルは移動ベクトルと同じ値で設定され、回転軸ベクトルは（０、１、０）に設定される。
ステップ１５では視点位置レジスタ１２を現移動路の端点１の座標で初期化する。この場合、Ａ（８、３、０）に設定される。
【００７６】
ステップ１６では、ポインティングデバイス２３内部に設けられたカーソルの位置レジスタに（０、０）を設定する。
初期化動作が終了するとレンダリング部５がフレームバッファ６に投影像を描画し、投影像上に後カーソルを描画する。ディスプレィ２１がこの表示データを表示したときの画面イメージが図３（ａ）である。
【００７７】
（視点位置の前進処理及び後退処理）
図１３、１４は視点位置の変更時の動作を示すフローチャートである。図１３は視点の前進処理、図１４は視点の後退処理を表す。操作者はキーパッド２２に対する操作により視点の位置を現移動路に沿って前進させ、後退させる。
（前進ボタンによる移動路内の前進処理  ステップ５１、５２、５３、６６の繰り返し）
今視点は図２において位置Ａにあるものとする。このときの移動路識別子レジスタ７の値は（２、１、−１）である。
【００７８】
図１３においてステップ５１では、視点の現在位置が移動路の終点に達したかの判定を行う。具体的には、移動路識別子レジスタ７の現移動路で示される移動路の端点の内、始点終点レジスタ８の終点にあたる方の座標を移動路記憶手段１から求め、それと視点位置レジスタ１２とを比較し、等しい場合は終了する。この場合は、視点は未だ移動路の始点（位置Ａ）にあるのでステップ５２へ進む。
【００７９】
ステップ５２では現在の視点の座標を、移動ベクトルレジスタ１１の移動ベクトルの大きさだけ終点に向ける。移動ベクトルは単位ベクトルであるから、この移動ベクトルレジスタ１１の更新で、視点は小刻みに移動路上を進む。
ここでもし、始点終点レジスタ８の終点が移動ベクトルの途中にくる場合は、前記ステップ５１のように再度、終点の座標を求め、視点位置レジスタ１２に書き込む。
【００８０】
ステップ５３では現在の視点位置の座標と、始点終点レジスタ８の終点にあたる座標とを比較し、終点に達した場合はステップ５４へ進む。この場合、終点まで達してないので、ステップ６６へ進む。
ステップ６６では、ステップ５２で更新された視点の位置について、その位置からみた仮想空間の光景を表示面に投影する。具体的には、レンダリング部５に更新された位置についてレンダリング処理を行わせ、３次元オブジェクト、移動路オブジェクトの投影像をフレームバッファ６に書き込ませる。
【００８１】
以上のステップ５１、５２、５３、６６の処理が繰り返された場合、ステップ５２を一度行う度に、移動ベクトルの大きさだけ視点の位置は前に進んでゆき、その後に、ステップ６６において、更新された視点の位置において、表示面への投影がなされる。これらのステップ５１、５２、５３、６６の処理が繰り返され、前進ボタンの押下に伴い、移動路沿いの光景が、奥側から手前側へと切り換ってゆく。図２０（ａ）〜（ｆ）の表示例は、ステップ５１、５２、５３、６６の処理が繰り返しにおいて、ステップ６６が一度実行される度に、表示面がどう表示されるかを表しており、また図における図２０（ａ）から図２０（ｂ）への切り換り、図２０（ｂ）から図２０（ｃ）への切り換りは、視点の移動ベクトル分の前進を表している。即ち、図２０（ａ）投影像２０（ｂ）とでは、図２０（ｂ）側の方が移動路の前にある十字路が前に迫ってきており、視点が移動路を前進している様子を如実に表している。図２０（ｂ）から図２０（ｃ）への切り換りは、図２０（ｂ）では、視野にはいっていた十字路が図２０（ｃ）では、無くなっており、また図２０（ｃ）とでは、もう一つ向こうのＴ字路が前に迫ってきているため、移動路を前進し、十字路に立った様子を如実に表している。
【００８２】
（視点が移動路の終点に到達し、自動接続情報により分岐が行われる場合）
上記のステップ５１、５２、５３、６６の処理が繰り返され、視点が移動路内を進んでゆく。そして、移動路１の終点に到達したとする。終点に到達すると、ステップ５３でＹｅｓとなり、ステップ５４に移行する。
ここで、本実施例において移動路から移動路への分岐がどのように行われかを図１８を参照しながら説明する。図１８は、移動路の分岐時において移動ベクトルが如何に更新されるかを示す説明図である。
【００８３】
図１８において視点の移動ベクトルは、現在視点がいる移動路の両端点の座標から算出される（図中の移動ベクトル＝端点２−端点１）。そして、視点の方向が切り換る場合は、視点の移動ベクトルは、切り換ろうとする移動路の移動ベクトルに更新されなくてはならない（本図の場合は、切り換え先が移動ベクトル２であり、これは、図中の移動ベクトル＝端点４−端点３の演算で求められる。）。よって、視点を異なる移動路へと分岐する場合は、視点の移動ベクトルをこれから切り換ろうとする移動路の移動ベクトルに更新しなくてはならない。この移動ベクトルの更新には、先ずこれらの２つのベクトルがなす角度αを求め、求めた角度だけ視点の向きを回転する。また、視点の回転軸ベクトルも移動路の分岐に伴って更新し、分岐先の移動路では、視点は、更新後の回転軸ベクトルを視線の回転に用いる。
【００８４】
次に、図１９の説明図を参照しながら移動路の分岐について説明を行う。上記のようにして、移動路１、移動路２がなす角度αを求めれば、視点の方向を移動路１から移動路２へと切り換えることが可能となるが、本実施例では、この角度αの回転を一度に行わない。何故なら、視点の視線が一度に移動路２を向いてしまうと、移動路を曲がってゆくといった現実感が損なわれるからである。そのため、本実施例では、小刻みな回転角度γが設定されていて、視点の回転は、この角度γずつ小刻みに行われ、角度γ分の回転がなされる度に、表示面には、回転前の状態から角度γだけ傾いた光景が表示される。この角度γの回転の度に、仮想空間の投影が行われ、移動路間を徐々に曲がるといった様子が表現される。
【００８５】
以上の移動路の切り換えが行われるように、図１３のステップ５５〜ステップ６６の処理は構成されている。以降各ステップの処理を順をおって説明する。
ステップ５４では前移動路の識別子を調べ、それが負の場合はステップ６６へ進む。この場合は前移動路は存在するのでＹｅｓとなり、ステップ５５へ進む。
ステップ５５では、視点が他の移動路に移行するため、移動路識別子を繰り下げてゆく。即ち、移動路識別子レジスタ７の現移動路の識別子で後移動路の識別子を更新し、前移動路の識別子で現移動路の識別子を更新する。前移動路の識別子で示される移動路に自動接続する移動路の識別子を接続関係記憶手段２から読みだし、それで前移動路の識別子を更新する。
【００８６】
ステップ５６では、移動路記憶手段１に記憶されている移動路から、始点終点レジスタ８の終点で示される方と等しい座標を有する移動路を探し出し、その移動路の端点の番号を始点終点レジスタ８の始点に書き込む。終点にはそれとは他方の番号を書き込む。
ステップ５７では、移動ベクトルを内部レジスタに一時的に保存し、始点終点レジスタ８の始点と終点の座標を移動路記憶手段１から求め、終点のベクトルから始点のベクトルを引くことで移動ベクトルを計算し、その大きさで割った単位ベクトルで移動ベクトルレジスタ１１を更新する。
【００８７】
ステップ５８では内部レジスタに一時的に保存された移動ベクトルと移動ベクトルレジスタ１１の移動ベクトルの内積からｃｏｓαの値を求め、それと内部に記憶した三角関数表からαを求める。
ステップ５９では内部レジスタに一時的に保存された移動ベクトルと移動ベクトルレジスタ１１の移動ベクトルの外積から２つベクトルに垂直なベクトルを求め、そのベクトルを軸に回転軸ベクトルレジスタ１０のベクトルをαだけ回転したベクトルで回転軸ベクトルレジスタ１０を更新する。
【００８８】
ステップ６０では視線ベクトルを旋回するための初期値としてθをαにセットする。
ステップ６１ではあらかじめ設定された角度γとθを比較しγ＜＝θの場合はステップ６２に進む。そうでない場合はステップ６５へ進む。
ステップ６２では視線ベクトルを回転軸ベクトルの周りにγだけ回転させた値で視線ベクトルレジスタを更新する。
【００８９】
ステップ６３では、ステップ６２で更新された視線ベクトルについて、その視線でみた仮想空間の光景を表示面に投影する。具体的には、レンダリング部５に更新された位置についてレンダリング処理を行わせ、３次元オブジェクト、移動路オブジェクトの投影像をフレームバッファ６に書き込ませる。
ステップ６４ではθをγだけ減じてステップ６１へ戻る。
【００９０】
以上のステップ６１〜６４を行うと、表示面には、角度γだけ回転した仮想空間の光景が表示される。そして、ステップ６１〜６４の繰り返しにより、角度γ毎の光景が切り換ってゆく。
ステップ６５では視線ベクトルを回転軸ベクトルの周りにθだけ回転させた値で視線ベクトルレジスタを更新する。
【００９１】
ステップ６６では、ステップ６２で更新された視線ベクトルについて、その視線でみた仮想空間の光景を表示面に投影する。具体的には、レンダリング部５に更新された位置についてレンダリング処理を行わせ、３次元オブジェクト、移動路オブジェクトの投影像をフレームバッファ６に書き込ませる。
このように、ステップ６１〜６４の繰り返しによる表示面の表示切り換えと、ステップ６５、６６による表示切り換えとで、表示面には、移動路２沿いの光景が表れる。
【００９２】
以降、図２１の説明図を参照しながら、ステップ６１〜６６の繰り返しによって、表示面に映ずる仮想空間の光景が切り換ってゆく様子について説明を行う。図２１（ａ）〜（ｆ）はステップ６２〜６６の処理が繰り返された場合、表示面の画像が切り換ってゆく様子を表している。ステップ６２を一度行う度に、視線ベクトルの方向は、角度γだけ回転してゆき、その後に、ステップ６３において、更新された視点の視線について表示面への投影がなされるから、移動路１から移動路２への分岐で、図２１（ａ）から（ｆ）までの表示例が次々に表示面上に表れる。また図２１（ａ）から図２１（ｂ）への切り換り、図２１（ｂ）から図２１（ｃ）への切り換りは、視線の角度γ分の回転を表している。即ち、図２１（ａ）と図２１（ｂ）とでは、図２１（ｂ）側の方が移動路の左脇にある３角錐が右に流れており、視点の視線が左をむいてゆく様子を如実に表している。図２１（ｂ）から図２１（ｃ）への切り換りは、図２１（ｂ）では、表示面の中央に位置していた３角錐が図２１（ｃ）では、右側によっており、更に図２１（ｄ）では、３角錐は、表示面の右端に映じているのみとなっている。加えて図２１（ｅ）では、３角柱が表示面から消えており、視点の視線が移動路２に向いたことを如実に表している。
【００９３】
（後退ボタンの押下時の処理）
以上が前進ボタンが押された時の処理である。つぎに後退ボタンが押されたときの処理を図１４のフロ−チャ−トを参照しながら説明する。後退も前進と同様に処理されるのでその差異に重点を置いて説明する。尚、以降の説明において、視点は、移動路１の途上にあり、ここで、操作者によって後退ボタンが押下されたものとする。
【００９４】
ステップ７１では、視点の座標が始点終点レジスタ８の始点と等しいかを比較しする。この場合、視点が移動路の途中にいるとして、ステップ８３へ進む。
ステップ８３では、視点位置レジスタ１２の値を、移動ベクトルレジスタ１１の方向に向けて、移動ベクトルの大きさだけ進める。ここで、もし始点の座標を超えている場合は始点の座標で視点位置レジスタ１２を更新し、ステップ８７へ進む。
【００９５】
ステップ８７では、ステップ８３で更新された視点位置について、その位置からみた仮想空間の光景を表示面に投影する。具体的には、レンダリング部５に更新された位置についてレンダリング処理を行わせ、３次元オブジェクト、移動路オブジェクトの投影像をフレームバッファ６に書き込ませる。
以上のステップ７１、８３、８７の処理を繰り返すと、視点の位置は、移動路の始点に向けて移動してゆく。この繰り返しによって、視点が移動路の始点に到達すると、ステップ７１がＹｅｓとなり、ステップ７２に移行する。
【００９６】
ステップ７２では前移動路の識別子を調べ、それが負である場合はステップ８７へ進む。この場合視点がいる移動路は他の移動路を接続しているので、ステップ７３へ進む。
ステップ７３では、ステップ５５と同様、後退ボタンの押下に伴って、オブジェクト記憶手段３の内容を繰り下げてゆく。即ち、移動路識別子レジスタ７の現移動路の識別子で前移動路の識別子を更新し、後移動路の識別子で現移動路の識別子を更新し、後移動路の識別子で示される移動路に自動接続する移動路の識別子を接続関係記憶手段２から読みだし、それで後移動路の識別子を更新する。
【００９７】
ステップ７４では、ステップ５６と同様、前移動路で示される移動路記憶手段１の移動路の端点の座標の内、始点終点レジスタ８の始点で示される方と等しい座標を現移動路で示される移動路記憶手段１の移動路から求め、その座標の端点の番号を始点終点レジスタ８の終点に書き込む。一方終点にはそれとは別の番号を書き込む。
【００９８】
ステップ７５では、ステップ５７と同様、移動ベクトルを内部レジスタに一時的に保存し、新たな分岐先の移動路の始点と終点の座標を移動路記憶手段１から求め、それから移動ベクトルを計算し、その大きさで割った単位ベクトルで移動ベクトルレジスタ１１を更新する。
ステップ７６では、ステップ５８と同様、内部レジスタに一時的に保存された移動ベクトルと移動ベクトルレジスタ１１の移動ベクトルの内積からｃｏｓαの値を求め、それと内部に記憶した三角関数表から分岐に要する角度αを求める。
【００９９】
ステップ７７では、ステップ５９と同様、内部レジスタに一時的に保存された移動ベクトルと移動ベクトルレジスタ１１の移動ベクトルの外積から２つベクトルに垂直なベクトルを求め、そのベクトルを軸に回転軸ベクトルレジスタ１０のベクトルをαだけ回転したベクトルで回転軸ベクトルレジスタ１０を更新する。ステップ７８では、ステップ６０と同様、視線ベクトルを旋回するための初期値として角度θを角度αにセットする。
【０１００】
ステップ７９では、ステップ６１と同様、あらかじめ設定された角度γとθを比較しγ＜＝θの場合はステップ８４に進む。そうでない場合はステップ８０へ進む。
ステップ８０では、ステップ６２と同様、視線ベクトルを回転軸ベクトルの周りにγだけ回転させた値で視線ベクトルレジスタを更新する。
【０１０１】
ステップ８１では、ステップ６３と同様、ステップ６２で更新された視線ベクトルについて、その視線でみた仮想空間の光景を表示面に投影する。具体的には、レンダリング部５に更新された位置についてレンダリング処理を行わせ、３次元オブジェクト、移動路オブジェクトの投影像をフレームバッファ６に書き込ませる。
【０１０２】
ステップ８２では、ステップ６４と同様、θをγだけ減じ、ステップ７９へ戻る。
以上のステップ７９〜８１を行うと、表示面には、角度γだけ回転した仮想空間の光景が表示される。そして、ステップ７９〜８１の繰り返しにより、角度γ毎の光景が切り換ってゆく。
【０１０３】
ステップ８４では、ステップ６５と同様、視線ベクトルを回転軸ベクトルの周りにθだけ回転させた値で視線ベクトルレジスタを更新する。
ステップ８５では、ステップ６５で更新された視線ベクトルについて、その視線でみた仮想空間の光景を表示面に投影する。具体的には、レンダリング部５に更新された位置についてレンダリング処理を行わせ、３次元オブジェクト、移動路オブジェクトの投影像をフレームバッファ６に書き込ませる。
【０１０４】
ステップ８６では移動ベクトルレジスタ１１の値を視点位置レジスタ１２の値に加算する。ここで、もし始点の座標を超えている場合は始点の座標で視点位置レジスタ１２を更新する。
ステップ８７ではレンダリング部５が３次元オブジェクトとカーソルをフレームバッファ６に書き込み、ディスプレィ２１が表示を行う。
【０１０５】
このように、ステップ７９〜８１の繰り返しによる表示面の表示切り換えと、ステップ８２〜８７による表示切り換えとで、表示面には、移動路２沿いの光景が表れる。
（移動方向を逆向きに変更する）
図１５は視点の移動方向の変更時（逆向きへの変更時）の動作を示すフローチャートである。操作者が移動方向の変更用のボタンを押下すると、図１１のフロ−チャ−トから本図のフロ−チャ−トへの分岐が行われれる。
【０１０６】
ステップ３１では、移動路識別子レジスタ７の前移動路と後移動路の識別子を交換する。
ステップ３２では現在の移動ベクトルの逆ベクトルを求め、移動ベクトルレジスタ１１を更新する。
ステップ３３では、現在の視線ベクトルを回転軸ベクトルの周りに１８０°回転したベクトルで視線ベクトルレジスタ９を更新する。
【０１０７】
ステップ３４では始点終点レジスタ８の始点と終点を交換する。
以上のように、移動路識別子レジスタ７、移動ベクトルレジスタ１１、視線ベクトルレジスタ９の更新が行われた後、視点を前進させると、図１４のフロ−チャ−トのステップ６６の投影処理で逆向きの光景が表示面に投影される。
（視線方向を左右に旋回する）
図１６は視線方向の変更時の動作を示すフローチャートである。尚、以降の説明において、視点は移動路の途上にあり、この状態で操作者が旋回ボタンを押下したものとする。
【０１０８】
ステップ４１では、右旋回ボタンが押されたか否かの判定を行い、押下された場合はステップ４２へ進む。そうでない場合はステップ４３へ進む。この場合、右旋回ボタンが押下されたとして、ステップ４２において視線ベクトルを回転軸ベクトルの周りにあらかじめ設定された大きさθ°だけ右に回転させる。
ステップ４３で、左旋回ボタンが押されたか否かの判定を行う。左旋回ボタンが押された場合はステップ４４へ進み、そうでない場合は処理を終了する。
【０１０９】
ステップ４４では、左旋回ボタンが押下されたとして、視線ベクトルを回転軸ベクトルの周りにあらかじめ設定された大きさθ°で左に回転させる。
ステップ４５では、角度θだけ回転された視線の視野に入る仮想空間内の３次元オブジェクトとカーソルとをフレームバッファ６に投影する。これによって、表示面には、角度θだけ回転された仮想空間の光景が表示される。
【０１１０】
このステップ４５で、旋回後の仮想空間の光景が表示面に投影されることにより、視線方向を左右に旋回させ、辺りを見渡すことができる。
なお、ここでは視線方向を変更するのに回転軸ベクトルを１つ使用し、左右への旋回のみを可能としたが、回転軸ベクトルをもう１つ使用しすれば、上下方向への視線方向の変更もできる。このときの上下用回転軸ベクトルは左右用の回転軸ベクトルと視線ベクトルの２つのベクトルに垂直なベクトルとなり、ベクトルの外積で簡単に求めることができる。
【０１１１】
（移動路変更時の動作）
図１７は移動路変更時の動作のフローチャートである。尚、以降の説明において、視点は、移動路の途上にあるものとし、この状態で、操作者がカーソルでディスプレィ２１上の移動路オブジェクトを指示したものとする。
カーソルを移動路オブジェクトの上に移動し、付属のボタンをクリックするとカーソル位置がポインティングデバイス２３から制御手段１４へと送られる。
【０１１２】
ステップ２１では入力されたカーソル位置の２次元座標で特定される画素（ピクセル）の値をフレームバッファ６より取得する。
ステップ２２ではピクセル値からオブジェクト識別子を抽出する。
ステップ２３では抽出したオブジェクト識別子が移動路オブジェクト識別子かどうかを判別し、そうでない場合は、この処理を終了する。この実施例では移動路オブジェクト識別子＞０の関係を設定しており、この場合は、移動路オブジェクト上でクリックが行われたので、移動路オブジェクト識別子として正の数が返され、ステップ２４に進む。
【０１１３】
ステップ２４では、オブジェクト識別子に対応する移動路識別子を対応関係記憶手段４から読み出す。
ステップ２５では読み出した移動路識別子が現移動路の接続関係記憶手段１の２つの端点の選択接続情報に含まれているかどうかを判別する。この場合、読み出された移動路の識別子は接続関係記憶手段１において、現移動路の選択接続情報先に含まれているので、読み出された識別子の移動路が分岐先と判別される。このように含まれている場合はステップ２４に進む。もし、そうでない場合は、ステップ２６へ進む。
【０１１４】
ステップ２６では、その選択接続情報を含む端点と始点終点レジスタの始点および終点とを比較し、始点と等しい場合は移動路識別子レジスタ７の後移動路を更新する。終点と等しい場合は前移動路を更新する。操作者が移動路オブジェクト４を選択した場合の移動路識別子レジスタ７は（４、１、−１）となる。なお、本実施例では文献「ＯｐｅｎＧＬ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｇｕｉｄｅ」に示される、いわゆる後方バッファを使用したオブジェクトの選択方法を採用している。オブジェクトの選択方法には様々な方法が有り、この文献には他にセレクションモードを利用したオブジェクトの選択方法も記述されているが、こちらを使用しても実現できることはいうまでもない。
【０１１５】
このように、ステップ２６でオブジェクト記憶手段３の更新がなされ、この後に、前進の指示を繰り返すと、図１３のフロ−チャ−トに示した前進処理において、視点の方向が、ポインティングデバイス２３によって選択された移動路へと切り換ってゆく。
このように本実施例によれば、カーソルによる移動路オブジェクトの選択と、前進、後退とによって、岐路の分岐を行うことができる。このようにカーソルでの移動路の選択が実現すれば、（１）十字路中の交差点までの移動、（２）交差点に達したかの確認、（３）達していなければ移動を継続、（４）達していれば移動方向を変更、移動の継続という一連の（１）〜（４）の操作が不要になり、操作性が著しく向上する。
【０１１６】
また、視点の移動範囲は移動路オブジェクトによって明確に示されるので仮想空間を制作する制作者は操作者から見える部分と見えない部分を容易に把握することができ、仮想空間を制作する制作者側もデータの作成範囲がわかりやすい。そのため、見えない部分のデータを作るという無駄な作業を防ぐことができ、３次元データの作成効率も非常に高いといった効果を有する。
【０１１７】
尚本実施例では、始点終点レジスタは、始点と終点の番号を記憶したが、始点の番号がわかれば終点の番号がわかるのでいずれか一方を記憶するように構成してもよい。
以上の第１実施例では、模式的な仮想空間を一例にして説明を進めたが、次に本画像表示装置が仮想店舗システムに適用された具体例について説明を行う。図３５（ａ）（ｂ）、図３６（ａ）（ｂ）、図３７（ａ）（ｂ）は、家電売り場３次元仮想店舗システムに本実施例の構成を適用した場合の表示例である。
【０１１８】
図３５（ａ）では、仮想店舗内の十字路が存在する光景を表している。本図において、表示面中央の白地の４つ移動路オブジェクトが十字路を形成している。この十字路が視点が現在置の手前に存在している。この現移動路において、右手側の棚に３台のビデオデッキが陳列され、左手側の棚に３台のテレビｂ４、ｂ５、ｂ６が陳列されている。そして、十字路を挟んだ向こう側に冷蔵庫ｂ７が陳列されている。これらのビデオデッキｂ１、ｂ２、ｂ３やテレビｂ４、ｂ５、ｂ６は、３次元オブジェクトであり、上記に示した移動路記憶手段１、接続関係記憶手段２、オブジェクト記憶手段３に記憶されて管理されている。
【０１１９】
この仮想店舗システムでは、ビデオデッキｂ１、ｂ２、ｂ３やテレビｂ４、ｂ５、ｂ６をカーソルで指示すると、これらについての説明表示がなされるのだが、これらの説明については、本発明で特に対象にしないので説明は省略する。
操作者は、通路を通り左折するため、カーソルを位置Ａに移動させ、前進ボタンを押下したとする。この場合、カーソルの先端が左方向に配置された移動路８を指示しているので、移動路８が分岐先として決定される。
【０１２０】
操作者は、カーソルを位置Ｂまで移動させ、前進ボタンを押下したとする。
前進ボタンの押下によって、視点の位置が数歩前進し、図３５（ｂ）の画像が表示される。
図３６（ａ）は、視点が十字路に到達した場合の画像である。この場合、操作者は、自身が十字路に達したかどうかの情報は表示例からは得られない。従来例のウォークスルーの操作方法では、ここで視線方向を左右に振るか、足元を見る等の操作が必要だった。これに対して発明では、十字路に到達すると、自動的に次に進むべき方向に視点を移動するように制御するので、そのような操作をする必要がない、即ち、前進ボタンを押下してゆけば、視点は、左側に折れ曲がってゆく。図３６（ｂ）、図３７（ａ）、（ｂ）は、自動的に、視線方向が左向きに旋回した様子の表示例である。図３６（ｂ）では、移動路の向こう側にある冷蔵庫が表示面中央に表れ、図３７（ａ）では、中央に位置した冷蔵庫が、表示面の右側に寄り、移動路２の右脇に配置している家電製品が表れている。図３７（ｂ）では、移動路８の移動路オブジェクトが表示面の中央に位置し、移動路２の向きにある。図３５（ａ）の画像は全く表示面に表れてなかった移動路８の向こうの大型テレビが、表示面に表れる。
【０１２１】
以上の仮想店舗の例の他に、図２２を参照しながら、本発明をカーナビゲーションシステムに適用した場合の具体例を説明する。従来技術として説明したように、カーナビゲーションシステムにおいては、実際に自動車をドライブする前に、自宅で目的地までの道順を表示して確認するといった、シュミレーション目的のものがある。このシュミレーションでは、図２２に示すように、カーナビゲーションシステムに記憶されている直前上の建造物や道路（通路）の配置に基づいて、移動路オブジェクトや、３次元オブジェクトを表示面上に表示し、この表示面上の光景に対して、前進、後退等の操作を操作者に行わせ、その操作に対して表示面の画像を切り換える。このようなシュミレーションで予め目的地に至るまでの光景に見慣れておけば、後でドライブを行う場合に非常に好適である。この場合、移動路の選択をポインティングデバイスを介して行えば、この移動路の選択が簡単に行えるようになり、このシュミレーションが非常に手軽に行える。
【０１２２】
このように本実施例の構成は、仮想空間内の光景を表示面に投影させるといった画像表示を行うウォークスルーシステムであれば、どのようなものにも広く適用することができる。
（第２実施例）
第１実施例において、移動路同士の接続は、仮想空間における端点の座標が一致していることが前提であったが、第２実施例では、たとえ端点の座標が一致しなくても、移動路の接続関係にリンク属性といった論路的な接続関係が規定されていれば、これらの移動路は接続しているものとして、視点を移動させるようにしている。
【０１２３】
上記のリンク属性が設定されているため、図４に示した接続関係記憶手段２には、第１実施例に記憶内容に加えて、２つの移動路間のリンク属性を記憶している。第２実施例における接続関係記憶手段２の内容を図２３に示す。図２３を参照すると、移動路４の端点２の自動接続情報、選択接続情報と、移動路７の端点７の自動接続情報、選択接続情報とにリンク属性”−２”が与えられる。図３を参照すれば、移動路４の端点２の座標は、（３、３、４）であり、移動路７の端点２の座標は、（３、３、７）であるため、これらは、座標上では一致関係には無いが、この”−２”といった、論理的な接続関係が規定されているので、移動路４と移動路７とは、行き来を行うことが可能である。図３（ｂ）に示した地図では、移動路４及び移動路７は、Ｘ軸方向に進んでゆくと行き止まりになるはずであるが、このように移動路４、移動路７間の論理的な接続が規定されているので、移動路４をＸ軸の負の向きに進んでいけば、自動的に移動路７へと分岐し、移動路７上を正の向きに進んでゆくようになっている。逆に移動路７を、Ｘ軸の負の向きに進んでいけば、自動的に移動路４へと分岐し、移動路４上を正の向きに進んでゆくようになっている。
【０１２４】
また第２実施例では、図４に示した構成に加えて、リンク関係記憶手段が付加されている。このリンク関係記憶手段はリンク元の移動路識別子とリンク先移動路識別子とそれらの移動路の始点となる端点を記憶する。リンク関係記憶手段に記憶された図２における移動路４と移動路７のリンク関係を図２４に示す。図２４に示すリンク関係記憶手段の記憶内容には、リンク元移動路識別子とリンク先移動路識別子と始点とが対応づけられ、２つの移動路間のリンク関係が規定されている。
【０１２５】
以上のように構成された第２実施例の動作を示す図２５および図２６のフローチャートを用いて説明する。
図２５は、前進ボタンが押された場合の処理を示すフローチャートである。本フロ−チャ−トと図１３、１４に示したフロ−チャ−トとの差違点は、図２５においてステップ１０１、１０２が付加されている点である。
【０１２６】
今、視点は図２に示した移動路２→移動路７の経路で分岐し、現在移動路７を移動中であるものとする。このときの移動路識別子レジスタ７の値は（−２、７、２）である。
ここで前進ボタンが押され、ステップ５１、５２、５３、６６の移動路の処理が繰り返されて、視点が移動路７の終点に達したものとする。そのため、ステップ５３がＹｅｓとなり、ステップ５４に移行する。移動路７の端点２の接続情報は、上記の通り，−２であり、ステップ５４がＮｏになって、ステップ１０１に移行する。
【０１２７】
ステップ１０１では前移動路がリンク属性かどうかを判別し、リンク属性つまり−２の時はステップ１０２へ進む。リンク属性でない場合はステップ６６へ進む。
ステップ１０２では図２０のフロ−チャ−トで示されるリンク処理を行う。その結果、視点は移動路４の端点２へ進む。
【０１２８】
図２６は後退ボタンが押された場合の処理を示すフローチャートである。本フロ−チャ−トと図１４に示したフロ−チャ−トとの差違点は、図２６においてステップ１１１、１１２が付加されている点である。
今、視点は図２の移動路７→移動路４の経路で移動し、現在移動路４の端点２を始点に端点１へ向けて移動しようとしているとする。このときの移動路識別子レジスタ７の値は（３、４、−２）である。
【０１２９】
ここで後退ボタンが押され、ステップ７１、８３、８７の移動路の処理が繰り返されて、視点が移動路４の終点に達したものとする。そのため、ステップ７１がＹｅｓとなり、ステップ７２に移行する。移動路４の端点２の接続情報は、上記の通り，−２であり、ステップ７２がＮｏになって、ステップ１１１に移行する。ステップ１１１では後移動路がリンク属性かどうかを判別し、リンク属性、つまり、−２の場合はステップ１１２へ進む。リンク属性でない場合はステップ８７へ進む。
【０１３０】
ステップ１１２では図２７のフロ−チャ−トに示すリンク処理を行う。その結果、視点は移動路７の端点２へ進む。
図２７はリンク処理を示すフローチャートである。上記のステップ１０２、１１２へと処理が移行すると、本フロ−チャ−トの一連の処理が実行される。
本フロ−チャ−トにおいてステップ１２１では移動路識別子レジスタ７の現移動路をリンク元にするリンク先の移動路識別子をリンク関係記憶手段から読み出し、オブジェクト記憶手段３の現移動路に書き込む。
【０１３１】
次に現移動路の終点側に自動接続する移動路を接続関係記憶手段２から読み出して前移動路に書き込む。最後に後移動路に−２を書き込む。
ステップ１２２ではリンク関係記憶手段の始点の番号を始点終点レジスタ８の始点に、終点にはそれとは異なる方を書き込む。
ステップ１２３では始点終点レジスタ８の始点から終点に進むベクトルを移動ベクトルレジスタ１１に書き込む。
【０１３２】
ステップ１２４では、移動ベクトルレジスタ１１と同じベクトルを視線ベクトルレジスタ９に書き込む。
ステップ１２５ではリンク関係記憶手段の始点に対応する座標を移動路記憶手段１から読み出して、視点位置レジスタ１２に書き込む。
ステップ１２６ではリンク元の移動ベクトルとリンク先の移動ベクトルから垂直ベクトルと旋回角度を求め、回転軸ベクトルを垂直ベクトルのまわりに旋回角度だけ回転させたベクトルを求め回転軸ベクトルレジスタに書き込む。
【０１３３】
このようにオブジェクト記憶手段３、対応関係記憶手段、回転軸ベクトルレジスタ１０、制御手段１４の更新を行い、ステップ６６に移行すると（これは前進の場合であり、後退の場合では、ステップ８７になる。）、回転軸ベクトルレジスタ１０、移動路記憶手段１に移動路４についての情報が書き込まれたため、表示面には、移動路４沿いの光景が映ずるようになる。
【０１３４】
具体的には、視点が直前上ではいき止まりのはずの移動路４を進んでゆき、端点２に達すると、端点２で、図２０に示したリンク処理が行われれ、オブジェクト記憶手段３、対応関係記憶手段、回転軸ベクトルレジスタ１０、制御手段１４の内容が移動路７についての情報に更新される。よって、表示面では、移動路４の光景から移動路７の光景へと切り換り、操作者はこれらの移動路が接続しているような感覚を得ることができる。
【０１３５】
以上のように本実施例によれば、座標上において直接連続していない移動路間で、視点を行き来させることができるので、たとえ仮想空間の広さが制限されていても、視点をあちこちに移動させることができる。
また視点の移動を行わせたい２点間に障害物となる３次元オブジェクトが存在し、この間に移動路を配置することが不可能である場合に、当該２点間をリンク属性によって論理的に接続することで、この２点間において視点を行き来させることができる。
【０１３６】
（第３実施例）
第３実施例では、移動路オブジェクト上でポインティングデバイス２３から一回クリックを行うと前進、２回以上クリックを行うと後退、移動路オブジェクト上以外でクリックすると停止するというように、カーソル位置と、クリック回数とに応じて、視点の移動制御を行っている。
【０１３７】
そのため、第３実施例では、図４に示した構成に加えて、以下に示す回数レジスタが付加されている。
回数レジスタは、クリック回数と、その回数に対応する移動命令との対応関係を記憶する。図２８にクリック回数と移動命令の対応関係を示す。図２２に示すように、クリック回数が０回なら移動命令は停止命令であり、クリック回数が１回なら移動命令は前進である。また、クリック回数が２回以上なら移動命令は後退である。
【０１３８】
上記のクリック回数による制御を行うため、図１７に示した移動路の変更処理フロ−チャ−トは、図２９に示すように、ステップ２０、ステップ２７、ステップ２８が付加されている。
図２９においてステップ２０では、ボタンのクリック入力があると、そのクリックが何回行われたかをカウントして、回数を回数レジスタに書き込む。
【０１３９】
ステップ２０の実行後、ステップ２１で、ポインティングデバイス２３によって指示された画素から移動路識別子を取得し、ステップ２２でのオブジェクト識別子の抽出が順次行われ、ステップ２８へと至ると、ステップ２８において回数レジスタの回数に対応した移動命令を移動命令レジスタ１３に書き込む。
以上のステップ２０〜２８の処理を行えば、移動命令レジスタ１３に、クリック回数に応じた移動命令が記憶される。
【０１４０】
次に、オブジェクト識別子がオブジェクトのものでなかった場合の処理（ステップ２５での判定でＮｏ）について説明を行う。
ステップ２３がＮｏならば、ステップ２７において回数レジスタが０クリアされる。ステップ２７に移行した後、処理はステップ２８に移行するが、ステップ２８では、０クリアされた移動命令、即ち、停止命令が与えられる。
【０１４１】
以上のように、本実施例によれば操作者はディスプレィ２１に表示された移動路オブジェクト上でポインティングデバイス２３から一回クリックを行うと前進、２回以上クリックを行うと後退、移動路オブジェクト上以外でクリックすると停止するように視点が移動するので、視点の移動がより簡単に行われ、操作性が多いに向上する。
【０１４２】
（第４実施例）
第３実施例ではクリックの回数で前進、後退を行ったが、第４実施例では更に、ポインティングデバイス２３のカーソル位置によって視線方向の右旋回、左旋回を可能にしている。
そのため、第４実施例では、図３０に示すように、表示面上においてその右脇、左脇が領域２、領域３に割り当られ、それ以外の領域が領域１に割り当られている。そして、これらの領域は、図３１に示すように、領域１が停止に割り当られ、領域２が右旋回に割り当られている。また領域３が左旋回に割り当られている。
【０１４３】
また第４実施例では、図３２に示すステップが図２９に示したフロ−チャ−トに付加されている。即ち、第４実施例では、図２９におけるステップ２３での判定において、ピクセル値から取得したオブジェクト識別子が移動路オブジェクトのものでなかった場合（Ｎｏの場合）、図３２のステップ５３に移行する。図３２のフロ−チャ−トにおいて、ステップ５４及びステップ５６の処理が行われると、図２９の”終了”へと移行する、ステップ５５でＮｏと判定されると、図２９のステップ２８へと移行する。
【０１４４】
以降、これらの図３２に示したステップを順を追って説明してゆく。
ステップ５３では、クリックされた位置が表示面の右脇であるか否かを判定する。もし右脇であれば、右向きの回転命令を移動命令レジスタ１３に記憶させる。
ステップ５５では、クリックされた位置が表示面の左脇であるか否かを判定する。もし左脇であれば、左向きの回転命令を移動命令レジスタ１３に記憶させる。
【０１４５】
以上のステップ５３、５５の実行の後、図１１のメインフロ−チャ−トに移行する。ここに移行した状態で、移動命令レジスタ１３には、旋回命令が記憶されているため、図１６のフロ−チャ−トが実行されて、視線方向の回転が行われる。
以上のように、本実施例によれば、第３実施例での操作性の向上に加えて、表示面に対してクリックを行うことで視線を回転させることができる。そのため、操作性を更に向上させることができる。
【０１４６】
（第５実施例）
第５実施例では、表示面において移動路識別子レジスタに記憶されている移動路オブジェクトと、現在移動に使用している移動路に接続される移動路と、それ以外とを色分けして表示する。
第５実施例において、移動路の色分けが如何に行われるかを、図３３の説明図に示す。図３３（ａ）における対応図表は、移動路識別子と、その移動路の色と、その色との対応を示している。即ち、本図において移動路識別子１は、システム１で描画されることを示している。移動路識別子３は、システム２で描画されることを示している。これらの移動路の色分けは、図６における移動路間の接続関係に対応している。即ち、図６において、移動路識別子レジスタ７に記憶されている現移動路及びその前後の移動路は、全てシステム１の色で描画される。また、図６において、接続関係が選択接続になっている移動路は、全てシステム２の色で描画される。更に、これらの、視点が今いる移動路と接続関係がない移動路は、オリジナルの色で描画されている。
【０１４７】
第５実施例では、図４に示したレンダリング部５がこの図３３（ａ）に示した対応図表を記憶し、図３４のフロ−チャ−トに示す処理で、表示面上に投影像を描画する。この描画処理について図３４を参照しながら説明する。
今、視点は図２の移動路１を通り、移動路２を移動路６へ向けて移動中とする。この時、移動路識別子レジスタ７の値は（６、２、１）である。レンダリング部５は、３次元オブジェクトの投影を行う際、図３４に示す色変換ルーチンを呼び出す。
【０１４８】
この図３４のフロ−チャ−トは、ステップ１４１〜１４８の処理を、全てのオブジェクトについて繰り返す構造になっている。
図３４のステップ１４１では、１つのオブジェクトのオリジナルの色コードからオブジェクト識別子を抽出する。
ステップ１４２では抽出したオブジェクト識別子が移動路オブジェクトのものであるか判別し、そうであるならステップ１４３へ、そうでないならステップ１４８へ進む。
【０１４９】
ステップ１４３ではオブジェクト識別子に対応する移動路識別子を対応関係記憶手段４から読み出す。
ステップ１４４では、その移動路識別子が移動路識別子レジスタ７に記憶されているいずれかの移動路ぼ識別子と等しいか否かを判定する。即ち、移動路識別子が視点が今いる現移動路か、或は移動路識別子レジスタ７に記憶されている現移動路及びその前後の移動路であれば、ステップ１４６へ進む。等しくなければステップ１４５へ進む。
【０１５０】
ステップ１４６では、移動路オブジェクトオリジナルの色をあらかじめ定めたシステム１の色に変換し、その色でオブジェクト識別子の移動路オブジェクトを描画する。このようなシステム１色での描画によって、移動路識別子レジスタ７に記憶されている現移動路及びその前後の移動路とは、表示面上に映えるようになる。
【０１５１】
ステップ１４５ではステップ１４３で読み出された移動路識別子が移動路識別子レジスタ７に記憶されている選択可能な移動路識別子のいずれかと等しいかを接続関係記憶手段２の記憶内容と比較する。等しい場合はステップ１４７へ進む。等しくない場合はステップ１４８へすすむ。
ステップ１４７では、移動路オブジェクトオリジナルの色をあらかじめ定めたシステム２の色に変換し、その色でオブジェクト識別子の移動路オブジェクトを描画する。このようなシステム２色での描画によって、現移動路に選択接続される移動路とは、表示面上に映えるようになる。
【０１５２】
ステップ１４８では３次元オブジェクトのオリジナルの色コードで移動路オブジェクトをフレームバッファ６に書き込む。
このようにステップ１４１〜１４８を全てのオブジェクトに対して繰り返し行うと、視点が今いる現移動路と、に記憶されている現移動路及びその前後の移動路とがシステム１で描画され、現移動路に選択接続される移動路がシステム２で描画され、それら以外の移動路はオリジナルの色で描画され、表示面の投影像にめりはりが与えられる。
【０１５３】
以上のように本実施例によれば、表示面の投影像にめりはりが与えられるので、視点がどの方向に進んでゆくかを、操作者は表示面への投影像から把握でき、ウォークスルーの利便性が高まる。尚第５実施例においてシステム１の色での描画は、移動路識別子レジスタ７に記憶されている移動路と自動接続される移動路を探索し、探索で見つかったものを全て、システム１で描画してもいい。
【０１５４】
尚、上記実施例に基づいて説明してきたが、本発明は、その要旨を逸脱しない範囲で変更実施することができる。例えば、以下の（ａ）〜（ｃ）に示すような変更実施が可能である。
（ａ）第１〜第５実施例ではカーソルが特定の領域に位置するとき、それに対応する視線方向の回転がなされたが、カーソルが領域に位置し、かつ操作者がカーソルをディスプレィ２１の外側の方向へ移動させようと操作したとき視線方向の回転がなされるように制御してもよい。この場合は、カーソルが領域に入っただけでは視線方向の回転がされず、画面の端のオブジェクトを選択し易いというメリットがある。また、上下方向の回転軸を設定すれば、上下方向の視線の回転を行えることはいうまでもない。
【０１５５】
（ｂ）図４においては各記憶手段を１つのブロックとして説明したが、これは説明の便宜を優先しただけにすぎない。即ち、各記憶手段の記憶内容を光ディスク等の媒体に記録して更新可能にしてよいことはいうまでもない。この場合、光ディスクを装着し、ディスクの回転駆動して、光ピックアップからデータを読み出す汎用型のドライバ機構を内蔵するか、或は外付けで接続すればよい。
【０１５６】
（ｃ）（ｂ）の説明において記憶内容は光ディスク等によって更新されると言及してたが、通信網を介して更新可能なこともいうまでもない。即ち、画像表示装置がＩＳＤＮやＬＡＮ等のデジタルネットワーク用の通信インターフェィスやモデムを装着して、ＩＳＤＮやＬＡＮのデータサーバをアクセスを行い、必要なデータを読み出し、読み出したデータでこれらの記憶内容を更新してもよい。
【０１５７】
【発明の効果】
以上説明してきたように、請求項１また２の発明に係る画像表示装置によれば、表示面上に投影された通路の投影像を指示させることで分岐先が決定するので、（１）十字路中の交差点までの移動、（２）交差点に達したかの確認、（３）達していなければ移動を継続、（４）達していれば移動方向を変更、（５）移動の継続という（１）〜（５）の一連の操作が不要になり、操作性が著しく向上する。
【０１５８】
また、視点の移動範囲は移動路オブジェクトによって明確に示されるので仮想空間を制作する制作者は操作者から見える部分と見えない部分を容易に把握することができ、仮想空間を制作する制作者側もデータの作成範囲がわかりやすい。そのため、見えない部分のデータを作るという無駄な作業を防ぐことができ、３次元データの作成効率が非常に高い。
【０１５９】
また、請求項３の発明に係る画像表示装置によれば、請求項１における効果に加えて、
表示面上で通路が占めている領域が指示されるとその通路が移動先に判定され、指示されないと、予定通路が判定されるので、通路間の分岐に操作者を手間取らせない。
【０１６０】
また、請求項４の発明に係る画像表示装置によれば、請求項１における効果に加えて、
通路の向きを示すベクトルで視線及び視野が決定されるので、演算が低負荷になり、『バーチャルウォークスルー』が好適に実現する。
また、請求項５の発明に係る画像表示装置によれば、請求項１における効果に加えて、
通路から通路への分岐は、通路のベクトルがなす角度を算出し、その角度分だけ視線を回転することで低負荷の演算で実現されるので、『バーチャルウォークスルー』が好適に実現する。
【０１６１】
また、請求項６の発明に係る画像表示装置によれば、請求項１における効果に加えて、
視点の移動は、前進手段によって単位ベクトルの大きさ分ずつ、小刻みに行われ、単位ベクトルの大きさ分の前進の度に表示面上の投影像は切り換るので、現実感のある『バーチャルウォークスルー』が実現する。
【０１６２】
また、請求項７の発明に係る画像表示装置によれば、請求項１における効果に加えて、
視点の移動は、前進手段によって単位ベクトルの大きさ分ずつ、小刻みに行われ、単位ベクトルの大きさ分の前進によって視点が通路の端点に達すると書き込み手段によって視線ベクトルの書き込みが行われるので、『バーチャルウォークスルー』で現実感のある岐路間の分岐が実現する。
【０１６３】
また、請求項９の発明に係る画像表示装置によれば、請求項１における効果に加えて、
視線を回転する旨の操作者の操作を受け付けて、視線を回転させることができるので移動方向を変えないで、視線を変更させることができる。
また、請求項１０の発明に係る画像表示装置によれば、請求項１における効果に加えて、
通路間の分岐を行う際、分岐の通路における回転軸を通路間の外積から算出するので、回転軸が多少法線から傾いていても、その傾きを分岐後においても維持できる。
【０１６４】
また、請求項１１の発明に係る画像表示装置によれば、請求項１における効果に加えて、
視線ベクトルの回転は、所定の基準角度分ずつ行われ、その度に、書き込み制御手段によって視線ベクトルが視線ベクトル記憶手段に書き込まれるので、通路間の分岐を行う際、表示面には、所定角度分ずつ、投影像が映じるようになる。従って、視点が徐々に曲がってゆく様子を表現できる。
【０１６５】
また、請求項１２の発明に係る画像表示装置によれば、請求項１における効果に加えて、
通路間にリンクペアといった論理的な接続関係を規定することで、座標上において直接連続していない移動路間を行き来させることができるので、たとえ仮想空間の広さが制限されていても、視点をあちこちに移動させることができる。
【０１６６】
また、請求項１３の発明に係る画像表示装置によれば、請求項１における効果に加えて、
表示面上の画像のうち、予定通路となるものは第１の色で描画され、その他の通路が第２、第３色で描画されるので、表示面にめりはりが生じ、見易さが向上する。
【０１６７】
また、請求項１４、１５の発明に係る画像表示装置によれば、請求項１における効果に加えて、
ポインティングデバイスで表示面上の領域を指示と、ボタンの押下の回数によって、視点の前進あるいは後退が行われるので、『バーチャルウォークスルー』の操作性が大きく向上する。
【図面の簡単な説明】
【図１】画像表示装置の外観を示す斜視図である。
【図２】仮想空間と表示面との対応を示す説明図である。
【図３】（ａ）視野と、表示面上の画像との対応を示す図である。
（ｂ）Ｘ−Ｚ座標系にマッピングされた仮想空間内の座標を示す上面図である。
（ｃ）本実施例における仮想空間を位置Ａから斜めを向いて見た場合の画像である。
【図４】本実施例における画像表示装置の構成を示すブロック図である。
【図５】移動路記憶手段１の記憶されている、移動路識別子と移動路の端点との対応関係を示す図である。
【図６】接続関係記憶手段２に記憶されている、各移動路識別子と、その他の移動路との接続関係を示す図である。
【図７】対応関係記憶手段に記憶されているオブジェクト識別子と移動路識別子との対応関係を示す図である。
【図８】フレームバッファ６の記憶内容を示す説明図である。
【図９】視野と、表示面上の画像との対応を示す説明図である。
【図１０】視線ベクトル、移動ベクトル、始点終点ベクトル、始点位置等を説明するための説明図である。
【図１１】制御手段１４の制御動作のメインフローチャートである。
【図１２】制御手段１４が行う初期化処理のフロ−チャ−トである。
【図１３】視点位置の変更処理における前進処理のフロ−チャ−トである。
【図１４】視点位置の変更処理における後退処理のフロ−チャ−トである。
【図１５】視点の移動方向の変更処理のフロ−チャ−トである。
【図１６】視線方向の変更処理のフロ−チャ−トである。
【図１７】移動路の変更処理のフロ−チャ−トである。
【図１８】視点が移動路間を旋回する様子を示す説明図である。
【図１９】（ａ）視点が移動路間を旋回する様子を示す説明図である。
（ｂ）旋回角度αと、旋回角度βとの関係を示す説明図である。
【図２０】（ａ）〜（ｃ）移動路１を前進した場合に、表示面に表われる表示例である。
【図２１】（ａ）〜（ｅ）移動路１から移動路４へと分岐した場合に、表示面に表われる表示例である。
【図２２】本発明の構成をカーナビゲーションシステムに応用した場合の表示例である。
【図２３】第２実施例において、接続関係記憶手段２に記憶されている、各移動路識別子と、その他の移動路との接続関係を示す図である。
【図２４】リンク接続による各移動路識別子と、その他の移動路との接続関係を示す図である。
【図２５】視点位置の変更処理における前進処理のフロ−チャ−トである。
【図２６】視点位置の変更処理における後退処理のフロ−チャ−トである。
【図２７】第２実施例におけるリンク処理のフロ−チャ−トである。
【図２８】クリック回数と、移動命令との対応を示す表である。
【図２９】第３実施例における移動路の変更処理を示すフロ−チャ−トである。
【図３０】表示面上の画像と、画像上の領域の割り当を示す表示例である。
【図３１】図３０に示した表示面上で割り当られた領域と、その領域に対応する回転命令との対応を示す図である。
【図３２】移動路の変更処理において、第４実施例で追加されたステップである。
【図３３】（ａ）移動路識別子と、その識別子の色との対応を示す図である。
（ｂ）図３３（ａ）に示した色で色分けされた移動路を示す説明図である。
【図３４】第５実施例におけるレンダリング部５の処理を示すフロ−チャ−トである。
【図３５】（ａ）仮想店舗における移動路を前進し、移動路間を分岐した場合に、表示面に表われる表示例である。
（ｂ）仮想店舗における移動路を前進し、移動路間を分岐した場合に、表示面に表われる表示例である。
【図３６】（ａ）仮想店舗における移動路を前進し、移動路間を分岐した場合に、表示面に表われる表示例である。
（ｂ）仮想店舗における移動路を前進し、移動路間を分岐した場合に、表示面に表われる表示例である。
【図３７】（ａ）仮想店舗における移動路を前進し、移動路間を分岐した場合に、表示面に表われる表示例である。
（ｂ）仮想店舗における移動路を前進し、移動路間を分岐した場合に、表示面に表われる表示例である。
【符号の説明】
１    移動路記憶手段
２    接続関係記憶手段
３    オブジェクト記憶手段
４    対応関係記憶手段
５    レンダリング部
６    フレームバッファ
７    移動路識別子レジスタ
８    始点終点レジスタ
９    視線ベクトルレジスタ
１０    回転軸ベクトルレジスタ
１１    移動ベクトルレジスタ
１２    視点位置レジスタ
１３    移動命令レジスタ
１４    制御手段
２１    ディスプレィ
２２    キーパッド
２３    ポインティングデバイス
【図１】
0003615840.tif 000002
【図２】
0003615840.tif 000003
【図３】
0003615840.tif 000004
【図４】
0003615840.tif 000005
【図５】
0003615840.tif 000006
【図６】
0003615840.tif 000007
【図７】
0003615840.tif 000008
【図８】
0003615840.tif 000009
【図９】
0003615840.tif 000010
【図１０】
0003615840.tif 000011
【図１１】
0003615840.tif 000012
【図１２】
0003615840.tif 000013
【図１３】
0003615840.tif 000014
【図１４】
0003615840.tif 000015
【図１５】
0003615840.tif 000016
【図１６】
0003615840.tif 000017
【図１７】
0003615840.tif 000018
【図１８】
0003615840.tif 000019
【図１９】
0003615840.tif 000020
【図２０】
0003615840.tif 000021
【図２１】
0003615840.tif 000022
【図２２】
0003615840.tif 000023
【図２３】
0003615840.tif 000024
【図２４】
0003615840.tif 000025
【図２５】
0003615840.tif 000026
【図２６】
0003615840.tif 000027
【図２７】
0003615840.tif 000028
【図２８】
0003615840.tif 000029
【図２９】
0003615840.tif 000030
【図３０】
0003615840.tif 000031
【図３１】
0003615840.tif 000032
【図３２】
0003615840.tif 000033
【図３３】
0003615840.tif 000034
【図３４】
0003615840.tif 000035
【図３５】
0003615840.tif 000036
【図３６】
0003615840.tif 000037
【図３７】
0003615840.tif 000038