JP3615840B2 - Image display device - Google Patents

Image display device Download PDF

Info

Publication number
JP3615840B2
JP3615840B2 JP23013195A JP23013195A JP3615840B2 JP 3615840 B2 JP3615840 B2 JP 3615840B2 JP 23013195 A JP23013195 A JP 23013195A JP 23013195 A JP23013195 A JP 23013195A JP 3615840 B2 JP3615840 B2 JP 3615840B2
Authority
JP
Japan
Prior art keywords
vector
viewpoint
path
line
passage
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP23013195A
Other languages
Japanese (ja)
Other versions
JPH0973553A (en
Inventor
秀一 清水
義祐 三村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP23013195A priority Critical patent/JP3615840B2/en
Publication of JPH0973553A publication Critical patent/JPH0973553A/en
Application granted granted Critical
Publication of JP3615840B2 publication Critical patent/JP3615840B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Processing Or Creating Images (AREA)

Description

【0001】
【産業上の利用分野】
本発明は、表示面に仮想空間内の光景を投影させ、操作者の操作に伴い、その投影像を切り換えることで、恰も仮想空間内を移動しているかのような感覚を操作者に与える画像表示装置に関する。
【0002】
【従来の技術】
近年、3次元コンピュータグラフィックの描画技術の急速な発達に伴い、この描画技術を用いて『バーチャルウォークスルー』を実現するための研究が盛んになされていれる。
『バーチャルウォークスルー』とは、表示面に仮想空間内の光景を投影させ、操作者の操作に伴い、その投影像を切り換えることで、恰も仮想空間内を移動しているかのように感覚を操作者に与えるものであり、様々な3次元シュミレーションシステムに発展させることができる。この『バーチャルウォークスルー』を発展させたシュミレーションシステムには、仮想観光案内システム、インテリアシュミレーション、仮想店舗システム、カーナビゲーションシュミレーション等が挙げられる。
【0003】
仮想観光案内システムでは、従来パンフレットや観光ムック等で行われていた観光地の名所旧跡の所在や著名な建造物の紹介を、上記『バーチャルウォークスルー』で代替し、この観光地を歩行しているような感覚を操作者に与える。
仮想店舗システムでは、従来通販において、カタログ等の紙面上で行われていた様々な商品の紹介を、コンピュ−タ・グラフィックスによって形成した仮想店舗内で行い、この仮想店舗内で『バーチャルウォークスルー』を行わせ、具体的な商品像を操作者に提供し、購買意欲をそそる。
【0004】
インテリアシュミレーションでは、ソファやキッチン、テーブル等の配置を、3次元グラフィックスデータの配置替えで代替し、その中で『バーチャルウォークスルー』を行わせ、そのレイアウトの印象がどうであるかを検証させる。
カーナビゲーションシュミレーションでは、国道、私道についての情報、それらの周辺に存在する建造物の情報を基にコンピュ−タ・グラフィックスを作成し、これを元に『バーチャルウォークスルー』を行い、目的地に到達するにはどのような道順を経ればよいかを3次元グラフィックスを用いて操作者に教示する。
【0005】
ところで、上記視点の移動操作は視点の前進、後退、上昇、下降などのコマンドをボタンに定義したものを使用したり、それをマウスの操作パターンに定義したものを使用するのが一般的である。また視線方向の変更操作についても同様である。
マウスの操作パターンの一例には、画面の中央にカーソルを持ってきてそこでボタンを押し、そのままの状態で上方向へ移動させると視点を前進させ、下方向へ移動させると視点を後退させるといったものがある。この操作パターンでは、カーソルを右方向へ移動させると視線方向が右旋回し、左方向へ移動させると視線方向が左旋回する。
【0006】
【発明が解決しようとする課題】
しかしながら上記従来技術の『バーチャルウォークスルー』によれば、仮想空間内の何処を曲がるかを視線方向をいろいろと動かして周りを見回した上で判断しなければならない。このような判断は仮想空間内では非常に行い辛いので、岐路を曲がるのが非常に煩わしく感じるといった問題点があった。
【0007】
これは視点の位置が交差点に達したかどうかがグラフィックスからでは把握し辛いことに起因する。即ち視点が交差点の手前に位置している状態ではディスプレィに交差点が表示されているので視点と交差点との位置関係が把握できるが、この状態で視点の位置が進み、視点の位置が交差点の真上に達すると交差点そのものは視野外になるため、ディスプレィに表示されない。
【0008】
このようにディスプレィのグラフィックスで視点の位置が把握できなければ、曲がり角が視野に入っている状態からこのくらい前進すれば曲がり角に達するだろうといった判断を勘に頼らなければならない。そして視点が所望の位置に達しない場合は、所望の位置に達するまで視点の移動や旋回を何度も繰り返す必要がある。ところが3次元グラフィックで表現された空間では遠近感が掴み辛いため、この繰り返し処理も思うようにいかない。
【0009】
仮想空間内を予め設定されたコースに沿って見て回る場合でも、曲がり角の位置まで視点が移動したかどうかを常に注意し、その曲がり角に達すればタイミング良く操作しなければならないため技量が要求されるものになってしまう。
たとえ曲がれたとしても、そのときの右折角度、左折角度が、通路間の角度を上回っていたり、下回ってたりして、そのまま視点が移動を続けると、視点が通路上のコースから外れてしまうこともある。
【0010】
3次元グラフィックスで描画された迷路を進んでゆくといった玩具は従来から存在するが『バーチャルウォークスルー』ではこのような玩具と異なり、視点の移動を小刻みにしたり、視点を停止させたまま視線の方向を変えたりして、より現実感を与えることが要求される。このように移動を小刻みしていけば、上記の使い辛さはより一層増長されてゆく。
【0011】
本発明は上記問題点に鑑み、岐路を容易に曲がることができ、『バーチャルウォークスルー』を好適に実現できる画像表示装置を提供することを目的とする。
【0012】
【課題を解決するための手段】
上記目的を達成するために請求項1に係る画像表示装置は、
仮想空間における複数の通路上で視点を移動させ、その移動に伴って、視点の視野に入る仮想空間中の光景を表示面上に表示する画像表示装置であって、
操作者の操作を受け付けて、仮想空間において指示された通路上で視点を移動させる移動手段と、
通路上における視点の移動に伴って、視点の視野に入る仮想空間の光景を表示面に投影する投影手段と、
表示面に2以上の通路からなる岐路が投影された場合、当該岐路を形成している通路のうち何れかを、操作者に視野中の移動先として予め指示させる指示手段と
を備え、
前記移動手段は、視点が岐路の分岐点に位置すると、指示手段によって指示された通路上に視点を移動させ
前記画像表示装置は更に
仮想空間において2以上の通路によって形成される岐路と、各岐路を形成する通路のうち、予め分岐が定められている通路である予定通路とを対応付けて記憶する岐路−予定通路記憶手段を備え
前記移動手段は
視点が岐路の分岐点に位置すると、岐路−予定通路記憶手段において分岐が定められている予定通路に視点を移動させ
指示手段によって表示面において岐路を形成している通路のうち何れかが指示されると、指示された通路上に視点を移動させる
ことを特徴としている。
【0015】
また請求項に係る画像表示装置は、
仮想空間における全ての通路と、仮想空間における各通路の両端の座標とを対応付けて記憶する通路−座標記憶手段と、
視点の視線方向を示す視線ベクトルを記憶する視線ベクトル記憶手段と、
通路−座標記憶手段に記憶されている視点がある通路の両端の座標に基づいて、現在視点がある通路の向きを示すベクトルを算出する第1ベクトル算出手段と、
算出されたベクトルを視線ベクトル記憶手段に書き込む書き込み手段と
書き込み手段による書き込みが行われると、視線ベクトル記憶手段に記憶されている視線ベクトルに基づいて、視野を決定する視野決定手段と
を備え、
前記投影手段は、
視野決定手段によって決定された視野の投影像を表示面に投影する
ことを特徴としている。
【0016】
また請求項に係る画像表示装置は、
指示手段によって指示された通路の両端の座標を通路−座標記憶手段から読み出す読み出し手段と、
読み出し手段によって読み出された座標に基づいて、仮想空間における当該通路の向きを示すベクトルを算出する第2ベクトル算出手段と、
第2ベクトル算出手段によって算出されたベクトルと、第1ベクトル算出手段によって算出されたベクトルとがなす角度を算出する角度算出手段と、
角度が算出されると、算出された角度分だけ視線ベクトル記憶手段に記憶されている視線ベクトルを回転する回転手段と
を備え、
前記書き込み手段は、
移動手段によって視点が岐路の分岐点に到達すると、回転後の視線ベクトルを書き込む
ことを特徴としている。
【0017】
また請求項に係る画像表示装置は、
前記移動手段は、
仮想空間における視点の現在位置の座標を記憶する現在座標記憶手段と、
第1、第2ベクトル算出手段によって算出されたベクトルの単位ベクトルを算出する単位ベクトル算出手段と、
操作者の操作を受け付けて、その操作がなされる度に、算出された単位ベクトルの方向に、その単位ベクトルの大きさだけ、現在座標記憶手段に記憶されている座標を前に進める前進手段と
を備え、
視野決定手段は、前進手段によって前進した現在位置と、視線ベクトル記憶手段に記憶されている視線ベクトルとに基づいて、視野を決定し、
前記投影手段は、
視野が決定される度に、視野決定手段によって決定された視野の投影像を表示面に投影する
ことを特徴としている。
【0018】
また請求項に係る画像表示装置は、
前記移動手段は、
通路−座標記憶手段の記憶内容を参照して、前進手段によって前進された現在位置の座標が現在視点がある通路の端点に達したかを判定する定手段と
を備え、
前記書き込み手段は、
定手段によって端点に達したと判定されると、回転後の視線ベクトルを書き込む
ことを特徴としている。
【0019】
また請求項に係る画像表示装置は、
仮想空間内に設けられた各3次元物体と、各3次元物体が占める座標とを対応付けて記憶する3次元物体記憶手段を
備え、
前記投影手段は、
視野が決定される度に、視野決定手段によって決定された視野内に収まる通路及び3次元物体を判定する判定部と、
収まると判定された通路及び3次元物体を表示面に投影する投影部と
を備えることを特徴としている。
【0020】
また請求項に係る画像表示装置は、
視線の回転軸を記憶する回転軸記憶手段と、
視線を回転する旨の操作者の操作、及び、その回転量を受け付けて、記憶されている回転軸を基準軸にして、回転手段にその回転量だけ視線ベクトルの向きを回転させる回転制御手段と
を備え、
前記書き込み手段は、
回転制御手段によって視線ベクトルの向きが回転すると、当該視線ベクトルを視線ベクトル記憶手段に書き込む
ことを特徴としている。
【0021】
また請求項に係る画像表示装置は、
第2ベクトル算出手段によって算出されたベクトルと、第1ベクトル算出手段によって算出された現在視点がある通路の向きを示すベクトルとの外積をとり、その外積から、ベクトルの回転軸を算出して、回転軸記憶手段に記憶させる回転軸算出手段を有し、
前記角度算出手段は、
第2ベクトル算出手段によって算出されたベクトルと、第1ベクトル算出手段によって算出された現在視点がある通路の向きを示すベクトルとの内積をとり、その内積から、当該2つのベクトルがなす角度を算出し、
前記回転手段は、
角度が算出されると、回転軸記憶手段に記憶されている回転軸を基準にして、角度算出手段によって算出された角度分だけ視線ベクトル記憶手段に記憶されている視線ベクトルを回転する
ことを特徴としている。
【0022】
また請求項に係る画像表示装置は、
前記回転手段は、
角度算出手段によって角度が算出されると、所定の基準角度だけ視線ベクトルを回転させる視線ベクトル回転部と、
視線ベクトルが回転すると、前記書き込み手段を制御して、所定の基準角度を視線ベクトル記憶手段に書き込ませる書き込み制御部と、
角度算出手段によって算出された角度とこれまで書き込み制御部によって書き込まれた総回転角との差分が、前記基準角度より大きいか小さいかを判定する差分大小判定部と、
大きい場合、視線ベクトル回転部を制御して、基準角度分の回転を行わせる第1回転制御部と、
小さい場合、視線ベクトル回転部を制御して、差分だけ視線ベクトルの回転を行わせる第2回転制御部と
を備えることを特徴としている。
【0023】
また請求項10に係る画像表示装置は、
端点の座標が不一致でありながらも、接続関係を有する通路の端点の組み合わせであるリンクペアを記憶するリンク通路記憶手段を備え、
前記読み出し手段は、
視点がリンクペアの一方の端点を有する通路に移動すると、リンクペアの他方側の通路の両端の座標をリンク通路記憶手段から読み出し、
前記第2ベクトル算出手段は、
読み出し手段によって読み出された通路の両端の座標に基づいて、仮想空間におけるその通路の向きを示すベクトルを算出し、
前記角度算出手段は、
第2ベクトル算出手段によって算出されたベクトルと、第1ベクトル算出手段によって算出されたベクトルとがなす角度を算出し、
前記回転手段は、
角度が算出されると、角度算出手段によって算出された角度分だけ視線ベクトル記憶手段に記憶されている視線ベクトルを回転し、
前記書き込み手段は、
回転手段による回転が行われると、回転手段によって回転された視線ベクトルを書き込む
ことを特徴としている。
【0024】
また請求項11に係る画像表示装置は、
現在視点がある通路と、岐路−予定通路記憶手段において当該通路の予定通路になっている通路或は移動先として指示手段によって指示された通路と、視点が直前に通過した通路とを対応づけて記憶する現−前後通路記憶手段と、
前記投影部は、
移動手段によって視点が移動すると、岐路−予定通路記憶手段において現−前後通路記憶手段に記憶されている通路と予定通路として連鎖し合っている全ての通路を探索する探索部と、
現−前後通路記憶手段に記憶されている通路と、探索手段によって探索された全ての通路の投影像とを、第1の色で描画する第1描画部と、
第1の色で描画された通路と岐路を形成しておきながらも予定通路として連鎖していない通路を第2の色で描画する第2描画部と、
視点の視野に入りながらも、第1、第2描画部によって描画されていない通路の投影像を第3の色で描画する第3描画部と
を備えることを特徴としている。
【0025】
また請求項12に係る画像表示装置において、
ボタンが設けらたポインティングデバイスを有し、
ポインティングデバイスによって通路が指示され、指示された状態で当該ボタンの押下が行われると、その押下の回数に応じて移動手段に視点の前進或は後退を行わせる前進−後退制御手段と、
ポインティングデバイスによって通路以外の位置が指示されると、移動手段の移動を停止させる停止制御手段と、
を備えることを特徴としている。
【0026】
また請求項13に係る画像表示装置は、
ボタンが設けらたポインティングデバイスを有し、
ポインティングデバイスによって通路が指示され、指示された状態で当該ボタンの押下が行われると、その押下の回数に応じて移動手段に視点の前進或は後退を行わせる前進−後退制御手段と、
表示面の両脇がポインティングデバイスによって指示されると、回転手段に視線ベクトルを右方向、或は、左方向に回転させる回転制御手段と、
ポインティングデバイスによって通路でも表示面の両脇でもない位置が指示されると、移動手段の移動を停止させる停止制御手段と、
を備えることを特徴としている。
【0047】
【実施例】
(第1実施例)
以下、本発明の一実施例について図面を参照しながら詳細に説明する。
先ず、図1及び図2の説明図を参照しながら画像表示装置の外観について説明を行う。図1は、画像表示装置の外観を示す斜視図である。また図2は仮想空間と表示面との対応を示す説明図である。
【0048】
図1に示すように、画像表示装置は、表示面に仮想空間の光景を映ずるディスプレィ21と、操作者による操作がなされるキーパッド22及びポインティングデバイス23とを有している。この表示面には、図2に示すように、仮想空間中の光景が映ずるようになっている。そして、表示面上に映ずる仮想空間の光景は、図1に示したキーパッド22及びポインティングデバイス23に対する指示によって切り換わるようになっている。そのため、操作者は、このキーパッド22やポインティングデバイス23に対して指示を行うと、恰も仮想空間中を歩行しているような感覚を得ることができる。
【0049】
次に、図2の説明図を参照しながら仮想空間と表示面との対応について説明を行う。図2に示すように、表示面には、仮想空間中に設けられている通路や建造物が投影される。キーパッド22及びポインティングデバイス23への操作によって視点は図中の通路上を進んで行き、それに伴って、表示面上の投影像は切り替わってゆく。
【0050】
次に、図3の説明図を参照しながら、表示面に映ずる仮想空間の画像と、仮想空間内の移動路、建造物の配置とについて説明を行う。図3(a)は、本実施例における仮想空間を位置Aから正面を向いて見た場合の画像である。また図3(b)は、X−Z座標系にマッピングされた仮想空間内の座標を示す上面図である。更に図3(c)は、本実施例における仮想空間を位置Aから斜めを向いて見た場合の画像である。
【0051】
図3(b)において、位置Aは移動路1の端点である(尚、移動路と通路とは同義である。)。この移動路1は、移動路2、3、4と十字路を形成している。そのため、移動路1からは移動路2、移動路3、移動路4の何れかへと分岐可能なようになっている。また、移動路1と接続している移動路2は、移動路6、移動路7とT字路を形成しており、移動路2からは、移動路6、移動路7の何れかに分岐可能になっている。
【0052】
この位置Aから視点は、図3(b)における位置Bを向いているので、表示面には、図3(a)に示すように、移動路1、2、3、4から形成される十字路が表れ、その向こうには、移動路6、移動路7からなるT字路が表われている。
図3(a)の表示例に対して、図3(c)の表示例は、移動路がやや左斜めを向いているが、これは、視点が位置Aにありながらも、その視線を右に向けている様子を示している。この図3(c)の表示例のように、本実施例では、移動路上で視点の視線方向を任意に変更することができる。
【0053】
次に、図4の構成図を参照しながらについて画像表示装置の内部構成を説明する。図4は、第1実施例における画像表示装置の構成を示すブロック図である。
図4に示すように、画像表示装置は、移動路記憶手段1と、接続関係記憶手段2と、オブジェクト記憶手段3と、対応関係記憶手段4と、レンダリング部5と、フレームバッファ6と、移動路識別子レジスタ7と、始点終点レジスタ8と、視線ベクトルレジスタ9と、回転軸ベクトルレジスタ10と、移動ベクトルレジスタ11と、移動命令レジスタ13と、制御手段14と、ディスプレィ21と、キーパッド22と、ポインティングデバイス23とを備える。
【0054】
図1にも示したキーパッド22は、本図において視点の前進、後退を指示するための2つのボタンと(図に示すように前進ボタン、後退ボタンという)、視線方向の右旋回、左旋回を指示するための2つのボタンと(図に示すように旋回ボタンという。)、視点の移動方向を逆向きにするためのボタンと(図に示すように逆向きボタンという。)とを有し、ポインティングデバイス23は、マウスカーソルによってディスプレィ21上の何れかのの座標を操作者に指示させ、クリックボタンによってマウスクリックを受け付ける。
【0055】
移動路記憶手段1は図5に示すように、仮想空間上の任意の2点を結ぶ線分で定義された移動路を2つの端点の座標の組み合わせとして記憶している。図5は、移動路記憶手段1に記憶されている、移動路識別子と移動路の端点との対応関係を示す図である。
仮想空間において移動路は、X−Z軸を基準軸にした直交座標系において移動路がどのように位置しているかで表される。移動路が移動路記憶手段1にどのように記憶されているかを図5に示す。図5に示すように、移動路はX−Z軸座標系におけるその始点、終点と、各移動路に付された識別子とで表される。
【0056】
例えば、本図に示すように、識別子1が付された移動路1は、X軸上の座標(8、3、0)からZ軸の正方向に向けて座標(8、3、4)まで伸びているので、図5に示すように、移動路1の識別子1は、座標(8、3、0)(8、3、4)に対応づけられている。一方座標(8、3、4)は、図3において移動路2、移動路3、移動路4の始点になっており、これらの移動路は何れも選択可能なようになっている。
【0057】
このように、十字路を形成している移動路2、3、4は図2において、それぞれ(8、3、4)を始点にしており、移動路2の終点はZ軸方向において”3”だけ離れてなる(8、3、7)に表される。
また移動路3は、移動路1の端点2(終点)からX軸方向に5だけ伸び、(13、3、4)が終点になっている。このように移動路記憶手段1では、仮想空間において移動路がどのように形成されているかがX−Z座標系にマッピングして記憶されている。
【0058】
接続関係記憶手段2は、移動路記憶手段1に記憶されている各移動路と、移動路の2つの端点に接続される別の移動路との接続関係を記憶している。また接続関係記憶手段2は移動路の通過を前提にして、その移動の際にどの経路が選択されるべきかが自動接続情報、選択接続情報として、各移動路と対応づけて記憶している。
【0059】
図6は接続関係記憶手段2に記憶されている移動路の接続関係を表す。ここで自動接続情報とは、操作者からの移動路の選択操作がない場合に現移動路に自動的に接続される移動路を指示する情報をいい(図3(b)では、実線の矢印で示されている(移動路4参照)。)、選択接続情報とは、操作者からの移動路の選択操作によって接続される移動路を指示する情報をいう(図3(b)では、破線の矢印で示されている(移動路2、3、5、6、7参照)。)。
【0060】
本図に示すように、移動路1の端点1には、選択接続情報に『−1』が記述され、自動接続情報にも『−1』が記述されている。これは、図3(b)において、移動路1の端点には、どの移動路も接続していないからであり、視点は、Z軸方向において、端点1より下方向には進めない。
これに対して、端点2は移動路2、3、4と十字路を形成しているため、選択接続情報に移動路2、3、4が設定されている。この選択接続情報に対して、移動路1の自動接続情報には、移動路2が設定されている。これは、視点が移動路1上を進んで行き、(8、3、4)における十字路に差し掛かると、視点の進行方向が移動路2に選択されることを意味する。
【0061】
本図に示すように、移動路2の端点2における選択接続情報には、移動路6、7が設定され、そのうち、自動接続情報に移動路6が設定されている。これは、移動路2の端点1から端点2に向かって視点が進んで行くと、視点は、自動的に移動路6に向かってゆくことを意味する。接続関係記憶手段2においては、このように移動路間の接続が記憶されているので、岐路に差し掛かった場合、特別な操作を行わなくても、その進路が一意に選択されているようになる。
【0062】
オブジェクト記憶手段3は、3次元オブジェクトや移動路オブジェクトの形状データを記憶する。3次元オブジェクトは、山や建造物等、仮想空間における立体物を模しており、各移動路沿いに一定の距離をおいて配置され、これらの投影像が表示面に投影される。また、視点の移動に伴って、これらの3次元オブジェクトの投影像は、次々と切り換わってゆく。この他にも3次元オブジェクトには、視点の視界を遮る役割もあり、臨場感を盛り上げるといった役割も有る。また移動路オブジェクトとは遠近法によって描かれた移動路である。その形状は、図3の表示例に示したように、手前側が広く奥に向かう程狭くなっており、移動路が奥に向かって伸びているといった様子を表している。
【0063】
対応関係記憶手段4は、どの移動路に沿って、どの3次元オブジェクトが設けられているかを示す、移動路オブジェクトと、3次元オブジェクトとの対応関係を記憶する。
また対応関係記憶手段4は、図7に示すように移動路オブジェクトに付された識別子と移動路識別子とで、移動路オブジェクトと移動路の情報との対応をとっており、視点がどの移動路上にあるかで、移動路オブジェクトを切り換えて表示可能なようにしている。
【0064】
レンダリング部5は、高速グラフィックスハードウェアおよびその制御ソフトウェアにより構成され、視点の視線方向で、仮想空間を眺めた場合に視点に映ずる画像をビットマップとして生成し、生成した画像をフレームバッファ6に書き込む。レンダリング部5では、三次元コンピュータグラフィックス生成方法として広く知られているモデルビュー変換、射影変換、ビューポート変換、照光処理、アンチエイリアス処理、テクスチャマッピング処理などの数々の処理がパイプライン的に施され、最終的な二次元ビットマップデータが生成される。ここで用いられる制御ソフトウェアの代表的なものにSilicon Graphics社の”OpenGL”がある。
【0065】
次に、図8の説明図を参照しながら、表示面に描かれている画像について説明を行う。周知の如く表示面は、ディスプレィ21がフレームバッファ6に展開されているビットマップパタンを描画することで行われる。本実施例においてフレームバッファ6にどのように、データが書き込まれているかを図8に示す。図8で矢印a1、a2、a3、a4で示すように、表示面の1画素に対して、フレームバッファ6における32ビットのデータが割り当られている。この32ビットのうちあけは、各色の輝度を示すRGB各8ビットが下位24ビットに、オブジェクト識別子は8ビットでは上位8ビットにそれぞれ与えられている。このオブジェクト識別子は、表示面に対して仮想空間の投影を行う際に、3次元オブジェクトの色と共に書き込まれる。このように書き込まれたオブジェクト識別子は、表示面にどのように、オブジェクトが存在するかを参照するのに用いられる。
【0066】
ディスプレィ21上に表示された移動路オブジェクトのうち、ポインティングデバイス23のカーソルによって指示されたものはその識別子が抽出される。表示面上でそのオブジェクトの投影像を形成する画素は、投影処理時に、そのオブジェクトの識別子と共にRGB値が書き込まれており、このフレームバッファ6に書き込まれた識別子を参照することで、カーソルによってどのオブジェクトが指定されているかが判明する。
【0067】
次に、図9、図10の説明図を参照しながら視点の視線、視野等、視点に対しての情報が如何に処理されているかについて説明を行う。図9に示すように、図3(a)に示した表示面上の画像は、視点の視野に入る仮想空間の光景を投影したものである(図中では、視点の視野は破線の円錐で示している。)。
図10において、視点の位置は、仮想空間における座標で表れ(図10の 始点位置(8、3、0))、また視点の視線は、視点が現在いる移動路が有する単位ベクトルで表される(図中の 視線ベクトル(0、0、1))。また現在自身がいる移動路の識別子と、自身が直前にいた移動路の識別子と、これから進もうとしている移動路の識別子とを対応づけて記憶している(図中の移動路識別子(2、1、−1))。この現移動路については、その始点、終点の座標を記憶している(図中の始点終点(端点2、端点1)。)。また、この現移動路において視点がどの方向に向かっているかを示す移動ベクトルを記憶しており(図中の 移動ベクトル(0、0、1))、操作者の旋回の操作があった場合には、どの方向を基準にして回転を行うかを記憶している(図中の回転軸ベクトル(0、0、1))。
【0068】
次に、再度図4の構成図を参照しながらに以上の視点についての情報が、画像表示装置内にどのように記憶されているかについて説明を行う。
図4において、移動路識別子レジスタ7は、現在視点が位置している移動路(現移動路)の識別子と、現移動路の前後に接続される前移動路の識別子及び後移動路の識別子とを記憶する
始点終点レジスタ8は現移動路の2つの端点の内どちらが始点でどちらが終点であるかを記憶する。
【0069】
視線ベクトルレジスタ9は視線の方向を示す単位ベクトルを記憶する。
回転軸ベクトルレジスタ10は視線を旋回する時に基準となる軸 即ち、回転軸ベクトルを保持する。
移動ベクトルレジスタ11は視点の移動方向を示すベクトル即ち、移動ベクトルを記憶する。
【0070】
視点位置レジスタ12は視点の位置の座標を記憶する。
移動命令レジスタ13は、ポインティングデバイス23によって取得される視点の移動のための命令(移動命令)を記憶する。
制御手段14は、画像表示装置の制御を行う。制御手段14の制御内容を図11〜図17のフロ−チャ−トに示す。この制御手段14の制御内容を、図18〜図21の説明図と共に説明する。
【0071】
図11はメインフロ−チャ−トである。画像表示装置が起動すると、初期化処理を行い(ステップS91)、イベント待ちの状態になる(ステップS92)。そして、発生したイベントに応じて、それに対応する移動命令を判定し、判定した命令を移動命令レジスタ13に記憶させる。次いで移動命令レジスタ13に記憶されている移動命令が、前進命令であるか、後退命令であるか、旋回命令であるか、移動方向の変更命令であるかを判定し、もし前進命令であれば、図13のフロ−チャ−トに示す視点位置の前進処理を行う(ステップS93)。もし後退命令であれば、図14のフロ−チャ−トに示す視点位置の後退処理を行い(ステップS94)、また、旋回命令であれば、図16のフロ−チャ−トに示す視線の移動方向変更処理を行い(ステップS95)、もし逆向き命令であれば、図15のフロ−チャ−トに示す視点の移動方向変更処理を行う(ステップS96)。更にクリックボタンであれば、移動路の変更処理を行う(ステップS97)。
【0072】
(初期化動作)
図12は初期化動作のフローチャートである。初期化は制御手段14が、上記6つのレジスタに初期値を設定することで行われる。
ここで、視点は、図3(b)に示した位置Aにあり、これから移動路1をZ軸の正の方向に進もうとしている。
【0073】
ステップ11では移動路識別子レジスタ7を図4の先頭の移動路識別子で示される移動路を現移動路にし、それに自動接続される移動路の識別子を図4の対応関係記憶手段4から求め、前移動路と後移動路を初期化する。
ここで、前移動路は2、現移動路は1、後移動路は−1にセットされる。尚、移動路識別子が−1の場合は、接続する移動路が存在しないことを示す。
【0074】
ステップ12では移動路識別子レジスタ7の現移動路の識別子で示される移動路を移動路記憶手段1から読み出し、その端点1を始点終点レジスタ8の始点に、端点2を始点終点レジスタ8の終点に設定する。
ステップ13では移動ベクトルを始点終点レジスタ8の始点から終点へ向かうベクトルを移動路記憶手段1の座標より求め、移動ベクトルレジスタ11に設定する。この場合、移動ベクトルはABの向きの単位ベクトルに設定される。
【0075】
ステップ14では視線ベクトルと回転軸ベクトルとを各レジスタに設定する。視線ベクトルは移動ベクトルと同じ値で設定され、回転軸ベクトルは(0、1、0)に設定される。
ステップ15では視点位置レジスタ12を現移動路の端点1の座標で初期化する。この場合、A(8、3、0)に設定される。
【0076】
ステップ16では、ポインティングデバイス23内部に設けられたカーソルの位置レジスタに(0、0)を設定する。
初期化動作が終了するとレンダリング部5がフレームバッファ6に投影像を描画し、投影像上に後カーソルを描画する。ディスプレィ21がこの表示データを表示したときの画面イメージが図3(a)である。
【0077】
(視点位置の前進処理及び後退処理)
図13、14は視点位置の変更時の動作を示すフローチャートである。図13は視点の前進処理、図14は視点の後退処理を表す。操作者はキーパッド22に対する操作により視点の位置を現移動路に沿って前進させ、後退させる。
(前進ボタンによる移動路内の前進処理 ステップ51、52、53、66の繰り返し)
今視点は図2において位置Aにあるものとする。このときの移動路識別子レジスタ7の値は(2、1、−1)である。
【0078】
図13においてステップ51では、視点の現在位置が移動路の終点に達したかの判定を行う。具体的には、移動路識別子レジスタ7の現移動路で示される移動路の端点の内、始点終点レジスタ8の終点にあたる方の座標を移動路記憶手段1から求め、それと視点位置レジスタ12とを比較し、等しい場合は終了する。この場合は、視点は未だ移動路の始点(位置A)にあるのでステップ52へ進む。
【0079】
ステップ52では現在の視点の座標を、移動ベクトルレジスタ11の移動ベクトルの大きさだけ終点に向ける。移動ベクトルは単位ベクトルであるから、この移動ベクトルレジスタ11の更新で、視点は小刻みに移動路上を進む。
ここでもし、始点終点レジスタ8の終点が移動ベクトルの途中にくる場合は、前記ステップ51のように再度、終点の座標を求め、視点位置レジスタ12に書き込む。
【0080】
ステップ53では現在の視点位置の座標と、始点終点レジスタ8の終点にあたる座標とを比較し、終点に達した場合はステップ54へ進む。この場合、終点まで達してないので、ステップ66へ進む。
ステップ66では、ステップ52で更新された視点の位置について、その位置からみた仮想空間の光景を表示面に投影する。具体的には、レンダリング部5に更新された位置についてレンダリング処理を行わせ、3次元オブジェクト、移動路オブジェクトの投影像をフレームバッファ6に書き込ませる。
【0081】
以上のステップ51、52、53、66の処理が繰り返された場合、ステップ52を一度行う度に、移動ベクトルの大きさだけ視点の位置は前に進んでゆき、その後に、ステップ66において、更新された視点の位置において、表示面への投影がなされる。これらのステップ51、52、53、66の処理が繰り返され、前進ボタンの押下に伴い、移動路沿いの光景が、奥側から手前側へと切り換ってゆく。図20(a)〜(f)の表示例は、ステップ51、52、53、66の処理が繰り返しにおいて、ステップ66が一度実行される度に、表示面がどう表示されるかを表しており、また図における図20(a)から図20(b)への切り換り、図20(b)から図20(c)への切り換りは、視点の移動ベクトル分の前進を表している。即ち、図20(a)投影像20(b)とでは、図20(b)側の方が移動路の前にある十字路が前に迫ってきており、視点が移動路を前進している様子を如実に表している。図20(b)から図20(c)への切り換りは、図20(b)では、視野にはいっていた十字路が図20(c)では、無くなっており、また図20(c)とでは、もう一つ向こうのT字路が前に迫ってきているため、移動路を前進し、十字路に立った様子を如実に表している。
【0082】
(視点が移動路の終点に到達し、自動接続情報により分岐が行われる場合)
上記のステップ51、52、53、66の処理が繰り返され、視点が移動路内を進んでゆく。そして、移動路1の終点に到達したとする。終点に到達すると、ステップ53でYesとなり、ステップ54に移行する。
ここで、本実施例において移動路から移動路への分岐がどのように行われかを図18を参照しながら説明する。図18は、移動路の分岐時において移動ベクトルが如何に更新されるかを示す説明図である。
【0083】
図18において視点の移動ベクトルは、現在視点がいる移動路の両端点の座標から算出される(図中の移動ベクトル=端点2−端点1)。そして、視点の方向が切り換る場合は、視点の移動ベクトルは、切り換ろうとする移動路の移動ベクトルに更新されなくてはならない(本図の場合は、切り換え先が移動ベクトル2であり、これは、図中の移動ベクトル=端点4−端点3の演算で求められる。)。よって、視点を異なる移動路へと分岐する場合は、視点の移動ベクトルをこれから切り換ろうとする移動路の移動ベクトルに更新しなくてはならない。この移動ベクトルの更新には、先ずこれらの2つのベクトルがなす角度αを求め、求めた角度だけ視点の向きを回転する。また、視点の回転軸ベクトルも移動路の分岐に伴って更新し、分岐先の移動路では、視点は、更新後の回転軸ベクトルを視線の回転に用いる。
【0084】
次に、図19の説明図を参照しながら移動路の分岐について説明を行う。上記のようにして、移動路1、移動路2がなす角度αを求めれば、視点の方向を移動路1から移動路2へと切り換えることが可能となるが、本実施例では、この角度αの回転を一度に行わない。何故なら、視点の視線が一度に移動路2を向いてしまうと、移動路を曲がってゆくといった現実感が損なわれるからである。そのため、本実施例では、小刻みな回転角度γが設定されていて、視点の回転は、この角度γずつ小刻みに行われ、角度γ分の回転がなされる度に、表示面には、回転前の状態から角度γだけ傾いた光景が表示される。この角度γの回転の度に、仮想空間の投影が行われ、移動路間を徐々に曲がるといった様子が表現される。
【0085】
以上の移動路の切り換えが行われるように、図13のステップ55〜ステップ66の処理は構成されている。以降各ステップの処理を順をおって説明する。
ステップ54では前移動路の識別子を調べ、それが負の場合はステップ66へ進む。この場合は前移動路は存在するのでYesとなり、ステップ55へ進む。
ステップ55では、視点が他の移動路に移行するため、移動路識別子を繰り下げてゆく。即ち、移動路識別子レジスタ7の現移動路の識別子で後移動路の識別子を更新し、前移動路の識別子で現移動路の識別子を更新する。前移動路の識別子で示される移動路に自動接続する移動路の識別子を接続関係記憶手段2から読みだし、それで前移動路の識別子を更新する。
【0086】
ステップ56では、移動路記憶手段1に記憶されている移動路から、始点終点レジスタ8の終点で示される方と等しい座標を有する移動路を探し出し、その移動路の端点の番号を始点終点レジスタ8の始点に書き込む。終点にはそれとは他方の番号を書き込む。
ステップ57では、移動ベクトルを内部レジスタに一時的に保存し、始点終点レジスタ8の始点と終点の座標を移動路記憶手段1から求め、終点のベクトルから始点のベクトルを引くことで移動ベクトルを計算し、その大きさで割った単位ベクトルで移動ベクトルレジスタ11を更新する。
【0087】
ステップ58では内部レジスタに一時的に保存された移動ベクトルと移動ベクトルレジスタ11の移動ベクトルの内積からcosαの値を求め、それと内部に記憶した三角関数表からαを求める。
ステップ59では内部レジスタに一時的に保存された移動ベクトルと移動ベクトルレジスタ11の移動ベクトルの外積から2つベクトルに垂直なベクトルを求め、そのベクトルを軸に回転軸ベクトルレジスタ10のベクトルをαだけ回転したベクトルで回転軸ベクトルレジスタ10を更新する。
【0088】
ステップ60では視線ベクトルを旋回するための初期値としてθをαにセットする。
ステップ61ではあらかじめ設定された角度γとθを比較しγ<=θの場合はステップ62に進む。そうでない場合はステップ65へ進む。
ステップ62では視線ベクトルを回転軸ベクトルの周りにγだけ回転させた値で視線ベクトルレジスタを更新する。
【0089】
ステップ63では、ステップ62で更新された視線ベクトルについて、その視線でみた仮想空間の光景を表示面に投影する。具体的には、レンダリング部5に更新された位置についてレンダリング処理を行わせ、3次元オブジェクト、移動路オブジェクトの投影像をフレームバッファ6に書き込ませる。
ステップ64ではθをγだけ減じてステップ61へ戻る。
【0090】
以上のステップ61〜64を行うと、表示面には、角度γだけ回転した仮想空間の光景が表示される。そして、ステップ61〜64の繰り返しにより、角度γ毎の光景が切り換ってゆく。
ステップ65では視線ベクトルを回転軸ベクトルの周りにθだけ回転させた値で視線ベクトルレジスタを更新する。
【0091】
ステップ66では、ステップ62で更新された視線ベクトルについて、その視線でみた仮想空間の光景を表示面に投影する。具体的には、レンダリング部5に更新された位置についてレンダリング処理を行わせ、3次元オブジェクト、移動路オブジェクトの投影像をフレームバッファ6に書き込ませる。
このように、ステップ61〜64の繰り返しによる表示面の表示切り換えと、ステップ65、66による表示切り換えとで、表示面には、移動路2沿いの光景が表れる。
【0092】
以降、図21の説明図を参照しながら、ステップ61〜66の繰り返しによって、表示面に映ずる仮想空間の光景が切り換ってゆく様子について説明を行う。図21(a)〜(f)はステップ62〜66の処理が繰り返された場合、表示面の画像が切り換ってゆく様子を表している。ステップ62を一度行う度に、視線ベクトルの方向は、角度γだけ回転してゆき、その後に、ステップ63において、更新された視点の視線について表示面への投影がなされるから、移動路1から移動路2への分岐で、図21(a)から(f)までの表示例が次々に表示面上に表れる。また図21(a)から図21(b)への切り換り、図21(b)から図21(c)への切り換りは、視線の角度γ分の回転を表している。即ち、図21(a)と図21(b)とでは、図21(b)側の方が移動路の左脇にある3角錐が右に流れており、視点の視線が左をむいてゆく様子を如実に表している。図21(b)から図21(c)への切り換りは、図21(b)では、表示面の中央に位置していた3角錐が図21(c)では、右側によっており、更に図21(d)では、3角錐は、表示面の右端に映じているのみとなっている。加えて図21(e)では、3角柱が表示面から消えており、視点の視線が移動路2に向いたことを如実に表している。
【0093】
(後退ボタンの押下時の処理)
以上が前進ボタンが押された時の処理である。つぎに後退ボタンが押されたときの処理を図14のフロ−チャ−トを参照しながら説明する。後退も前進と同様に処理されるのでその差異に重点を置いて説明する。尚、以降の説明において、視点は、移動路1の途上にあり、ここで、操作者によって後退ボタンが押下されたものとする。
【0094】
ステップ71では、視点の座標が始点終点レジスタ8の始点と等しいかを比較しする。この場合、視点が移動路の途中にいるとして、ステップ83へ進む。
ステップ83では、視点位置レジスタ12の値を、移動ベクトルレジスタ11の方向に向けて、移動ベクトルの大きさだけ進める。ここで、もし始点の座標を超えている場合は始点の座標で視点位置レジスタ12を更新し、ステップ87へ進む。
【0095】
ステップ87では、ステップ83で更新された視点位置について、その位置からみた仮想空間の光景を表示面に投影する。具体的には、レンダリング部5に更新された位置についてレンダリング処理を行わせ、3次元オブジェクト、移動路オブジェクトの投影像をフレームバッファ6に書き込ませる。
以上のステップ71、83、87の処理を繰り返すと、視点の位置は、移動路の始点に向けて移動してゆく。この繰り返しによって、視点が移動路の始点に到達すると、ステップ71がYesとなり、ステップ72に移行する。
【0096】
ステップ72では前移動路の識別子を調べ、それが負である場合はステップ87へ進む。この場合視点がいる移動路は他の移動路を接続しているので、ステップ73へ進む。
ステップ73では、ステップ55と同様、後退ボタンの押下に伴って、オブジェクト記憶手段3の内容を繰り下げてゆく。即ち、移動路識別子レジスタ7の現移動路の識別子で前移動路の識別子を更新し、後移動路の識別子で現移動路の識別子を更新し、後移動路の識別子で示される移動路に自動接続する移動路の識別子を接続関係記憶手段2から読みだし、それで後移動路の識別子を更新する。
【0097】
ステップ74では、ステップ56と同様、前移動路で示される移動路記憶手段1の移動路の端点の座標の内、始点終点レジスタ8の始点で示される方と等しい座標を現移動路で示される移動路記憶手段1の移動路から求め、その座標の端点の番号を始点終点レジスタ8の終点に書き込む。一方終点にはそれとは別の番号を書き込む。
【0098】
ステップ75では、ステップ57と同様、移動ベクトルを内部レジスタに一時的に保存し、新たな分岐先の移動路の始点と終点の座標を移動路記憶手段1から求め、それから移動ベクトルを計算し、その大きさで割った単位ベクトルで移動ベクトルレジスタ11を更新する。
ステップ76では、ステップ58と同様、内部レジスタに一時的に保存された移動ベクトルと移動ベクトルレジスタ11の移動ベクトルの内積からcosαの値を求め、それと内部に記憶した三角関数表から分岐に要する角度αを求める。
【0099】
ステップ77では、ステップ59と同様、内部レジスタに一時的に保存された移動ベクトルと移動ベクトルレジスタ11の移動ベクトルの外積から2つベクトルに垂直なベクトルを求め、そのベクトルを軸に回転軸ベクトルレジスタ10のベクトルをαだけ回転したベクトルで回転軸ベクトルレジスタ10を更新する。ステップ78では、ステップ60と同様、視線ベクトルを旋回するための初期値として角度θを角度αにセットする。
【0100】
ステップ79では、ステップ61と同様、あらかじめ設定された角度γとθを比較しγ<=θの場合はステップ84に進む。そうでない場合はステップ80へ進む。
ステップ80では、ステップ62と同様、視線ベクトルを回転軸ベクトルの周りにγだけ回転させた値で視線ベクトルレジスタを更新する。
【0101】
ステップ81では、ステップ63と同様、ステップ62で更新された視線ベクトルについて、その視線でみた仮想空間の光景を表示面に投影する。具体的には、レンダリング部5に更新された位置についてレンダリング処理を行わせ、3次元オブジェクト、移動路オブジェクトの投影像をフレームバッファ6に書き込ませる。
【0102】
ステップ82では、ステップ64と同様、θをγだけ減じ、ステップ79へ戻る。
以上のステップ79〜81を行うと、表示面には、角度γだけ回転した仮想空間の光景が表示される。そして、ステップ79〜81の繰り返しにより、角度γ毎の光景が切り換ってゆく。
【0103】
ステップ84では、ステップ65と同様、視線ベクトルを回転軸ベクトルの周りにθだけ回転させた値で視線ベクトルレジスタを更新する。
ステップ85では、ステップ65で更新された視線ベクトルについて、その視線でみた仮想空間の光景を表示面に投影する。具体的には、レンダリング部5に更新された位置についてレンダリング処理を行わせ、3次元オブジェクト、移動路オブジェクトの投影像をフレームバッファ6に書き込ませる。
【0104】
ステップ86では移動ベクトルレジスタ11の値を視点位置レジスタ12の値に加算する。ここで、もし始点の座標を超えている場合は始点の座標で視点位置レジスタ12を更新する。
ステップ87ではレンダリング部5が3次元オブジェクトとカーソルをフレームバッファ6に書き込み、ディスプレィ21が表示を行う。
【0105】
このように、ステップ79〜81の繰り返しによる表示面の表示切り換えと、ステップ82〜87による表示切り換えとで、表示面には、移動路2沿いの光景が表れる。
(移動方向を逆向きに変更する)
図15は視点の移動方向の変更時(逆向きへの変更時)の動作を示すフローチャートである。操作者が移動方向の変更用のボタンを押下すると、図11のフロ−チャ−トから本図のフロ−チャ−トへの分岐が行われれる。
【0106】
ステップ31では、移動路識別子レジスタ7の前移動路と後移動路の識別子を交換する。
ステップ32では現在の移動ベクトルの逆ベクトルを求め、移動ベクトルレジスタ11を更新する。
ステップ33では、現在の視線ベクトルを回転軸ベクトルの周りに180°回転したベクトルで視線ベクトルレジスタ9を更新する。
【0107】
ステップ34では始点終点レジスタ8の始点と終点を交換する。
以上のように、移動路識別子レジスタ7、移動ベクトルレジスタ11、視線ベクトルレジスタ9の更新が行われた後、視点を前進させると、図14のフロ−チャ−トのステップ66の投影処理で逆向きの光景が表示面に投影される。
(視線方向を左右に旋回する)
図16は視線方向の変更時の動作を示すフローチャートである。尚、以降の説明において、視点は移動路の途上にあり、この状態で操作者が旋回ボタンを押下したものとする。
【0108】
ステップ41では、右旋回ボタンが押されたか否かの判定を行い、押下された場合はステップ42へ進む。そうでない場合はステップ43へ進む。この場合、右旋回ボタンが押下されたとして、ステップ42において視線ベクトルを回転軸ベクトルの周りにあらかじめ設定された大きさθ°だけ右に回転させる。
ステップ43で、左旋回ボタンが押されたか否かの判定を行う。左旋回ボタンが押された場合はステップ44へ進み、そうでない場合は処理を終了する。
【0109】
ステップ44では、左旋回ボタンが押下されたとして、視線ベクトルを回転軸ベクトルの周りにあらかじめ設定された大きさθ°で左に回転させる。
ステップ45では、角度θだけ回転された視線の視野に入る仮想空間内の3次元オブジェクトとカーソルとをフレームバッファ6に投影する。これによって、表示面には、角度θだけ回転された仮想空間の光景が表示される。
【0110】
このステップ45で、旋回後の仮想空間の光景が表示面に投影されることにより、視線方向を左右に旋回させ、辺りを見渡すことができる。
なお、ここでは視線方向を変更するのに回転軸ベクトルを1つ使用し、左右への旋回のみを可能としたが、回転軸ベクトルをもう1つ使用しすれば、上下方向への視線方向の変更もできる。このときの上下用回転軸ベクトルは左右用の回転軸ベクトルと視線ベクトルの2つのベクトルに垂直なベクトルとなり、ベクトルの外積で簡単に求めることができる。
【0111】
(移動路変更時の動作)
図17は移動路変更時の動作のフローチャートである。尚、以降の説明において、視点は、移動路の途上にあるものとし、この状態で、操作者がカーソルでディスプレィ21上の移動路オブジェクトを指示したものとする。
カーソルを移動路オブジェクトの上に移動し、付属のボタンをクリックするとカーソル位置がポインティングデバイス23から制御手段14へと送られる。
【0112】
ステップ21では入力されたカーソル位置の2次元座標で特定される画素(ピクセル)の値をフレームバッファ6より取得する。
ステップ22ではピクセル値からオブジェクト識別子を抽出する。
ステップ23では抽出したオブジェクト識別子が移動路オブジェクト識別子かどうかを判別し、そうでない場合は、この処理を終了する。この実施例では移動路オブジェクト識別子>0の関係を設定しており、この場合は、移動路オブジェクト上でクリックが行われたので、移動路オブジェクト識別子として正の数が返され、ステップ24に進む。
【0113】
ステップ24では、オブジェクト識別子に対応する移動路識別子を対応関係記憶手段4から読み出す。
ステップ25では読み出した移動路識別子が現移動路の接続関係記憶手段1の2つの端点の選択接続情報に含まれているかどうかを判別する。この場合、読み出された移動路の識別子は接続関係記憶手段1において、現移動路の選択接続情報先に含まれているので、読み出された識別子の移動路が分岐先と判別される。このように含まれている場合はステップ24に進む。もし、そうでない場合は、ステップ26へ進む。
【0114】
ステップ26では、その選択接続情報を含む端点と始点終点レジスタの始点および終点とを比較し、始点と等しい場合は移動路識別子レジスタ7の後移動路を更新する。終点と等しい場合は前移動路を更新する。操作者が移動路オブジェクト4を選択した場合の移動路識別子レジスタ7は(4、1、−1)となる。なお、本実施例では文献「OpenGL Programming Guide」に示される、いわゆる後方バッファを使用したオブジェクトの選択方法を採用している。オブジェクトの選択方法には様々な方法が有り、この文献には他にセレクションモードを利用したオブジェクトの選択方法も記述されているが、こちらを使用しても実現できることはいうまでもない。
【0115】
このように、ステップ26でオブジェクト記憶手段3の更新がなされ、この後に、前進の指示を繰り返すと、図13のフロ−チャ−トに示した前進処理において、視点の方向が、ポインティングデバイス23によって選択された移動路へと切り換ってゆく。
このように本実施例によれば、カーソルによる移動路オブジェクトの選択と、前進、後退とによって、岐路の分岐を行うことができる。このようにカーソルでの移動路の選択が実現すれば、(1)十字路中の交差点までの移動、(2)交差点に達したかの確認、(3)達していなければ移動を継続、(4)達していれば移動方向を変更、移動の継続という一連の(1)〜(4)の操作が不要になり、操作性が著しく向上する。
【0116】
また、視点の移動範囲は移動路オブジェクトによって明確に示されるので仮想空間を制作する制作者は操作者から見える部分と見えない部分を容易に把握することができ、仮想空間を制作する制作者側もデータの作成範囲がわかりやすい。そのため、見えない部分のデータを作るという無駄な作業を防ぐことができ、3次元データの作成効率も非常に高いといった効果を有する。
【0117】
尚本実施例では、始点終点レジスタは、始点と終点の番号を記憶したが、始点の番号がわかれば終点の番号がわかるのでいずれか一方を記憶するように構成してもよい。
以上の第1実施例では、模式的な仮想空間を一例にして説明を進めたが、次に本画像表示装置が仮想店舗システムに適用された具体例について説明を行う。図35(a)(b)、図36(a)(b)、図37(a)(b)は、家電売り場3次元仮想店舗システムに本実施例の構成を適用した場合の表示例である。
【0118】
図35(a)では、仮想店舗内の十字路が存在する光景を表している。本図において、表示面中央の白地の4つ移動路オブジェクトが十字路を形成している。この十字路が視点が現在置の手前に存在している。この現移動路において、右手側の棚に3台のビデオデッキが陳列され、左手側の棚に3台のテレビb4、b5、b6が陳列されている。そして、十字路を挟んだ向こう側に冷蔵庫b7が陳列されている。これらのビデオデッキb1、b2、b3やテレビb4、b5、b6は、3次元オブジェクトであり、上記に示した移動路記憶手段1、接続関係記憶手段2、オブジェクト記憶手段3に記憶されて管理されている。
【0119】
この仮想店舗システムでは、ビデオデッキb1、b2、b3やテレビb4、b5、b6をカーソルで指示すると、これらについての説明表示がなされるのだが、これらの説明については、本発明で特に対象にしないので説明は省略する。
操作者は、通路を通り左折するため、カーソルを位置Aに移動させ、前進ボタンを押下したとする。この場合、カーソルの先端が左方向に配置された移動路8を指示しているので、移動路8が分岐先として決定される。
【0120】
操作者は、カーソルを位置Bまで移動させ、前進ボタンを押下したとする。
前進ボタンの押下によって、視点の位置が数歩前進し、図35(b)の画像が表示される。
図36(a)は、視点が十字路に到達した場合の画像である。この場合、操作者は、自身が十字路に達したかどうかの情報は表示例からは得られない。従来例のウォークスルーの操作方法では、ここで視線方向を左右に振るか、足元を見る等の操作が必要だった。これに対して発明では、十字路に到達すると、自動的に次に進むべき方向に視点を移動するように制御するので、そのような操作をする必要がない、即ち、前進ボタンを押下してゆけば、視点は、左側に折れ曲がってゆく。図36(b)、図37(a)、(b)は、自動的に、視線方向が左向きに旋回した様子の表示例である。図36(b)では、移動路の向こう側にある冷蔵庫が表示面中央に表れ、図37(a)では、中央に位置した冷蔵庫が、表示面の右側に寄り、移動路2の右脇に配置している家電製品が表れている。図37(b)では、移動路8の移動路オブジェクトが表示面の中央に位置し、移動路2の向きにある。図35(a)の画像は全く表示面に表れてなかった移動路8の向こうの大型テレビが、表示面に表れる。
【0121】
以上の仮想店舗の例の他に、図22を参照しながら、本発明をカーナビゲーションシステムに適用した場合の具体例を説明する。従来技術として説明したように、カーナビゲーションシステムにおいては、実際に自動車をドライブする前に、自宅で目的地までの道順を表示して確認するといった、シュミレーション目的のものがある。このシュミレーションでは、図22に示すように、カーナビゲーションシステムに記憶されている直前上の建造物や道路(通路)の配置に基づいて、移動路オブジェクトや、3次元オブジェクトを表示面上に表示し、この表示面上の光景に対して、前進、後退等の操作を操作者に行わせ、その操作に対して表示面の画像を切り換える。このようなシュミレーションで予め目的地に至るまでの光景に見慣れておけば、後でドライブを行う場合に非常に好適である。この場合、移動路の選択をポインティングデバイスを介して行えば、この移動路の選択が簡単に行えるようになり、このシュミレーションが非常に手軽に行える。
【0122】
このように本実施例の構成は、仮想空間内の光景を表示面に投影させるといった画像表示を行うウォークスルーシステムであれば、どのようなものにも広く適用することができる。
(第2実施例)
第1実施例において、移動路同士の接続は、仮想空間における端点の座標が一致していることが前提であったが、第2実施例では、たとえ端点の座標が一致しなくても、移動路の接続関係にリンク属性といった論路的な接続関係が規定されていれば、これらの移動路は接続しているものとして、視点を移動させるようにしている。
【0123】
上記のリンク属性が設定されているため、図4に示した接続関係記憶手段2には、第1実施例に記憶内容に加えて、2つの移動路間のリンク属性を記憶している。第2実施例における接続関係記憶手段2の内容を図23に示す。図23を参照すると、移動路4の端点2の自動接続情報、選択接続情報と、移動路7の端点7の自動接続情報、選択接続情報とにリンク属性”−2”が与えられる。図3を参照すれば、移動路4の端点2の座標は、(3、3、4)であり、移動路7の端点2の座標は、(3、3、7)であるため、これらは、座標上では一致関係には無いが、この”−2”といった、論理的な接続関係が規定されているので、移動路4と移動路7とは、行き来を行うことが可能である。図3(b)に示した地図では、移動路4及び移動路7は、X軸方向に進んでゆくと行き止まりになるはずであるが、このように移動路4、移動路7間の論理的な接続が規定されているので、移動路4をX軸の負の向きに進んでいけば、自動的に移動路7へと分岐し、移動路7上を正の向きに進んでゆくようになっている。逆に移動路7を、X軸の負の向きに進んでいけば、自動的に移動路4へと分岐し、移動路4上を正の向きに進んでゆくようになっている。
【0124】
また第2実施例では、図4に示した構成に加えて、リンク関係記憶手段が付加されている。このリンク関係記憶手段はリンク元の移動路識別子とリンク先移動路識別子とそれらの移動路の始点となる端点を記憶する。リンク関係記憶手段に記憶された図2における移動路4と移動路7のリンク関係を図24に示す。図24に示すリンク関係記憶手段の記憶内容には、リンク元移動路識別子とリンク先移動路識別子と始点とが対応づけられ、2つの移動路間のリンク関係が規定されている。
【0125】
以上のように構成された第2実施例の動作を示す図25および図26のフローチャートを用いて説明する。
図25は、前進ボタンが押された場合の処理を示すフローチャートである。本フロ−チャ−トと図13、14に示したフロ−チャ−トとの差違点は、図25においてステップ101、102が付加されている点である。
【0126】
今、視点は図2に示した移動路2→移動路7の経路で分岐し、現在移動路7を移動中であるものとする。このときの移動路識別子レジスタ7の値は(−2、7、2)である。
ここで前進ボタンが押され、ステップ51、52、53、66の移動路の処理が繰り返されて、視点が移動路7の終点に達したものとする。そのため、ステップ53がYesとなり、ステップ54に移行する。移動路7の端点2の接続情報は、上記の通り,−2であり、ステップ54がNoになって、ステップ101に移行する。
【0127】
ステップ101では前移動路がリンク属性かどうかを判別し、リンク属性つまり−2の時はステップ102へ進む。リンク属性でない場合はステップ66へ進む。
ステップ102では図20のフロ−チャ−トで示されるリンク処理を行う。その結果、視点は移動路4の端点2へ進む。
【0128】
図26は後退ボタンが押された場合の処理を示すフローチャートである。本フロ−チャ−トと図14に示したフロ−チャ−トとの差違点は、図26においてステップ111、112が付加されている点である。
今、視点は図2の移動路7→移動路4の経路で移動し、現在移動路4の端点2を始点に端点1へ向けて移動しようとしているとする。このときの移動路識別子レジスタ7の値は(3、4、−2)である。
【0129】
ここで後退ボタンが押され、ステップ71、83、87の移動路の処理が繰り返されて、視点が移動路4の終点に達したものとする。そのため、ステップ71がYesとなり、ステップ72に移行する。移動路4の端点2の接続情報は、上記の通り,−2であり、ステップ72がNoになって、ステップ111に移行する。ステップ111では後移動路がリンク属性かどうかを判別し、リンク属性、つまり、−2の場合はステップ112へ進む。リンク属性でない場合はステップ87へ進む。
【0130】
ステップ112では図27のフロ−チャ−トに示すリンク処理を行う。その結果、視点は移動路7の端点2へ進む。
図27はリンク処理を示すフローチャートである。上記のステップ102、112へと処理が移行すると、本フロ−チャ−トの一連の処理が実行される。
本フロ−チャ−トにおいてステップ121では移動路識別子レジスタ7の現移動路をリンク元にするリンク先の移動路識別子をリンク関係記憶手段から読み出し、オブジェクト記憶手段3の現移動路に書き込む。
【0131】
次に現移動路の終点側に自動接続する移動路を接続関係記憶手段2から読み出して前移動路に書き込む。最後に後移動路に−2を書き込む。
ステップ122ではリンク関係記憶手段の始点の番号を始点終点レジスタ8の始点に、終点にはそれとは異なる方を書き込む。
ステップ123では始点終点レジスタ8の始点から終点に進むベクトルを移動ベクトルレジスタ11に書き込む。
【0132】
ステップ124では、移動ベクトルレジスタ11と同じベクトルを視線ベクトルレジスタ9に書き込む。
ステップ125ではリンク関係記憶手段の始点に対応する座標を移動路記憶手段1から読み出して、視点位置レジスタ12に書き込む。
ステップ126ではリンク元の移動ベクトルとリンク先の移動ベクトルから垂直ベクトルと旋回角度を求め、回転軸ベクトルを垂直ベクトルのまわりに旋回角度だけ回転させたベクトルを求め回転軸ベクトルレジスタに書き込む。
【0133】
このようにオブジェクト記憶手段3、対応関係記憶手段、回転軸ベクトルレジスタ10、制御手段14の更新を行い、ステップ66に移行すると(これは前進の場合であり、後退の場合では、ステップ87になる。)、回転軸ベクトルレジスタ10、移動路記憶手段1に移動路4についての情報が書き込まれたため、表示面には、移動路4沿いの光景が映ずるようになる。
【0134】
具体的には、視点が直前上ではいき止まりのはずの移動路4を進んでゆき、端点2に達すると、端点2で、図20に示したリンク処理が行われれ、オブジェクト記憶手段3、対応関係記憶手段、回転軸ベクトルレジスタ10、制御手段14の内容が移動路7についての情報に更新される。よって、表示面では、移動路4の光景から移動路7の光景へと切り換り、操作者はこれらの移動路が接続しているような感覚を得ることができる。
【0135】
以上のように本実施例によれば、座標上において直接連続していない移動路間で、視点を行き来させることができるので、たとえ仮想空間の広さが制限されていても、視点をあちこちに移動させることができる。
また視点の移動を行わせたい2点間に障害物となる3次元オブジェクトが存在し、この間に移動路を配置することが不可能である場合に、当該2点間をリンク属性によって論理的に接続することで、この2点間において視点を行き来させることができる。
【0136】
(第3実施例)
第3実施例では、移動路オブジェクト上でポインティングデバイス23から一回クリックを行うと前進、2回以上クリックを行うと後退、移動路オブジェクト上以外でクリックすると停止するというように、カーソル位置と、クリック回数とに応じて、視点の移動制御を行っている。
【0137】
そのため、第実施例では、図4に示した構成に加えて、以下に示す回数レジスタが付加されている。
回数レジスタは、クリック回数と、その回数に対応する移動命令との対応関係を記憶する。図28にクリック回数と移動命令の対応関係を示す。図22に示すように、クリック回数が0回なら移動命令は停止命令であり、クリック回数が1回なら移動命令は前進である。また、クリック回数が2回以上なら移動命令は後退である。
【0138】
上記のクリック回数による制御を行うため、図17に示した移動路の変更処理フロ−チャ−トは、図29に示すように、ステップ20、ステップ27、ステップ28が付加されている。
図29においてステップ20では、ボタンのクリック入力があると、そのクリックが何回行われたかをカウントして、回数を回数レジスタに書き込む。
【0139】
ステップ20の実行後、ステップ21で、ポインティングデバイス23によって指示された画素から移動路識別子を取得し、ステップ22でのオブジェクト識別子の抽出が順次行われ、ステップ28へと至ると、ステップ28において回数レジスタの回数に対応した移動命令を移動命令レジスタ13に書き込む。
以上のステップ20〜28の処理を行えば、移動命令レジスタ13に、クリック回数に応じた移動命令が記憶される。
【0140】
次に、オブジェクト識別子がオブジェクトのものでなかった場合の処理(ステップ25での判定でNo)について説明を行う。
ステップ23がNoならば、ステップ27において回数レジスタが0クリアされる。ステップ27に移行した後、処理はステップ28に移行するが、ステップ28では、0クリアされた移動命令、即ち、停止命令が与えられる。
【0141】
以上のように、本実施例によれば操作者はディスプレィ21に表示された移動路オブジェクト上でポインティングデバイス23から一回クリックを行うと前進、2回以上クリックを行うと後退、移動路オブジェクト上以外でクリックすると停止するように視点が移動するので、視点の移動がより簡単に行われ、操作性が多いに向上する。
【0142】
(第4実施例)
第3実施例ではクリックの回数で前進、後退を行ったが、第4実施例では更に、ポインティングデバイス23のカーソル位置によって視線方向の右旋回、左旋回を可能にしている。
そのため、第4実施例では、図30に示すように、表示面上においてその右脇、左脇が領域2、領域3に割り当られ、それ以外の領域が領域1に割り当られている。そして、これらの領域は、図31に示すように、領域1が停止に割り当られ、領域2が右旋回に割り当られている。また領域3が左旋回に割り当られている。
【0143】
また第4実施例では、図32に示すステップが図29に示したフロ−チャ−トに付加されている。即ち、第4実施例では、図29におけるステップ23での判定において、ピクセル値から取得したオブジェクト識別子が移動路オブジェクトのものでなかった場合(Noの場合)、図32のステップ53に移行する。図32のフロ−チャ−トにおいて、ステップ54及びステップ56の処理が行われると、図29の”終了”へと移行する、ステップ55でNoと判定されると、図29のステップ28へと移行する。
【0144】
以降、これらの図32に示したステップを順を追って説明してゆく。
ステップ53では、クリックされた位置が表示面の右脇であるか否かを判定する。もし右脇であれば、右向きの回転命令を移動命令レジスタ13に記憶させる。
ステップ55では、クリックされた位置が表示面の左脇であるか否かを判定する。もし左脇であれば、左向きの回転命令を移動命令レジスタ13に記憶させる。
【0145】
以上のステップ53、55の実行の後、図11のメインフロ−チャ−トに移行する。ここに移行した状態で、移動命令レジスタ13には、旋回命令が記憶されているため、図16のフロ−チャ−トが実行されて、視線方向の回転が行われる。
以上のように、本実施例によれば、第3実施例での操作性の向上に加えて、表示面に対してクリックを行うことで視線を回転させることができる。そのため、操作性を更に向上させることができる。
【0146】
(第5実施例)
第5実施例では、表示面において移動路識別子レジスタに記憶されている移動路オブジェクトと、現在移動に使用している移動路に接続される移動路と、それ以外とを色分けして表示する。
第5実施例において、移動路の色分けが如何に行われるかを、図33の説明図に示す。図33(a)における対応図表は、移動路識別子と、その移動路の色と、その色との対応を示している。即ち、本図において移動路識別子1は、システム1で描画されることを示している。移動路識別子3は、システム2で描画されることを示している。これらの移動路の色分けは、図6における移動路間の接続関係に対応している。即ち、図6において、移動路識別子レジスタ7に記憶されている現移動路及びその前後の移動路は、全てシステム1の色で描画される。また、図6において、接続関係が選択接続になっている移動路は、全てシステム2の色で描画される。更に、これらの、視点が今いる移動路と接続関係がない移動路は、オリジナルの色で描画されている。
【0147】
第5実施例では、図4に示したレンダリング部5がこの図33(a)に示した対応図表を記憶し、図34のフロ−チャ−トに示す処理で、表示面上に投影像を描画する。この描画処理について図34を参照しながら説明する。
今、視点は図2の移動路1を通り、移動路2を移動路6へ向けて移動中とする。この時、移動路識別子レジスタ7の値は(6、2、1)である。レンダリング部5は、3次元オブジェクトの投影を行う際、図34に示す色変換ルーチンを呼び出す。
【0148】
この図34のフロ−チャ−トは、ステップ141〜148の処理を、全てのオブジェクトについて繰り返す構造になっている。
図34のステップ141では、1つのオブジェクトのオリジナルの色コードからオブジェクト識別子を抽出する。
ステップ142では抽出したオブジェクト識別子が移動路オブジェクトのものであるか判別し、そうであるならステップ143へ、そうでないならステップ148へ進む。
【0149】
ステップ143ではオブジェクト識別子に対応する移動路識別子を対応関係記憶手段4から読み出す。
ステップ144では、その移動路識別子が移動路識別子レジスタ7に記憶されているいずれかの移動路ぼ識別子と等しいか否かを判定する。即ち、移動路識別子が視点が今いる現移動路か、或は移動路識別子レジスタ7に記憶されている現移動路及びその前後の移動路であれば、ステップ146へ進む。等しくなければステップ145へ進む。
【0150】
ステップ146では、移動路オブジェクトオリジナルの色をあらかじめ定めたシステム1の色に変換し、その色でオブジェクト識別子の移動路オブジェクトを描画する。このようなシステム1色での描画によって、移動路識別子レジスタ7に記憶されている現移動路及びその前後の移動路とは、表示面上に映えるようになる。
【0151】
ステップ145ではステップ143で読み出された移動路識別子が移動路識別子レジスタ7に記憶されている選択可能な移動路識別子のいずれかと等しいかを接続関係記憶手段2の記憶内容と比較する。等しい場合はステップ147へ進む。等しくない場合はステップ148へすすむ。
ステップ147では、移動路オブジェクトオリジナルの色をあらかじめ定めたシステム2の色に変換し、その色でオブジェクト識別子の移動路オブジェクトを描画する。このようなシステム2色での描画によって、現移動路に選択接続される移動路とは、表示面上に映えるようになる。
【0152】
ステップ148では3次元オブジェクトのオリジナルの色コードで移動路オブジェクトをフレームバッファ6に書き込む。
このようにステップ141〜148を全てのオブジェクトに対して繰り返し行うと、視点が今いる現移動路と、に記憶されている現移動路及びその前後の移動路とがシステム1で描画され、現移動路に選択接続される移動路がシステム2で描画され、それら以外の移動路はオリジナルの色で描画され、表示面の投影像にめりはりが与えられる。
【0153】
以上のように本実施例によれば、表示面の投影像にめりはりが与えられるので、視点がどの方向に進んでゆくかを、操作者は表示面への投影像から把握でき、ウォークスルーの利便性が高まる。尚第5実施例においてシステム1の色での描画は、移動路識別子レジスタ7に記憶されている移動路と自動接続される移動路を探索し、探索で見つかったものを全て、システム1で描画してもいい。
【0154】
尚、上記実施例に基づいて説明してきたが、本発明は、その要旨を逸脱しない範囲で変更実施することができる。例えば、以下の(a)〜(c)に示すような変更実施が可能である。
(a)第1〜第5実施例ではカーソルが特定の領域に位置するとき、それに対応する視線方向の回転がなされたが、カーソルが領域に位置し、かつ操作者がカーソルをディスプレィ21の外側の方向へ移動させようと操作したとき視線方向の回転がなされるように制御してもよい。この場合は、カーソルが領域に入っただけでは視線方向の回転がされず、画面の端のオブジェクトを選択し易いというメリットがある。また、上下方向の回転軸を設定すれば、上下方向の視線の回転を行えることはいうまでもない。
【0155】
(b)図4においては各記憶手段を1つのブロックとして説明したが、これは説明の便宜を優先しただけにすぎない。即ち、各記憶手段の記憶内容を光ディスク等の媒体に記録して更新可能にしてよいことはいうまでもない。この場合、光ディスクを装着し、ディスクの回転駆動して、光ピックアップからデータを読み出す汎用型のドライバ機構を内蔵するか、或は外付けで接続すればよい。
【0156】
(c)(b)の説明において記憶内容は光ディスク等によって更新されると言及してたが、通信網を介して更新可能なこともいうまでもない。即ち、画像表示装置がISDNやLAN等のデジタルネットワーク用の通信インターフェィスやモデムを装着して、ISDNやLANのデータサーバをアクセスを行い、必要なデータを読み出し、読み出したデータでこれらの記憶内容を更新してもよい。
【0157】
【発明の効果】
以上説明してきたように、請求項1また2の発明に係る画像表示装置によれば、表示面上に投影された通路の投影像を指示させることで分岐先が決定するので、(1)十字路中の交差点までの移動、(2)交差点に達したかの確認、(3)達していなければ移動を継続、(4)達していれば移動方向を変更、(5)移動の継続という(1)〜(5)の一連の操作が不要になり、操作性が著しく向上する。
【0158】
また、視点の移動範囲は移動路オブジェクトによって明確に示されるので仮想空間を制作する制作者は操作者から見える部分と見えない部分を容易に把握することができ、仮想空間を制作する制作者側もデータの作成範囲がわかりやすい。そのため、見えない部分のデータを作るという無駄な作業を防ぐことができ、3次元データの作成効率が非常に高い。
【0159】
また、請求項3の発明に係る画像表示装置によれば、請求項1における効果に加えて、
表示面上で通路が占めている領域が指示されるとその通路が移動先に判定され、指示されないと、予定通路が判定されるので、通路間の分岐に操作者を手間取らせない。
【0160】
また、請求項4の発明に係る画像表示装置によれば、請求項1における効果に加えて、
通路の向きを示すベクトルで視線及び視野が決定されるので、演算が低負荷になり、『バーチャルウォークスルー』が好適に実現する。
また、請求項5の発明に係る画像表示装置によれば、請求項1における効果に加えて、
通路から通路への分岐は、通路のベクトルがなす角度を算出し、その角度分だけ視線を回転することで低負荷の演算で実現されるので、『バーチャルウォークスルー』が好適に実現する。
【0161】
また、請求項6の発明に係る画像表示装置によれば、請求項1における効果に加えて、
視点の移動は、前進手段によって単位ベクトルの大きさ分ずつ、小刻みに行われ、単位ベクトルの大きさ分の前進の度に表示面上の投影像は切り換るので、現実感のある『バーチャルウォークスルー』が実現する。
【0162】
また、請求項7の発明に係る画像表示装置によれば、請求項1における効果に加えて、
視点の移動は、前進手段によって単位ベクトルの大きさ分ずつ、小刻みに行われ、単位ベクトルの大きさ分の前進によって視点が通路の端点に達すると書き込み手段によって視線ベクトルの書き込みが行われるので、『バーチャルウォークスルー』で現実感のある岐路間の分岐が実現する。
【0163】
また、請求項9の発明に係る画像表示装置によれば、請求項1における効果に加えて、
視線を回転する旨の操作者の操作を受け付けて、視線を回転させることができるので移動方向を変えないで、視線を変更させることができる。
また、請求項10の発明に係る画像表示装置によれば、請求項1における効果に加えて、
通路間の分岐を行う際、分岐の通路における回転軸を通路間の外積から算出するので、回転軸が多少法線から傾いていても、その傾きを分岐後においても維持できる。
【0164】
また、請求項11の発明に係る画像表示装置によれば、請求項1における効果に加えて、
視線ベクトルの回転は、所定の基準角度分ずつ行われ、その度に、書き込み制御手段によって視線ベクトルが視線ベクトル記憶手段に書き込まれるので、通路間の分岐を行う際、表示面には、所定角度分ずつ、投影像が映じるようになる。従って、視点が徐々に曲がってゆく様子を表現できる。
【0165】
また、請求項12の発明に係る画像表示装置によれば、請求項1における効果に加えて、
通路間にリンクペアといった論理的な接続関係を規定することで、座標上において直接連続していない移動路間を行き来させることができるので、たとえ仮想空間の広さが制限されていても、視点をあちこちに移動させることができる。
【0166】
また、請求項13の発明に係る画像表示装置によれば、請求項1における効果に加えて、
表示面上の画像のうち、予定通路となるものは第1の色で描画され、その他の通路が第2、第3色で描画されるので、表示面にめりはりが生じ、見易さが向上する。
【0167】
また、請求項14、15の発明に係る画像表示装置によれば、請求項1における効果に加えて、
ポインティングデバイスで表示面上の領域を指示と、ボタンの押下の回数によって、視点の前進あるいは後退が行われるので、『バーチャルウォークスルー』の操作性が大きく向上する。
【図面の簡単な説明】
【図1】画像表示装置の外観を示す斜視図である。
【図2】仮想空間と表示面との対応を示す説明図である。
【図3】(a)視野と、表示面上の画像との対応を示す図である。
(b)X−Z座標系にマッピングされた仮想空間内の座標を示す上面図である。
(c)本実施例における仮想空間を位置Aから斜めを向いて見た場合の画像である。
【図4】本実施例における画像表示装置の構成を示すブロック図である。
【図5】移動路記憶手段1の記憶されている、移動路識別子と移動路の端点との対応関係を示す図である。
【図6】接続関係記憶手段2に記憶されている、各移動路識別子と、その他の移動路との接続関係を示す図である。
【図7】対応関係記憶手段に記憶されているオブジェクト識別子と移動路識別子との対応関係を示す図である。
【図8】フレームバッファ6の記憶内容を示す説明図である。
【図9】視野と、表示面上の画像との対応を示す説明図である。
【図10】視線ベクトル、移動ベクトル、始点終点ベクトル、始点位置等を説明するための説明図である。
【図11】制御手段14の制御動作のメインフローチャートである。
【図12】制御手段14が行う初期化処理のフロ−チャ−トである。
【図13】視点位置の変更処理における前進処理のフロ−チャ−トである。
【図14】視点位置の変更処理における後退処理のフロ−チャ−トである。
【図15】視点の移動方向の変更処理のフロ−チャ−トである。
【図16】視線方向の変更処理のフロ−チャ−トである。
【図17】移動路の変更処理のフロ−チャ−トである。
【図18】視点が移動路間を旋回する様子を示す説明図である。
【図19】(a)視点が移動路間を旋回する様子を示す説明図である。
(b)旋回角度αと、旋回角度βとの関係を示す説明図である。
【図20】(a)〜(c)移動路1を前進した場合に、表示面に表われる表示例である。
【図21】(a)〜(e)移動路1から移動路4へと分岐した場合に、表示面に表われる表示例である。
【図22】本発明の構成をカーナビゲーションシステムに応用した場合の表示例である。
【図23】第2実施例において、接続関係記憶手段2に記憶されている、各移動路識別子と、その他の移動路との接続関係を示す図である。
【図24】リンク接続による各移動路識別子と、その他の移動路との接続関係を示す図である。
【図25】視点位置の変更処理における前進処理のフロ−チャ−トである。
【図26】視点位置の変更処理における後退処理のフロ−チャ−トである。
【図27】第2実施例におけるリンク処理のフロ−チャ−トである。
【図28】クリック回数と、移動命令との対応を示す表である。
【図29】第3実施例における移動路の変更処理を示すフロ−チャ−トである。
【図30】表示面上の画像と、画像上の領域の割り当を示す表示例である。
【図31】図30に示した表示面上で割り当られた領域と、その領域に対応する回転命令との対応を示す図である。
【図32】移動路の変更処理において、第4実施例で追加されたステップである。
【図33】(a)移動路識別子と、その識別子の色との対応を示す図である。
(b)図33(a)に示した色で色分けされた移動路を示す説明図である。
【図34】第5実施例におけるレンダリング部5の処理を示すフロ−チャ−トである。
【図35】(a)仮想店舗における移動路を前進し、移動路間を分岐した場合に、表示面に表われる表示例である。
(b)仮想店舗における移動路を前進し、移動路間を分岐した場合に、表示面に表われる表示例である。
【図36】(a)仮想店舗における移動路を前進し、移動路間を分岐した場合に、表示面に表われる表示例である。
(b)仮想店舗における移動路を前進し、移動路間を分岐した場合に、表示面に表われる表示例である。
【図37】(a)仮想店舗における移動路を前進し、移動路間を分岐した場合に、表示面に表われる表示例である。
(b)仮想店舗における移動路を前進し、移動路間を分岐した場合に、表示面に表われる表示例である。
【符号の説明】
1 移動路記憶手段
2 接続関係記憶手段
3 オブジェクト記憶手段
4 対応関係記憶手段
5 レンダリング部
6 フレームバッファ
7 移動路識別子レジスタ
8 始点終点レジスタ
9 視線ベクトルレジスタ
10 回転軸ベクトルレジスタ
11 移動ベクトルレジスタ
12 視点位置レジスタ
13 移動命令レジスタ
14 制御手段
21 ディスプレィ
22 キーパッド
23 ポインティングデバイス
[0001]
[Industrial application fields]
The present invention projects an image of a virtual space on a display surface and switches the projected image in accordance with the operation of the operator, thereby giving the operator a feeling as if he is moving in the virtual space. The present invention relates to a display device.
[0002]
[Prior art]
In recent years, with the rapid development of 3D computer graphic drawing technology, research for realizing a “virtual walk-through” using this drawing technology has been actively conducted.
“Virtual walkthrough” means that the scene in the virtual space is projected onto the display surface, and the projected image is switched in accordance with the operation of the operator, so that the sensation can be manipulated as if it were moving in the virtual space. Can be developed into various three-dimensional simulation systems. The simulation system developed from this “virtual walk-through” includes a virtual tourism guide system, interior simulation, virtual store system, car navigation simulation, and the like.
[0003]
In the virtual tour guide system, the location of historical sites and the introduction of famous buildings that were previously done in pamphlets and tourism mooks, etc., are replaced by the above-mentioned “Virtual Walkthrough”, and this tourist spot is walked. Gives the operator a sense of being
In the virtual store system, various products that have been performed on the paper such as catalogs in the conventional mail order are introduced in the virtual store formed by computer graphics. ”To provide the operator with a specific product image and incentivize purchase.
[0004]
In interior simulation, the arrangement of sofas, kitchens, tables, etc. is replaced with rearrangement of 3D graphics data, in which "virtual walkthrough" is performed and the impression of the layout is verified. .
In car navigation simulations, computer graphics are created based on information on national roads and private roads, as well as information on buildings around them. The operator is instructed to use a three-dimensional graphic as to what route should be taken to reach the destination.
[0005]
By the way, the viewpoint movement operation generally uses a command that defines commands such as advancing, retreating, raising, and lowering the viewpoint as a button, or a command that defines it as a mouse operation pattern. . The same applies to the line-of-sight direction changing operation.
An example of a mouse operation pattern is to bring the cursor to the center of the screen, press the button there, and move it up to move the viewpoint forward, and move it downward to move the viewpoint backward. There is. In this operation pattern, when the cursor is moved to the right, the line-of-sight direction turns to the right, and when the cursor is moved to the left, the line-of-sight direction turns to the left.
[0006]
[Problems to be solved by the invention]
However, according to the above-mentioned “virtual walk-through” of the prior art, it is necessary to determine where to turn in the virtual space after moving around the gaze direction and looking around. Such a judgment is very difficult to make in the virtual space, and there is a problem that it is very annoying to turn around the crossroads.
[0007]
This is because it is difficult to grasp from the graphics whether the viewpoint has reached the intersection. In other words, when the viewpoint is located in front of the intersection, the intersection is displayed on the display, so the positional relationship between the viewpoint and the intersection can be grasped, but in this state, the viewpoint position advances, and the viewpoint position is true of the intersection. When you reach the top, the intersection itself will be out of view and will not appear on the display.
[0008]
In this way, if you cannot grasp the position of the viewpoint with the graphics of the display, you have to rely on the judgment that if you move forward from this state where the corner is in the field of view, you will reach the corner. If the viewpoint does not reach the desired position, it is necessary to repeat the movement and turning of the viewpoint many times until the viewpoint is reached. However, it is difficult to get a sense of perspective in the space expressed by 3D graphics, so this repetitive processing cannot be expected.
[0009]
Even if you look around the virtual space along a preset course, you must always pay attention to whether the viewpoint has moved to the position of the corner, and if you reach that corner, you will have to operate in a timely manner. It becomes a thing.
Even if it turns, if the right turn angle and left turn angle at that time are higher or lower than the angle between the aisles, and the viewpoint continues to move, the viewpoint will deviate from the course on the aisle. There is also.
[0010]
Unlike toys, such as toys that move forward through a maze drawn with 3D graphics, the “virtual walkthrough” is different from such toys, and the viewpoint can be moved in small increments or while the viewpoint is stopped. It is required to give a more realistic feeling by changing the direction. If the movement is chopped up in this way, the above-mentioned usability is further increased.
[0011]
In view of the above problems, an object of the present invention is to provide an image display device that can be easily turned at a crossroads and can suitably realize a “virtual walk-through”.
[0012]
[Means for Solving the Problems]
In order to achieve the above object, an image display device according to claim 1 comprises:
An image display device that moves a viewpoint on a plurality of passages in a virtual space, and displays a scene in the virtual space that enters the visual field of the viewpoint on the display surface along with the movement,
A moving means for accepting the operation of the operator and moving the viewpoint on the path instructed in the virtual space;
Projecting means for projecting a scene of a virtual space entering the visual field of the viewpoint as the viewpoint moves on the passage onto the display surface;
An instruction means for instructing the operator in advance as one of the movement destinations in the field of view when a branch consisting of two or more passages is projected on the display surface;
With
The moving means moves the viewpoint onto the passage instructed by the instruction means when the viewpoint is located at the branch point of the branch.,
The image display device further includes,
There is provided a branch-scheduled path storage means for storing a branch formed by two or more paths in the virtual space and a planned path that is a predetermined branch among the paths forming each branch.,
The moving means is,
When the viewpoint is located at the branch point of the crossroad, the viewpoint is moved to the planned path where the branch is determined in the crossroad-scheduled path storage means.,
When any of the passages forming a branch on the display surface is instructed by the instruction means, the viewpoint is moved on the instructed passage.
It is characterized by that.
[0015]
And claims2The image display apparatus according to
Passage-coordinate storage means for storing all the passages in the virtual space and the coordinates of both ends of each passage in the virtual space in association with each other;
Line-of-sight vector storage means for storing a line-of-sight vector indicating the line-of-sight direction of the viewpoint;
First vector calculation means for calculating a vector indicating the direction of the path with the current viewpoint based on the coordinates of the both ends of the path with the viewpoint stored in the path-coordinate storage means;
Writing means for writing the calculated vector into the line-of-sight vector storage means;
Visual field determining means for determining the visual field based on the line-of-sight vector stored in the line-of-sight vector storage means when writing by the writing means is performed;
With
The projection means includes
Projecting the projected image of the field of view determined by the field of view determining means onto the display surface
It is characterized by that.
[0016]
And claims3The image display apparatus according to
Reading means for reading out the coordinates of both ends of the passage designated by the instruction means from the passage-coordinate storage means;
Second vector calculating means for calculating a vector indicating the direction of the passage in the virtual space based on the coordinates read by the reading means;
An angle calculating means for calculating an angle formed by the vector calculated by the second vector calculating means and the vector calculated by the first vector calculating means;
When the angle is calculated, rotation means for rotating the line-of-sight vector stored in the line-of-sight vector storage means by the calculated angle;
With
The writing means includes
When the viewpoint reaches the branch point of the crossroads by the moving means, the rotated line-of-sight vector is written.
It is characterized by that.
[0017]
And claims4The image display apparatus according to
The moving means is
Current coordinate storage means for storing the coordinates of the current position of the viewpoint in the virtual space;
Unit vector calculating means for calculating a unit vector of the vectors calculated by the first and second vector calculating means;
Forward means for accepting an operator's operation and advancing the coordinates stored in the current coordinate storage means in the direction of the calculated unit vector by the magnitude of the unit vector each time the operation is performed;
With
The visual field determination means determines the visual field based on the current position advanced by the advance means and the line-of-sight vector stored in the line-of-sight vector storage means,
The projection means includes
Each time the field of view is determined, the projected image of the field of view determined by the field of view determining means is projected onto the display surface.
It is characterized by that.
[0018]
And claims5The image display apparatus according to
The moving means is
Referring to the stored contents of the passage-coordinate storage means, it is determined whether the coordinates of the current position advanced by the advance means have reached the end point of the passage where the current viewpoint is located.SizeMeans
With
The writing means includes
SizeWhen it is determined that the end point has been reached by the fixing means, the line-of-sight vector after rotation is written
It is characterized by that.
[0019]
And claims6The image display apparatus according to
3D object storage means for storing each 3D object provided in the virtual space in association with the coordinates occupied by each 3D object;
Prepared,
The projection means includes
A determination unit that determines a path and a three-dimensional object that fall within the field of view determined by the field of view determination means each time the field of view is determined;
A projection unit that projects a passage and a three-dimensional object that are determined to be fitted onto the display surface;
It is characterized by having.
[0020]
And claims7The image display apparatus according to
Rotation axis storage means for storing the rotation axis of the line of sight;
A rotation control means for accepting the operator's operation to rotate the line of sight and the amount of rotation, and causing the rotation means to rotate the direction of the line-of-sight vector by the amount of rotation with the stored rotation axis as a reference axis;
With
The writing means includes
When the direction of the line-of-sight vector is rotated by the rotation control unit, the line-of-sight vector is written into the line-of-sight vector storage unit.
It is characterized by that.
[0021]
And claims8The image display apparatus according to
Taking the outer product of the vector calculated by the second vector calculating means and the vector indicating the direction of the passage with the current viewpoint calculated by the first vector calculating means, and calculating the rotation axis of the vector from the outer product, Having rotation axis calculation means to be stored in the rotation axis storage means;
The angle calculation means includes
The inner product of the vector calculated by the second vector calculating means and the vector indicating the direction of the passage with the current viewpoint calculated by the first vector calculating means is taken, and the angle formed by the two vectors is calculated from the inner product. And
The rotating means includes
When the angle is calculated, the line-of-sight vector stored in the line-of-sight vector storage unit is rotated by the angle calculated by the angle calculation unit with reference to the rotation axis stored in the rotation axis storage unit.
It is characterized by that.
[0022]
And claims9The image display apparatus according to
The rotating means includes
When the angle is calculated by the angle calculation means, a line-of-sight vector rotation unit that rotates the line-of-sight vector by a predetermined reference angle;
When the line-of-sight vector rotates, the writing control unit controls the writing unit to write a predetermined reference angle in the line-of-sight vector storage unit;
A difference magnitude determination unit that determines whether the difference between the angle calculated by the angle calculation unit and the total rotation angle written so far by the writing control unit is larger or smaller than the reference angle;
If larger, a first rotation control unit that controls the line-of-sight vector rotation unit to rotate the reference angle;
If smaller, a second rotation control unit that controls the line-of-sight vector rotation unit to rotate the line-of-sight vector by the difference;
It is characterized by having.
[0023]
And claims10The image display apparatus according to
Link path storage means for storing a link pair which is a combination of end points of paths having connection relations even though the coordinates of the end points are inconsistent;
The reading means includes
When the viewpoint moves to a path having one end point of the link pair, the coordinates of both ends of the path on the other side of the link pair are read from the link path storage means,
The second vector calculating means includes
Based on the coordinates of both ends of the passage read by the reading means, a vector indicating the direction of the passage in the virtual space is calculated,
The angle calculation means includes
Calculating an angle formed by the vector calculated by the second vector calculating means and the vector calculated by the first vector calculating means;
The rotating means includes
When the angle is calculated, the line-of-sight vector stored in the line-of-sight vector storage unit is rotated by the angle calculated by the angle calculation unit,
The writing means includes
When the rotation by the rotation means is performed, the line-of-sight vector rotated by the rotation means is written.
It is characterized by that.
[0024]
And claims11The image display apparatus according to
Corresponding the path with the current viewpoint, the path that is the scheduled path of the path in the cross-scheduled path storage unit, or the path that has been instructed by the instruction unit as the destination, and the path that the viewpoint has passed immediately before Current-front and rear passage storage means for storing;
The projection unit
When the viewpoint is moved by the moving means, a search unit that searches all paths that are linked as planned paths and paths stored in the current-previous path storage means in the branch-scheduled path storage means;
A first drawing unit that draws a path stored in the current-front-rear path storage unit and projection images of all paths searched by the search unit in a first color;
A second drawing unit that draws a passage that is not linked as a scheduled passage while forming a branch with the passage drawn in the first color in the second color;
A third drawing unit that draws a projected image of the passage in the third color that is not drawn by the first and second drawing units while entering the field of view of the viewpoint;
It is characterized by having.
[0025]
In the image display device according to claim 12,
Button providedThisA pointing device
When the passage is instructed by the pointing device, and the button is pressed in the instructed state, the forward-reverse control means for causing the moving means to advance or retreat the viewpoint according to the number of times of pressing,
A stop control means for stopping the movement of the moving means when a position other than the passage is instructed by the pointing device;
It is characterized by having.
[0026]
An image display device according to claim 13 is provided.
Button providedThisA pointing device
When the passage is instructed by the pointing device, and the button is pressed in the instructed state, the forward-reverse control means for causing the moving means to advance or retreat the viewpoint according to the number of times of pressing,
When both sides of the display surface are instructed by the pointing device, the rotation control means for rotating the line-of-sight vector in the right direction or the left direction to the rotation means,
Stop control means for stopping the movement of the moving means when a pointing device indicates a position that is neither a passage nor both sides of the display surface;
It is characterized by having.
[0047]
【Example】
(First embodiment)
Hereinafter, an embodiment of the present invention will be described in detail with reference to the drawings.
First, the external appearance of the image display apparatus will be described with reference to the explanatory diagrams of FIGS. FIG. 1 is a perspective view showing the appearance of the image display apparatus. FIG. 2 is an explanatory diagram showing the correspondence between the virtual space and the display surface.
[0048]
As shown in FIG. 1, the image display apparatus includes a display 21 that reflects a virtual space scene on a display surface, a keypad 22 that is operated by an operator, and a pointing device 23. On this display surface, as shown in FIG. 2, a scene in the virtual space is reflected. Then, the scene of the virtual space reflected on the display surface is switched by an instruction to the keypad 22 and the pointing device 23 shown in FIG. For this reason, when the operator gives an instruction to the keypad 22 or the pointing device 23, it is possible to obtain a feeling that a frog is walking in the virtual space.
[0049]
Next, the correspondence between the virtual space and the display surface will be described with reference to the explanatory diagram of FIG. As shown in FIG. 2, a passage and a building provided in the virtual space are projected on the display surface. By operating the keypad 22 and the pointing device 23, the viewpoint advances on the passage in the figure, and accordingly, the projected image on the display surface is switched.
[0050]
Next, the image of the virtual space reflected on the display surface, the movement path in the virtual space, and the arrangement of the building will be described with reference to the explanatory diagram of FIG. FIG. 3A is an image when the virtual space in the present embodiment is viewed from the position A toward the front. FIG. 3B is a top view showing coordinates in the virtual space mapped to the XZ coordinate system. Further, FIG. 3C is an image when the virtual space in the present embodiment is viewed obliquely from the position A.
[0051]
In FIG. 3B, the position A is an end point of the moving path 1 (note that the moving path and the passage are synonymous). The moving path 1 forms a cross road with the moving paths 2, 3, 4. Therefore, it is possible to branch from the moving path 1 to any one of the moving path 2, the moving path 3, and the moving path 4. Further, the moving path 2 connected to the moving path 1 forms a T-shaped path with the moving path 6 and the moving path 7, and branches from the moving path 2 to either the moving path 6 or the moving path 7. It is possible.
[0052]
Since the viewpoint from this position A faces the position B in FIG. 3 (b), the cross road formed by the movement paths 1, 2, 3, and 4 as shown in FIG. Appears, and a T-shaped path composed of the moving path 6 and the moving path 7 appears on the other side.
In contrast to the display example of FIG. 3A, the display example of FIG. It shows a state of being directed to. As in the display example of FIG. 3C, in this embodiment, the viewing direction of the viewpoint can be arbitrarily changed on the moving path.
[0053]
Next, the internal configuration of the image display apparatus will be described with reference to the configuration diagram of FIG. FIG. 4 is a block diagram showing the configuration of the image display apparatus in the first embodiment.
As shown in FIG. 4, the image display device includes a moving path storage unit 1, a connection relationship storage unit 2, an object storage unit 3, a correspondence relationship storage unit 4, a rendering unit 5, a frame buffer 6, and a movement. A path identifier register 7, a start point end point register 8, a line-of-sight vector register 9, a rotation axis vector register 10, a movement vector register 11, a movement instruction register 13, a control means 14, a display 21, and a keypad 22. And a pointing device 23.
[0054]
The keypad 22 shown also in FIG. 1 has two buttons for instructing forward and backward movement of the viewpoint in the figure (referred to as a forward button and a backward button as shown in the figure), right-turning in the sight line direction, and left-turning. There are two buttons for instructing the turn (referred to as a turn button as shown in the figure), a button for reversing the moving direction of the viewpoint (referred to as a reverse button as shown in the figure). The pointing device 23 then instructs the operator to specify any coordinate on the display 21 with the mouse cursor, and accepts a mouse click with the click button.
[0055]
As shown in FIG. 5, the movement path storage means 1 stores a movement path defined by a line segment connecting two arbitrary points in the virtual space as a combination of coordinates of two end points. FIG. 5 is a diagram illustrating a correspondence relationship between the moving path identifier and the end point of the moving path, which is stored in the moving path storage unit 1.
In the virtual space, the moving path is represented by how the moving path is located in an orthogonal coordinate system with the XZ axis as a reference axis. FIG. 5 shows how the travel path is stored in the travel path storage means 1. As shown in FIG. 5, the movement path is represented by its start point and end point in the XZ axis coordinate system, and an identifier assigned to each movement path.
[0056]
For example, as shown in the figure, the moving path 1 with the identifier 1 is from the coordinates (8, 3, 0) on the X axis to the coordinates (8, 3, 4) in the positive direction of the Z axis. Since it extends, as shown in FIG. 5, the identifier 1 of the moving path 1 is associated with coordinates (8, 3, 0) (8, 3, 4). On the other hand, the coordinates (8, 3, 4) are the starting points of the movement path 2, the movement path 3, and the movement path 4 in FIG. 3, and any of these movement paths can be selected.
[0057]
In this way, the movement paths 2, 3, and 4 forming the cross road start from (8, 3, 4) in FIG. 2, respectively, and the end point of the movement path 2 is only “3” in the Z-axis direction. It is expressed as (8, 3, 7) which is separated.
The moving path 3 extends from the end point 2 (end point) of the moving path 1 by 5 in the X-axis direction, and (13, 3, 4) is the end point. In this way, the movement path storage means 1 stores how the movement path is formed in the virtual space by mapping it in the XZ coordinate system.
[0058]
The connection relationship storage unit 2 stores a connection relationship between each travel path stored in the travel path storage unit 1 and another travel path connected to two end points of the travel path. In addition, the connection relation storage means 2 stores, as automatic connection information and selected connection information, which route should be selected in association with each moving route on the assumption that the moving route has passed. .
[0059]
FIG. 6 shows the connection relations of the movement paths stored in the connection relation storage means 2. Here, the automatic connection information refers to information that indicates a movement path that is automatically connected to the current movement path when there is no movement path selection operation from the operator (in FIG. 3B, a solid line arrow). (Refer to the movement path 4). The selection connection information is information indicating a movement path to be connected by a selection operation of the movement path from the operator (in FIG. 3B, a broken line). (See the movement paths 2, 3, 5, 6, and 7).
[0060]
As shown in this figure, at the end point 1 of the moving path 1, “−1” is described in the selected connection information, and “−1” is also described in the automatic connection information. This is because no moving path is connected to the end point of the moving path 1 in FIG. 3B, and the viewpoint cannot advance below the end point 1 in the Z-axis direction.
On the other hand, since the end point 2 forms a cross road with the movement paths 2, 3, and 4, the movement paths 2, 3, and 4 are set in the selected connection information. For this selected connection information, the movement path 2 is set in the automatic connection information of the movement path 1. This means that the traveling direction of the viewpoint is selected as the moving path 2 when the viewpoint advances on the moving path 1 and reaches the cross road at (8, 3, 4).
[0061]
As shown in this figure, the movement paths 6 and 7 are set in the selected connection information at the end point 2 of the movement path 2, and the movement path 6 is set in the automatic connection information. This means that when the viewpoint advances from the end point 1 to the end point 2 of the moving path 2, the viewpoint automatically moves toward the moving path 6. Since the connection relation storage means 2 stores the connection between the moving paths in this way, when the crossing is reached, the course is uniquely selected without performing any special operation. .
[0062]
The object storage unit 3 stores shape data of a three-dimensional object or a moving path object. The three-dimensional object imitates a three-dimensional object in a virtual space such as a mountain or a building, and is arranged at a certain distance along each moving path, and these projected images are projected on the display surface. Further, as the viewpoint moves, the projected images of these three-dimensional objects are switched one after another. In addition to this, the three-dimensional object also has a role of blocking the view of the viewpoint and a role of enhancing the sense of reality. The moving path object is a moving path drawn by perspective. As shown in the display example in FIG. 3, the shape is such that the near side is narrower as it goes farther toward the back, and the movement path extends toward the back.
[0063]
The correspondence relationship storage unit 4 stores the correspondence relationship between the movement path object and the three-dimensional object, which indicates which three-dimensional object is provided along which movement path.
Further, as shown in FIG. 7, the correspondence relationship storage means 4 takes the correspondence between the moving path object and the information on the moving path by using the identifier attached to the moving path object and the moving path identifier. The moving path object can be switched and displayed.
[0064]
The rendering unit 5 includes high-speed graphics hardware and control software for the high-speed graphics hardware. The rendering unit 5 generates, as a bitmap, an image that appears in the viewpoint when the virtual space is viewed in the viewing direction of the viewpoint, and the generated image is the frame buffer 6. Write to. In the rendering unit 5, a number of processes such as model view conversion, projection conversion, viewport conversion, illumination processing, anti-aliasing processing, and texture mapping processing, which are widely known as 3D computer graphics generation methods, are performed in a pipeline manner. The final two-dimensional bitmap data is generated. A typical example of the control software used here is “OpenGL” manufactured by Silicon Graphics.
[0065]
Next, the image drawn on the display surface will be described with reference to the explanatory diagram of FIG. As is well known, the display surface is formed by drawing a bitmap pattern in which the display 21 is developed in the frame buffer 6. FIG. 8 shows how data is written in the frame buffer 6 in this embodiment. As indicated by arrows a1, a2, a3, and a4 in FIG. 8, 32-bit data in the frame buffer 6 is assigned to one pixel on the display surface. Of the 32 bits, the 8 bits of RGB indicating the luminance of each color are assigned to the lower 24 bits, and the object identifier of 8 bits is assigned to the upper 8 bits. This object identifier is written together with the color of the three-dimensional object when the virtual space is projected onto the display surface. The object identifier written in this way is used to refer to how the object exists on the display surface.
[0066]
Among the moving path objects displayed on the display 21, the identifier of the object designated by the cursor of the pointing device 23 is extracted. The pixels forming the projected image of the object on the display surface are written with RGB values together with the identifier of the object at the time of projection processing. By referring to the identifier written in the frame buffer 6, It turns out whether an object is specified.
[0067]
Next, with reference to the explanatory diagrams of FIGS. 9 and 10, how the information for the viewpoint, such as the viewpoint line of sight and the visual field, is processed will be described. As shown in FIG. 9, the image on the display surface shown in FIG. 3 (a) is a projection of a virtual space scene entering the visual field of the viewpoint (in the figure, the visual field of the viewpoint is a broken-line cone. Is shown.)
In FIG. 10, the position of the viewpoint is represented by coordinates in the virtual space (starting point position (8, 3, 0) in FIG. 10), and the viewpoint line of sight is represented by a unit vector of the moving path on which the viewpoint is currently located. (Gaze vector (0, 0, 1) in the figure). In addition, the identifier of the travel path in which the present person is present, the identifier of the travel path in which he / she was immediately before, and the identifier of the travel path to be advanced are stored in association with each other (the travel path identifier (2, 1, -1)). The coordinates of the start point and end point are stored for this current moving path (start point end point (end point 2, end point 1) in the figure). In addition, a movement vector indicating which direction the viewpoint is heading on this current movement path is stored (movement vector (0, 0, 1) in the figure), and when the operator performs a turning operation. Stores which direction is used as a reference (rotation axis vector (0, 0, 1) in the figure).
[0068]
Next, how the information about the above viewpoints is stored in the image display device will be described with reference to the configuration diagram of FIG. 4 again.
In FIG. 4, the moving path identifier register 7 includes an identifier of a moving path where the current viewpoint is located (current moving path), an identifier of a previous moving path and an identifier of a subsequent moving path that are connected before and after the current moving path. Remember
The start point / end point register 8 stores which of the two end points of the current moving path is the start point and which is the end point.
[0069]
The line-of-sight vector register 9 stores a unit vector indicating the direction of the line of sight.
The rotation axis vector register 10 holds a reference axis when turning the line of sight, that is, a rotation axis vector.
The movement vector register 11 stores a vector indicating the movement direction of the viewpoint, that is, a movement vector.
[0070]
The viewpoint position register 12 stores the coordinates of the viewpoint position.
The movement command register 13 stores a command (movement command) for moving the viewpoint acquired by the pointing device 23.
The control means 14 controls the image display device. The control contents of the control means 14 are shown in the flow charts of FIGS. The control contents of the control means 14 will be described with reference to the explanatory diagrams of FIGS.
[0071]
FIG. 11 shows a main flow chart. When the image display device is activated, an initialization process is performed (step S91), and an event wait state is entered (step S92). Then, according to the event that has occurred, the corresponding movement command is determined, and the determined command is stored in the movement command register 13. Next, it is determined whether the movement command stored in the movement command register 13 is a forward command, a backward command, a turn command, or a movement direction change command. Then, the process of advancing the viewpoint position shown in the flowchart of FIG. 13 is performed (step S93). If it is a reverse command, the process of retreating the viewpoint shown in the flowchart of FIG. 14 is performed (step S94). If it is a turn command, the movement of the line of sight shown in the flowchart of FIG. A direction changing process is performed (step S95), and if it is a reverse direction command, a viewpoint moving direction changing process shown in the flowchart of FIG. 15 is performed (step S96). If it is a click button, the moving path is changed (step S97).
[0072]
(Initialization operation)
FIG. 12 is a flowchart of the initialization operation. Initialization is performed by the control means 14 setting initial values in the six registers.
Here, the viewpoint is at the position A shown in FIG. 3B, and the moving path 1 is going to advance in the positive direction of the Z axis.
[0073]
In step 11, the travel path identifier register 7 sets the travel path indicated by the top travel path identifier in FIG. 4 as the current travel path, obtains the identifier of the travel path automatically connected to the correspondence storage means 4 in FIG. Initialize the travel path and rear travel path.
Here, the front travel path is set to 2, the current travel path is set to 1, and the rear travel path is set to -1. When the travel path identifier is -1, this indicates that there is no travel path to be connected.
[0074]
In step 12, the travel path indicated by the identifier of the current travel path in the travel path identifier register 7 is read from the travel path storage means 1, its end point 1 is the start point of the start point end point register 8, and the end point 2 is the end point of the start point end point register 8. Set.
In step 13, a movement vector from the start point to the end point of the start point / end point register 8 is obtained from the coordinates of the movement path storage means 1 and set in the movement vector register 11. In this case, the movement vector is set to a unit vector in the direction of AB.
[0075]
In step 14, the line-of-sight vector and the rotation axis vector are set in each register. The line-of-sight vector is set to the same value as the movement vector, and the rotation axis vector is set to (0, 1, 0).
In step 15, the viewpoint position register 12 is initialized with the coordinates of the end point 1 of the current moving path. In this case, A (8, 3, 0) is set.
[0076]
In step 16, (0, 0) is set in the cursor position register provided in the pointing device 23.
When the initialization operation is completed, the rendering unit 5 draws a projection image in the frame buffer 6 and draws a rear cursor on the projection image. FIG. 3A shows a screen image when the display 21 displays this display data.
[0077]
(Viewpoint position forward and backward processing)
13 and 14 are flowcharts showing the operation at the time of changing the viewpoint position. FIG. 13 shows viewpoint advance processing, and FIG. 14 shows viewpoint backward processing. The operator advances the position of the viewpoint along the current movement path and moves backward by operating the keypad 22.
(Advance processing in the moving path by the advance button Steps 51, 52, 53, and 66 are repeated)
It is assumed that the current viewpoint is at position A in FIG. The value of the movement path identifier register 7 at this time is (2, 1, -1).
[0078]
In FIG. 13, in step 51, it is determined whether or not the current position of the viewpoint has reached the end point of the moving path. Specifically, the coordinate corresponding to the end point of the start point / end point register 8 among the end points of the travel path indicated by the current travel path of the travel path identifier register 7 is obtained from the travel path storage means 1, and the viewpoint position register 12 is obtained. Compare and end if equal. In this case, since the viewpoint is still at the starting point (position A) of the moving path, the process proceeds to step 52.
[0079]
In step 52, the coordinates of the current viewpoint are directed toward the end point by the magnitude of the movement vector in the movement vector register 11. Since the movement vector is a unit vector, the viewpoint advances along the movement path in small increments by updating the movement vector register 11.
Here, if the end point of the start point / end point register 8 is in the middle of the movement vector, the coordinates of the end point are obtained again as in step 51 and written in the viewpoint position register 12.
[0080]
In step 53, the coordinates of the current viewpoint position are compared with the coordinates corresponding to the end point of the start point / end point register 8. If the end point is reached, the process proceeds to step 54. In this case, since the end point has not been reached, the process proceeds to step 66.
In step 66, the view of the virtual space viewed from the position of the viewpoint updated in step 52 is projected onto the display surface. Specifically, the rendering unit 5 performs the rendering process on the updated position, and the projection images of the three-dimensional object and the moving path object are written in the frame buffer 6.
[0081]
When the above steps 51, 52, 53, and 66 are repeated, each time step 52 is performed once, the position of the viewpoint advances by the magnitude of the movement vector, and then updated in step 66. Projection on the display surface is performed at the position of the viewpoint. These steps 51, 52, 53, and 66 are repeated, and the scene along the moving path is switched from the back side to the near side as the forward button is pressed. The display examples in FIGS. 20A to 20F show how the display surface is displayed every time step 66 is executed once the processing of steps 51, 52, 53, and 66 is repeated. Also, the change from FIG. 20A to FIG. 20B and the change from FIG. 20B to FIG. 20C in the figure represent the advance of the viewpoint movement vector. . That is, in FIG. 20 (a), the projected image 20 (b) is such that the cross road in front of the moving path is closer to the front in FIG. 20 (b), and the viewpoint is moving forward on the moving path. Is clearly expressed. The switching from FIG. 20B to FIG. 20C is as follows. In FIG. 20B, the crossroads that have been in the field of view disappear in FIG. 20C, and FIG. Then, the other T-shaped road is approaching, so it clearly shows that you are moving forward and standing on the crossroads.
[0082]
(When the viewpoint reaches the end point of the moving path and branching is performed by automatic connection information)
The processes in steps 51, 52, 53, and 66 are repeated, and the viewpoint advances along the moving path. It is assumed that the end point of the moving path 1 is reached. When the end point is reached, Yes in step 53 and the process proceeds to step 54.
Here, how the branch from the moving path to the moving path is performed in the present embodiment will be described with reference to FIG. FIG. 18 is an explanatory diagram showing how the movement vector is updated when the movement path branches.
[0083]
In FIG. 18, the movement vector of the viewpoint is calculated from the coordinates of both end points of the movement path where the current viewpoint is located (movement vector = end point 2−end point 1 in the figure). When the viewpoint direction is switched, the movement vector of the viewpoint must be updated to the movement vector of the moving path to be switched (in this case, the switching destination is the movement vector 2, (This is obtained by calculation of movement vector = end point 4−end point 3 in the figure). Therefore, when branching the viewpoint to a different movement path, the movement vector of the viewpoint must be updated to the movement vector of the movement path to be switched. To update the movement vector, first, an angle α formed by these two vectors is obtained, and the direction of the viewpoint is rotated by the obtained angle. Further, the rotation axis vector of the viewpoint is also updated along with the branch of the movement path, and the viewpoint uses the updated rotation axis vector for the rotation of the line of sight in the branch destination movement path.
[0084]
Next, branching of the moving path will be described with reference to the explanatory diagram of FIG. If the angle α formed by the moving path 1 and the moving path 2 is obtained as described above, the direction of the viewpoint can be switched from the moving path 1 to the moving path 2. In this embodiment, this angle α Do not rotate at once. This is because if the line of sight of the viewpoint turns to the moving path 2 at a time, the reality of turning around the moving path is impaired. Therefore, in this embodiment, the rotation angle γ is set in small increments, and the viewpoint is rotated in small increments by this angle γ. A scene tilted from the state by an angle γ is displayed. Each time the angle γ is rotated, the virtual space is projected, and a state of gradually turning between the moving paths is expressed.
[0085]
The processing of Step 55 to Step 66 in FIG. 13 is configured so that the above movement path switching is performed. Hereinafter, the processing of each step will be described in order.
In step 54, the identifier of the previous travel path is checked, and if it is negative, the process proceeds to step 66. In this case, since the previous travel path exists, the answer is Yes, and the process proceeds to Step 55.
In step 55, since the viewpoint shifts to another moving path, the moving path identifier is lowered. That is, the identifier of the subsequent movement path is updated with the identifier of the current movement path in the movement path identifier register 7, and the identifier of the current movement path is updated with the identifier of the previous movement path. The identifier of the travel path automatically connected to the travel path indicated by the identifier of the previous travel path is read from the connection relation storage means 2, and the identifier of the previous travel path is updated accordingly.
[0086]
In step 56, a moving path having coordinates equal to the direction indicated by the end point of the starting point / end point register 8 is found from the moving path stored in the moving path storage means 1, and the end point number of the moving path is determined as the start point / end point register 8. Write at the start of. The other number is written in the end point.
In step 57, the movement vector is temporarily stored in the internal register, the coordinates of the start point and end point of the start point / end point register 8 are obtained from the movement path storage means 1, and the movement vector is calculated by subtracting the start point vector from the end point vector. Then, the movement vector register 11 is updated with the unit vector divided by the size.
[0087]
In step 58, the value of cos α is obtained from the inner product of the movement vector temporarily stored in the internal register and the movement vector of the movement vector register 11, and α is obtained from the trigonometric function table stored therein.
In step 59, a vector perpendicular to the two vectors is obtained from the outer product of the movement vector temporarily stored in the internal register and the movement vector in the movement vector register 11, and the vector in the rotation axis vector register 10 is set to α by the vector. The rotation axis vector register 10 is updated with the rotated vector.
[0088]
In step 60, θ is set to α as an initial value for turning the line-of-sight vector.
In step 61, the preset angles γ and θ are compared, and if γ <= θ, the process proceeds to step 62. Otherwise, go to step 65.
In step 62, the line-of-sight vector register is updated with a value obtained by rotating the line-of-sight vector around the rotation axis vector by γ.
[0089]
In step 63, for the line-of-sight vector updated in step 62, the scene of the virtual space viewed from the line of sight is projected onto the display surface. Specifically, the rendering unit 5 performs the rendering process on the updated position, and the projection images of the three-dimensional object and the moving path object are written in the frame buffer 6.
In step 64, θ is reduced by γ and the process returns to step 61.
[0090]
When the above steps 61 to 64 are performed, a scene of the virtual space rotated by the angle γ is displayed on the display surface. And the scene for every angle (gamma) switches by repeating steps 61-64.
In step 65, the line-of-sight vector register is updated with a value obtained by rotating the line-of-sight vector around the rotation axis vector by θ.
[0091]
In step 66, for the line-of-sight vector updated in step 62, the scene of the virtual space viewed from the line of sight is projected onto the display surface. Specifically, the rendering unit 5 performs the rendering process on the updated position, and the projection images of the three-dimensional object and the moving path object are written in the frame buffer 6.
In this way, a scene along the moving path 2 appears on the display surface by the display switching of the display surface by repeating Steps 61 to 64 and the display switching by Steps 65 and 66.
[0092]
Hereinafter, with reference to the explanatory diagram of FIG. 21, a state in which the scene of the virtual space reflected on the display surface is switched by repeating Steps 61 to 66 will be described. FIGS. 21A to 21F show how the images on the display surface are switched when the processes of steps 62 to 66 are repeated. Each time step 62 is performed, the direction of the line-of-sight vector is rotated by an angle γ. Thereafter, in step 63, the updated viewpoint line of sight is projected onto the display surface. At the branch to the movement path 2, display examples from FIG. 21 (a) to FIG. 21 (f) appear on the display surface one after another. Further, the switching from FIG. 21A to FIG. 21B and the switching from FIG. 21B to FIG. 21C represent rotation of the line-of-sight angle γ. That is, in FIGS. 21 (a) and 21 (b), the triangular pyramid on the left side of the moving path flows to the right in FIG. 21 (b), and the line of sight of the viewpoint turns to the left. The situation is clearly represented. In FIG. 21B, the triangular pyramid located at the center of the display surface is changed to the right side in FIG. 21C. In 21 (d), the triangular pyramid is only reflected at the right end of the display surface. In addition, in FIG. 21E, the triangular prism has disappeared from the display surface, which clearly shows that the viewpoint line of sight is directed to the moving path 2.
[0093]
(Processing when the backward button is pressed)
The above is the processing when the forward button is pressed. Next, processing when the backward button is pressed will be described with reference to the flowchart of FIG. Since backwards are handled in the same way as forwards, we will focus on the differences. In the following description, it is assumed that the viewpoint is in the middle of the moving path 1 and the backward button is pressed by the operator.
[0094]
In step 71, it is compared whether the coordinates of the viewpoint are equal to the start point of the start point / end point register 8. In this case, assuming that the viewpoint is in the middle of the moving path, the process proceeds to step 83.
In step 83, the value of the viewpoint position register 12 is advanced in the direction of the movement vector register 11 by the magnitude of the movement vector. If the coordinates of the starting point are exceeded, the viewpoint position register 12 is updated with the coordinates of the starting point, and the process proceeds to step 87.
[0095]
In step 87, the view of the virtual space viewed from the viewpoint position updated in step 83 is projected onto the display surface. Specifically, the rendering unit 5 performs the rendering process on the updated position, and the projection images of the three-dimensional object and the moving path object are written in the frame buffer 6.
When the processes in steps 71, 83, and 87 described above are repeated, the viewpoint position moves toward the starting point of the moving path. When the viewpoint reaches the starting point of the moving path by repeating this, step 71 becomes Yes and the routine proceeds to step 72.
[0096]
In step 72, the identifier of the previous travel path is checked, and if it is negative, the process proceeds to step 87. In this case, since the moving path on which the viewpoint is located is connected to another moving path, the process proceeds to step 73.
In step 73, as in step 55, the contents of the object storage means 3 are moved down as the backward button is pressed. That is, the identifier of the previous travel path is updated with the identifier of the current travel path in the travel path identifier register 7, the identifier of the current travel path is updated with the identifier of the subsequent travel path, and the travel path indicated by the identifier of the subsequent travel path is automatically updated. The identifier of the moving path to be connected is read from the connection relation storage means 2, and the identifier of the subsequent moving path is updated accordingly.
[0097]
In step 74, as in step 56, the coordinates of the end point of the movement path of the movement path storage means 1 indicated by the previous movement path are the same as the coordinates indicated by the start point of the start point / end point register 8 by the current movement path. Obtained from the movement path of the movement path storage means 1 and writes the end point number of the coordinates to the end point of the start point / end point register 8. On the other hand, a different number is written at the end point.
[0098]
In step 75, similarly to step 57, the movement vector is temporarily stored in the internal register, the coordinates of the start point and end point of the new branch destination movement path are obtained from the movement path storage means 1, and the movement vector is calculated therefrom. The movement vector register 11 is updated with the unit vector divided by the size.
In step 76, as in step 58, the value of cos α is obtained from the inner product of the movement vector temporarily stored in the internal register and the movement vector in the movement vector register 11, and the angle required for branching from the trigonometric function table stored therein. Find α.
[0099]
In step 77, as in step 59, a vector perpendicular to the two vectors is obtained from the outer product of the movement vector temporarily stored in the internal register and the movement vector of the movement vector register 11, and the rotation axis vector register is set with the vector as an axis. The rotation axis vector register 10 is updated with a vector obtained by rotating 10 vectors by α. In step 78, as in step 60, the angle θ is set to the angle α as an initial value for turning the line-of-sight vector.
[0100]
In step 79, as in step 61, the preset angles γ and θ are compared, and if γ <= θ, the process proceeds to step 84. Otherwise, go to step 80.
In step 80, as in step 62, the line-of-sight vector register is updated with a value obtained by rotating the line-of-sight vector around the rotation axis vector by γ.
[0101]
In step 81, as in step 63, for the line-of-sight vector updated in step 62, the scene of the virtual space viewed from the line of sight is projected onto the display surface. Specifically, the rendering unit 5 performs the rendering process on the updated position, and the projection images of the three-dimensional object and the moving path object are written in the frame buffer 6.
[0102]
In step 82, as in step 64, θ is reduced by γ, and the process returns to step 79.
When the above steps 79 to 81 are performed, a scene of the virtual space rotated by the angle γ is displayed on the display surface. Then, by repeating steps 79 to 81, the scene for each angle γ is switched.
[0103]
In step 84, as in step 65, the line-of-sight vector register is updated with a value obtained by rotating the line-of-sight vector around the rotation axis vector by θ.
In step 85, for the line-of-sight vector updated in step 65, the scene of the virtual space viewed from the line of sight is projected onto the display surface. Specifically, the rendering unit 5 performs the rendering process on the updated position, and the projection images of the three-dimensional object and the moving path object are written in the frame buffer 6.
[0104]
In step 86, the value of the movement vector register 11 is added to the value of the viewpoint position register 12. If the coordinates of the starting point are exceeded, the viewpoint position register 12 is updated with the coordinates of the starting point.
In step 87, the rendering unit 5 writes the three-dimensional object and the cursor in the frame buffer 6, and the display 21 performs display.
[0105]
Thus, a scene along the moving path 2 appears on the display surface by switching the display of the display surface by repeating Steps 79 to 81 and switching the display by Steps 82 to 87.
(Change the moving direction to reverse)
FIG. 15 is a flowchart showing an operation at the time of changing the viewpoint moving direction (at the time of changing to the opposite direction). When the operator presses the button for changing the moving direction, the flow from the flowchart of FIG. 11 to the flowchart of this figure is branched.
[0106]
In step 31, the identifiers of the previous travel path and the rear travel path in the travel path identifier register 7 are exchanged.
In step 32, an inverse vector of the current movement vector is obtained, and the movement vector register 11 is updated.
In step 33, the line-of-sight vector register 9 is updated with a vector obtained by rotating the current line-of-sight vector by 180 ° around the rotation axis vector.
[0107]
In step 34, the start point and end point of the start point / end point register 8 are exchanged.
As described above, after the movement path identifier register 7, the movement vector register 11, and the line-of-sight vector register 9 are updated, if the viewpoint is advanced, the projection process in step 66 of FIG. A scene in the direction is projected on the display surface.
(Turn the line of sight left and right)
FIG. 16 is a flowchart showing an operation when the line-of-sight direction is changed. In the following description, it is assumed that the viewpoint is in the middle of the moving path, and the operator presses the turn button in this state.
[0108]
In step 41, it is determined whether or not the right turn button has been pressed. Otherwise, go to step 43. In this case, assuming that the right turn button is pressed, in step 42, the line-of-sight vector is rotated to the right by a preset magnitude θ ° around the rotation axis vector.
In step 43, it is determined whether or not the left turn button has been pressed. If the left turn button is pressed, the process proceeds to step 44, and if not, the process ends.
[0109]
In step 44, assuming that the left turn button is pressed, the line-of-sight vector is rotated to the left by a preset magnitude θ ° around the rotation axis vector.
In step 45, the three-dimensional object and the cursor in the virtual space that enter the visual field of view that is rotated by the angle θ are projected onto the frame buffer 6. As a result, a scene of the virtual space rotated by the angle θ is displayed on the display surface.
[0110]
In step 45, the sight of the virtual space after the turn is projected onto the display surface, so that the direction of the line of sight can be turned left and right to look around.
In this case, one rotation axis vector is used to change the line-of-sight direction, and only turning to the left and right is possible. However, if another rotation axis vector is used, the line-of-sight direction in the vertical direction can be changed. It can be changed. The vertical rotation axis vector at this time is a vector perpendicular to the two vectors of the horizontal rotation axis vector and the line-of-sight vector, and can be easily obtained by the outer product of the vectors.
[0111]
(Operation when moving path is changed)
FIG. 17 is a flowchart of the operation when the moving path is changed. In the following description, it is assumed that the viewpoint is in the middle of the moving path, and in this state, the operator indicates the moving path object on the display 21 with the cursor.
When the cursor is moved over the moving path object and the attached button is clicked, the cursor position is sent from the pointing device 23 to the control means 14.
[0112]
In step 21, the value of the pixel (pixel) specified by the input two-dimensional coordinates of the cursor position is acquired from the frame buffer 6.
In step 22, an object identifier is extracted from the pixel value.
In step 23, it is determined whether or not the extracted object identifier is a moving path object identifier. If not, this processing is terminated. In this embodiment, the relationship of moving path object identifier> 0 is set. In this case, since a click is performed on the moving path object, a positive number is returned as the moving path object identifier, and the process proceeds to step 24. .
[0113]
In step 24, the movement path identifier corresponding to the object identifier is read from the correspondence relationship storage means 4.
In step 25, it is determined whether or not the read travel path identifier is included in the selection connection information of the two end points of the connection relation storage means 1 of the current travel path. In this case, since the read identifier of the moving path is included in the selected connection information destination of the current moving path in the connection relation storage unit 1, the moving path of the read identifier is determined as the branch destination. If so, the process proceeds to step 24. If not, go to Step 26.
[0114]
In step 26, the end point including the selected connection information is compared with the start point and end point of the start point / end point register, and if the start point is equal to the start point, the subsequent movement path of the movement path identifier register 7 is updated. If it is equal to the end point, the previous travel path is updated. When the operator selects the travel path object 4, the travel path identifier register 7 is (4, 1, -1). In this embodiment, an object selection method using a so-called backward buffer, which is described in the document “OpenGL Programming Guide”, is employed. There are various methods for selecting an object, and this document describes another method for selecting an object using a selection mode, but it goes without saying that this method can also be realized.
[0115]
In this way, the object storage means 3 is updated in step 26, and thereafter, when the forward direction is repeated, the direction of the viewpoint is changed by the pointing device 23 in the forward process shown in the flowchart of FIG. Switch to the selected travel path.
As described above, according to the present embodiment, the branch can be branched by selecting the moving path object with the cursor and moving forward and backward. If the selection of the movement path with the cursor is realized in this way, (1) movement to the intersection in the crossroads, (2) confirmation of whether or not the intersection has been reached, (3) if it has not reached, the movement will continue, (4) will be reached If so, a series of operations (1) to (4) such as changing the moving direction and continuing the movement become unnecessary, and the operability is remarkably improved.
[0116]
In addition, since the movement range of the viewpoint is clearly indicated by the moving path object, the creator who creates the virtual space can easily grasp the parts that can be seen and cannot be seen by the operator. The data creation range is easy to understand. Therefore, it is possible to prevent a wasteful work of creating invisible data, and the effect of creating very high 3D data is obtained.
[0117]
In this embodiment, the start point / end point register stores the start point and end point numbers. However, if the start point number is known, the end point number can be known, so that either one may be stored.
In the first embodiment described above, the description has been made by taking a schematic virtual space as an example. Next, a specific example in which the image display apparatus is applied to a virtual store system will be described. FIGS. 35 (a) (b), 36 (a) (b), and 37 (a) (b) are display examples when the configuration of this embodiment is applied to the home appliance sales department three-dimensional virtual store system. .
[0118]
FIG. 35A shows a scene where a crossroad in the virtual store exists. In this figure, the four moving path objects on the white background in the center of the display surface form a cross road. This crossroad has a viewpoint in front of the current position. In this current movement path, three video decks are displayed on the right-hand side shelf, and three televisions b4, b5, and b6 are displayed on the left-hand side shelf. And the refrigerator b7 is displayed on the other side across the crossroads. These video decks b1, b2, b3 and televisions b4, b5, b6 are three-dimensional objects and are stored and managed in the moving path storage means 1, connection relation storage means 2, and object storage means 3 described above. ing.
[0119]
In this virtual store system, when the video decks b1, b2, b3 and the televisions b4, b5, b6 are pointed with the cursor, explanations about these are displayed, but these explanations are not particularly targeted in the present invention. Therefore, explanation is omitted.
It is assumed that the operator moves the cursor to position A and presses the forward button to turn left through the passage. In this case, since the tip of the cursor points to the moving path 8 arranged in the left direction, the moving path 8 is determined as the branch destination.
[0120]
It is assumed that the operator moves the cursor to position B and presses the forward button.
By pressing the forward button, the position of the viewpoint moves forward several steps, and the image in FIG. 35B is displayed.
FIG. 36A is an image when the viewpoint reaches the crossroads. In this case, the operator cannot obtain information on whether he / she has reached the crossroads from the display example. In the conventional walk-through operation method, it was necessary to move the line of sight to the left or right, or look at the feet. On the other hand, in the invention, when the crossroads are reached, the viewpoint is automatically moved in the direction to proceed next, so there is no need for such an operation, that is, the forward button should be pressed. The viewpoint will bend to the left. 36 (b), 37 (a), and (b) are display examples of a state in which the line-of-sight direction is automatically turned to the left. In FIG. 36 (b), the refrigerator on the other side of the moving path appears in the center of the display surface, and in FIG. The home appliances that have been placed appear. In FIG. 37 (b), the moving path object of the moving path 8 is located at the center of the display surface and is in the direction of the moving path 2. A large television beyond the moving path 8 where the image of FIG. 35A did not appear at all on the display surface appears on the display surface.
[0121]
In addition to the above-described example of the virtual store, a specific example when the present invention is applied to a car navigation system will be described with reference to FIG. As described in the related art, some car navigation systems have a simulation purpose, such as displaying and confirming a route to a destination at home before actually driving a car. In this simulation, as shown in FIG. 22, a moving path object and a three-dimensional object are displayed on the display surface based on the arrangement of the building and road (passage) immediately before stored in the car navigation system. Then, the operator performs operations such as forward and backward with respect to the scene on the display surface, and switches the image on the display surface in response to the operation. If you are familiar with the sight of reaching the destination in advance by such simulation, it is very suitable for driving later. In this case, if the movement path is selected via the pointing device, the movement path can be easily selected, and this simulation can be performed very easily.
[0122]
As described above, the configuration of this embodiment can be widely applied to any walk-through system that displays an image by projecting a scene in a virtual space onto a display surface.
(Second embodiment)
In the first embodiment, the connection between the movement paths is based on the premise that the coordinates of the end points in the virtual space are the same. In the second embodiment, even if the coordinates of the end points are not the same, the movement is possible. If a logical connection relationship such as a link attribute is defined in the connection relationship of the roads, the viewpoint is moved assuming that these movement paths are connected.
[0123]
Since the above link attribute is set, the connection relation storage means 2 shown in FIG. 4 stores the link attribute between the two travel paths in addition to the stored contents in the first embodiment. The contents of the connection relationship storage means 2 in the second embodiment are shown in FIG. Referring to FIG. 23, the link attribute “−2” is given to the automatic connection information and selection connection information of the end point 2 of the moving path 4 and the automatic connection information and selection connection information of the end point 7 of the movement path 7. Referring to FIG. 3, the coordinates of the end point 2 of the moving path 4 are (3, 3, 4), and the coordinates of the end point 2 of the moving path 7 are (3, 3, 7). Although there is no coincidence on the coordinates, a logical connection relationship such as “−2” is defined, so that the moving path 4 and the moving path 7 can be moved back and forth. In the map shown in FIG. 3B, the moving path 4 and the moving path 7 should be dead ends when proceeding in the X-axis direction. Thus, the logical path between the moving path 4 and the moving path 7 is logical. Therefore, if the moving path 4 advances in the negative direction of the X axis, it automatically branches to the moving path 7 and advances on the moving path 7 in the positive direction. It has become. Conversely, if the moving path 7 advances in the negative direction of the X axis, it automatically branches to the moving path 4 and advances on the moving path 4 in the positive direction.
[0124]
In the second embodiment, in addition to the configuration shown in FIG. 4, link relation storage means is added. This link relation storage means stores the link source travel path identifier, the link destination travel path identifier, and the end point which is the start point of those travel paths. FIG. 24 shows the link relation between the movement path 4 and the movement path 7 in FIG. 2 stored in the link relation storage means. The stored contents of the link relationship storage means shown in FIG. 24 associate the link source travel path identifier, the link destination travel path identifier, and the start point, and define the link relationship between the two travel paths.
[0125]
The operation of the second embodiment configured as described above will be described with reference to the flowcharts of FIGS.
FIG. 25 is a flowchart showing processing when the forward button is pressed. The difference between this flowchart and the flowchart shown in FIGS. 13 and 14 is that steps 101 and 102 are added in FIG.
[0126]
Now, it is assumed that the viewpoint branches along the path of the moving path 2 → the moving path 7 shown in FIG. At this time, the value of the movement path identifier register 7 is (−2, 7, 2).
Here, it is assumed that the forward button is pressed, the processing of the moving path in steps 51, 52, 53, and 66 is repeated, and the viewpoint reaches the end point of the moving path 7. Therefore, step 53 is Yes and the process proceeds to step 54. The connection information of the end point 2 of the moving path 7 is −2 as described above. Step 54 is No, and the process proceeds to Step 101.
[0127]
In step 101, it is determined whether or not the previous travel path is a link attribute. If it is not a link attribute, the process proceeds to step 66.
In step 102, the link process shown in the flowchart of FIG. 20 is performed. As a result, the viewpoint proceeds to the end point 2 of the moving path 4.
[0128]
FIG. 26 is a flowchart showing processing when the backward button is pressed. The difference between this flowchart and the flowchart shown in FIG. 14 is that steps 111 and 112 are added in FIG.
Suppose that the viewpoint moves along the path of the moving path 7 → the moving path 4 in FIG. 2 and moves toward the end point 1 from the end point 2 of the current moving path 4 as a starting point. At this time, the value of the travel path identifier register 7 is (3, 4, -2).
[0129]
Here, it is assumed that the backward button is pressed, the processing of the moving path in steps 71, 83, and 87 is repeated, and the viewpoint reaches the end point of the moving path 4. Therefore, step 71 becomes Yes and the routine proceeds to step 72. As described above, the connection information of the end point 2 of the moving path 4 is −2, and Step 72 is No, and the process proceeds to Step 111. In step 111, it is determined whether or not the rear moving path has a link attribute. If it is a link attribute, that is, −2, the process proceeds to step 112. If it is not a link attribute, the process proceeds to step 87.
[0130]
In step 112, link processing shown in the flowchart of FIG. 27 is performed. As a result, the viewpoint proceeds to the end point 2 of the moving path 7.
FIG. 27 is a flowchart showing the link process. When the processing shifts to the above steps 102 and 112, a series of processing of this flowchart is executed.
In this flow chart, in step 121, the link destination storage path identifier that uses the current path of the transfer path identifier register 7 as the link source is read from the link relation storage means and written to the current movement path of the object storage means 3.
[0131]
Next, the movement path automatically connected to the end point side of the current movement path is read from the connection relation storage means 2 and written to the previous movement path. Finally, -2 is written in the rear movement path.
In step 122, the number of the start point of the link relation storage means is written in the start point of the start point / end point register 8, and the different one is written in the end point.
In step 123, a vector going from the start point to the end point of the start point / end point register 8 is written in the movement vector register 11.
[0132]
In step 124, the same vector as that of the movement vector register 11 is written into the line-of-sight vector register 9.
In step 125, the coordinates corresponding to the starting point of the link relationship storage unit are read from the movement path storage unit 1 and written in the viewpoint position register 12.
In step 126, a vertical vector and a turning angle are obtained from the movement vector of the link source and the movement vector of the link destination, and a vector obtained by rotating the rotation axis vector around the vertical vector by the turning angle is obtained and written in the rotation axis vector register.
[0133]
When the object storage means 3, the correspondence relationship storage means, the rotation axis vector register 10, and the control means 14 are updated in this way, the process proceeds to step 66 (this is a forward case, and in the reverse case, it becomes a step 87). .) Since information about the moving path 4 is written in the rotation axis vector register 10 and the moving path storage means 1, a scene along the moving path 4 appears on the display surface.
[0134]
Specifically, the viewpoint proceeds on the moving path 4 that should have stopped immediately before, and when the end point 2 is reached, the link process shown in FIG. The contents of the relation storage means, the rotation axis vector register 10, and the control means 14 are updated to information about the moving path 7. Therefore, on the display screen, the scene of the movement path 4 is switched to the scene of the movement path 7, and the operator can obtain a feeling that these movement paths are connected.
[0135]
As described above, according to the present embodiment, the viewpoint can be moved back and forth between the movement paths that are not directly continuous on the coordinates. Can be moved.
If there is a 3D object that becomes an obstacle between two points that you want to move the viewpoint of, and it is impossible to place a moving path between them, the link between the two points is logically determined. By connecting, it is possible to move the viewpoint between these two points.
[0136]
(Third embodiment)
In the third embodiment, the cursor position is set such that when the user clicks once on the moving path object from the pointing device 23, the cursor moves forward, when the user clicks twice or more, moves backward, and stops when clicked on other than the moving path object. The movement of the viewpoint is controlled according to the number of clicks.
[0137]
Therefore, the second3In the embodiment, in addition to the configuration shown in FIG. 4, the following number register is added.
The number register stores the correspondence between the number of clicks and a movement command corresponding to the number of clicks. FIG. 28 shows the correspondence between the number of clicks and the movement command. As shown in FIG. 22, if the number of clicks is zero, the movement command is a stop command, and if the number of clicks is one, the movement command is a forward movement. If the number of clicks is 2 or more, the movement command is backward.
[0138]
In order to perform the control based on the number of clicks, step 20, step 27, and step 28 are added to the moving path change processing flowchart shown in FIG. 17, as shown in FIG.
In FIG. 29, when there is a button click input, in step 20, the number of clicks is counted, and the number of times is written in the number register.
[0139]
After execution of step 20, in step 21, the moving path identifier is obtained from the pixel instructed by the pointing device 23, and the object identifier is extracted sequentially in step 22, and when step 28 is reached, the number of times in step 28 is reached. A move instruction corresponding to the number of registers is written to the move instruction register 13.
When the processes in steps 20 to 28 are performed, a movement command corresponding to the number of clicks is stored in the movement command register 13.
[0140]
Next, processing when the object identifier is not an object (No in the determination at step 25) will be described.
If step 23 is No, the count register is cleared to 0 in step 27. After shifting to step 27, the process shifts to step 28. In step 28, a movement command cleared to 0, that is, a stop command is given.
[0141]
As described above, according to the present embodiment, when the operator clicks once on the moving path object displayed on the display 21 from the pointing device 23, the operator moves forward, and when clicking more than once, the operator moves backward, and on the moving path object. Since the viewpoint moves so as to stop when clicked on other than, the movement of the viewpoint is performed more easily, and the operability is improved.
[0142]
(Fourth embodiment)
In the third embodiment, the forward and backward movements are performed by the number of clicks. In the fourth embodiment, further, the right turn and the left turn in the line of sight are made possible by the cursor position of the pointing device 23.
Therefore, in the fourth embodiment, as shown in FIG. 30, the right side and the left side are assigned to the region 2 and the region 3 on the display surface, and the other regions are assigned to the region 1. In these areas, as shown in FIG. 31, area 1 is assigned to stop, and area 2 is assigned to the right turn. Area 3 is assigned to the left turn.
[0143]
In the fourth embodiment, the steps shown in FIG. 32 are added to the flowchart shown in FIG. That is, in the fourth embodiment, when the object identifier acquired from the pixel value is not that of the moving path object in the determination in step 23 in FIG. 29 (No), the process proceeds to step 53 in FIG. In the flowchart of FIG. 32, when the processing of step 54 and step 56 is performed, the process proceeds to “end” in FIG. 29. If the determination in step 55 is No, the process proceeds to step 28 in FIG. Transition.
[0144]
Hereinafter, the steps shown in FIG. 32 will be described in order.
In step 53, it is determined whether or not the clicked position is on the right side of the display surface. If it is on the right side, the rotation command for the right direction is stored in the movement command register 13.
In step 55, it is determined whether or not the clicked position is on the left side of the display surface. If it is on the left side, a left turn command is stored in the move command register 13.
[0145]
After execution of the above steps 53 and 55, the process proceeds to the main flow chart of FIG. In this state, since the turn command is stored in the movement command register 13, the flowchart shown in FIG. 16 is executed to rotate the line of sight.
As described above, according to this embodiment, in addition to the improvement in operability in the third embodiment, the line of sight can be rotated by clicking on the display surface. Therefore, the operability can be further improved.
[0146]
(5th Example)
In the fifth embodiment, the moving path object stored in the moving path identifier register on the display surface, the moving path connected to the moving path currently used for moving, and the others are displayed in different colors.
FIG. 33 is an explanatory diagram showing how the moving path is color-coded in the fifth embodiment. The correspondence chart in FIG. 33A shows the correspondence between the travel path identifier, the color of the travel path, and the color. That is, in this figure, the movement path identifier 1 is drawn by the system 1. The movement path identifier 3 indicates that the drawing is performed by the system 2. The color classification of these movement paths corresponds to the connection relationship between the movement paths in FIG. That is, in FIG. 6, the current travel path stored in the travel path identifier register 7 and the travel paths before and after it are all drawn in the color of the system 1. Further, in FIG. 6, all moving paths whose connection relation is selected connection are drawn in the color of the system 2. Further, these moving paths whose viewpoints are not connected to the current moving path are drawn in the original color.
[0147]
In the fifth embodiment, the rendering unit 5 shown in FIG. 4 stores the correspondence chart shown in FIG. 33A, and a projection image is displayed on the display surface by the processing shown in the flowchart of FIG. draw. This drawing process will be described with reference to FIG.
Now, it is assumed that the viewpoint passes the moving path 1 in FIG. 2 and the moving path 2 is moving toward the moving path 6. At this time, the value of the travel path identifier register 7 is (6, 2, 1). The rendering unit 5 calls a color conversion routine shown in FIG. 34 when projecting a three-dimensional object.
[0148]
The flow chart of FIG. 34 has a structure in which the processing of steps 141 to 148 is repeated for all objects.
In step 141 of FIG. 34, an object identifier is extracted from the original color code of one object.
In step 142, it is determined whether or not the extracted object identifier is that of the moving path object. If so, the process proceeds to step 143, and if not, the process proceeds to step 148.
[0149]
In step 143, the movement path identifier corresponding to the object identifier is read from the correspondence relationship storage means 4.
In step 144, it is determined whether the travel path identifier is equal to any travel path identifier stored in the travel path identifier register 7. That is, if the travel path identifier is the current travel path where the viewpoint is now, or the current travel path stored in the travel path identifier register 7 and the travel paths before and after that, the process proceeds to step 146. If not equal, proceed to step 145.
[0150]
In step 146, the original color of the moving path object is converted into a predetermined color of the system 1, and the moving path object with the object identifier is drawn with the color. By such drawing in one system color, the current travel path stored in the travel path identifier register 7 and the travel paths before and after that are reflected on the display surface.
[0151]
In step 145, whether the travel path identifier read in step 143 is equal to any of the selectable travel path identifiers stored in the travel path identifier register 7 is compared with the stored contents of the connection relationship storage means 2. If they are equal, go to Step 147. If not, the process proceeds to step 148.
In step 147, the original color of the moving path object is converted to a predetermined color of the system 2, and the moving path object with the object identifier is drawn with the color. By such drawing in two colors of the system, the moving path selectively connected to the current moving path can be reflected on the display surface.
[0152]
In step 148, the moving path object is written in the frame buffer 6 with the original color code of the three-dimensional object.
When steps 141 to 148 are repeated for all objects in this way, the current travel path where the viewpoint is now, the current travel path stored in the current path, and the travel paths before and after that are drawn by the system 1. A moving path that is selectively connected to the moving path is drawn by the system 2, and other moving paths are drawn in the original color, and a projection is given to the projected image on the display surface.
[0153]
As described above, according to the present embodiment, since the projection image on the display surface is given a flare, the operator can grasp the direction in which the viewpoint proceeds from the projection image on the display surface, and walk Through convenience increases. In the fifth embodiment, drawing in the color of the system 1 is performed by searching for a moving path that is automatically connected to the moving path stored in the moving path identifier register 7 and drawing everything found in the search by the system 1. May I.
[0154]
In addition, although demonstrated based on the said Example, this invention can be changed and implemented in the range which does not deviate from the summary. For example, the following modifications (a) to (c) are possible.
(A) In the first to fifth embodiments, when the cursor is positioned in a specific area, the corresponding line-of-sight direction is rotated. However, the cursor is positioned in the area and the operator moves the cursor outside the display 21. Control may be performed so that the line of sight is rotated when an operation is performed to move in the direction of. In this case, there is a merit that it is easy to select an object at the end of the screen without rotating in the line-of-sight direction simply by entering the area. It goes without saying that the vertical line of sight can be rotated by setting the vertical axis of rotation.
[0155]
(B) In FIG. 4, each storage means is described as one block, but this is only given priority for convenience of description. That is, it goes without saying that the storage contents of each storage means may be recorded on a medium such as an optical disk so as to be updatable. In this case, a general-purpose driver mechanism for reading data from the optical pickup may be built in or mounted externally by mounting the optical disk and rotating the disk.
[0156]
(C) In the description of (b), it has been mentioned that the stored content is updated by an optical disk or the like, but it goes without saying that it can be updated via a communication network. That is, the image display device is equipped with a communication interface or modem for a digital network such as ISDN or LAN, accesses an ISDN or LAN data server, reads out necessary data, and reads the stored contents with the read data. It may be updated.
[0157]
【The invention's effect】
As described above, according to the image display device of the first or second aspect of the invention, the branch destination is determined by instructing the projected image of the path projected on the display surface. (2) Confirmation of whether or not the intersection has been reached, (3) Continue movement if not reached, (4) Change direction if reached, (5) Continue movement (1) ~ The series of operations (5) is no longer necessary, and the operability is significantly improved.
[0158]
In addition, since the movement range of the viewpoint is clearly indicated by the moving path object, the creator who creates the virtual space can easily grasp the parts that can be seen and cannot be seen by the operator. The data creation range is easy to understand. Therefore, it is possible to prevent a wasteful operation of creating invisible data, and the efficiency of creating three-dimensional data is very high.
[0159]
Further, according to the image display device of the invention of claim 3, in addition to the effect of claim 1,
If the area occupied by the passage on the display surface is designated, the passage is determined as the destination, and if it is not designated, the scheduled passage is determined.
[0160]
Moreover, according to the image display apparatus which concerns on invention of Claim 4, in addition to the effect in Claim 1,
Since the line of sight and the visual field are determined by a vector indicating the direction of the passage, the calculation is lightly loaded, and the “virtual walk-through” is preferably realized.
Moreover, according to the image display apparatus which concerns on invention of Claim 5, in addition to the effect in Claim 1,
The branching from the passage to the passage is realized by calculating with a low load by calculating the angle formed by the vector of the passage and rotating the line of sight by the angle, so that the “virtual walk-through” is suitably realized.
[0161]
According to the image display device of the invention of claim 6, in addition to the effect of claim 1,
The movement of the viewpoint is performed in small increments by the size of the unit vector by the advance means, and the projected image on the display surface is switched each time the unit vector is advanced, so a realistic virtual "Walkthrough" is realized.
[0162]
Moreover, according to the image display apparatus which concerns on invention of Claim 7, in addition to the effect in Claim 1,
The movement of the viewpoint is performed in small increments by the size of the unit vector by the advance means, and when the viewpoint reaches the end point of the passage by the advance of the size of the unit vector, the line-of-sight vector is written by the writing means. The “virtual walk-through” enables real-life bifurcations between branches.
[0163]
Moreover, according to the image display apparatus which concerns on invention of Claim 9, in addition to the effect in Claim 1,
The operator's operation to rotate the line of sight can be received and the line of sight can be rotated, so the line of sight can be changed without changing the moving direction.
Moreover, according to the image display apparatus which concerns on invention of Claim 10, in addition to the effect in Claim 1,
When branching between the passages, the rotation axis in the branch passage is calculated from the outer product between the passages. Therefore, even if the rotation shaft is slightly inclined from the normal line, the inclination can be maintained even after branching.
[0164]
Moreover, according to the image display apparatus which concerns on invention of Claim 11, in addition to the effect in Claim 1,
The line-of-sight vector is rotated by a predetermined reference angle each time, and each time the line-of-sight vector is written into the line-of-sight vector storage means by the writing control means. Each minute, the projected image is projected. Therefore, it is possible to express a situation in which the viewpoint gradually bends.
[0165]
According to the image display device of the invention of claim 12, in addition to the effect of claim 1,
By defining logical connection relationships such as link pairs between passages, it is possible to move between moving paths that are not directly continuous in coordinates, so even if the size of the virtual space is limited, the viewpoint Can be moved around.
[0166]
According to the image display device of the invention of claim 13, in addition to the effect of claim 1,
Of the images on the display surface, the planned passage is drawn in the first color, and the other passages are drawn in the second and third colors. Will improve.
[0167]
Moreover, according to the image display apparatus which concerns on invention of Claim 14, 15, in addition to the effect in Claim 1,
Since the pointing device is used to designate an area on the display surface and the number of times the button is pressed, the viewpoint is moved forward or backward, so that the operability of “virtual walkthrough” is greatly improved.
[Brief description of the drawings]
FIG. 1 is a perspective view showing an external appearance of an image display device.
FIG. 2 is an explanatory diagram showing a correspondence between a virtual space and a display surface.
FIG. 3A is a diagram illustrating a correspondence between a visual field and an image on a display surface.
(B) It is a top view which shows the coordinate in the virtual space mapped by the XZ coordinate system.
(C) It is an image when the virtual space in the present embodiment is viewed obliquely from the position A.
FIG. 4 is a block diagram illustrating a configuration of an image display device according to the present exemplary embodiment.
FIG. 5 is a diagram showing a correspondence relationship between a moving path identifier and an end point of a moving path stored in the moving path storage unit 1;
FIG. 6 is a diagram showing a connection relationship between each travel path identifier and other travel paths stored in the connection relationship storage unit 2;
FIG. 7 is a diagram illustrating a correspondence relationship between an object identifier and a moving path identifier stored in a correspondence relationship storage unit.
FIG. 8 is an explanatory diagram showing the contents stored in the frame buffer 6;
FIG. 9 is an explanatory diagram showing a correspondence between a visual field and an image on a display surface.
FIG. 10 is an explanatory diagram for explaining a line-of-sight vector, a movement vector, a start point end point vector, a start point position, and the like.
FIG. 11 is a main flowchart of the control operation of the control means 14;
FIG. 12 is a flowchart of initialization processing performed by the control means 14;
FIG. 13 is a flowchart of a forward process in a viewpoint position changing process.
FIG. 14 is a flowchart of a backward process in the viewpoint position changing process.
FIG. 15 is a flowchart of a process for changing a viewpoint moving direction.
FIG. 16 is a flowchart of a line-of-sight direction change process.
FIG. 17 is a flowchart of moving path change processing.
FIG. 18 is an explanatory diagram showing a state in which the viewpoint turns between moving paths.
FIG. 19A is an explanatory diagram showing a state in which the viewpoint turns between movement paths.
(B) It is explanatory drawing which shows the relationship between turning angle (alpha) and turning angle (beta).
FIGS. 20A to 20C are display examples that appear on the display surface when moving forward on the moving path 1;
FIGS. 21A to 21E are display examples that appear on the display screen when branching from the travel path 1 to the travel path 4;
FIG. 22 is a display example when the configuration of the present invention is applied to a car navigation system.
FIG. 23 is a diagram illustrating a connection relationship between each travel path identifier and another travel path stored in the connection relationship storage unit 2 in the second embodiment.
FIG. 24 is a diagram illustrating a connection relationship between each moving path identifier by link connection and other moving paths;
FIG. 25 is a flowchart of the forward process in the viewpoint position changing process.
FIG. 26 is a flowchart of a backward process in the viewpoint position changing process.
FIG. 27 is a flowchart of link processing in the second embodiment.
FIG. 28 is a table showing the correspondence between the number of clicks and a movement command.
FIG. 29 is a flowchart showing a moving path changing process in the third embodiment.
FIG. 30 is a display example showing assignment of an image on a display surface and a region on the image.
31 is a diagram showing a correspondence between an area allocated on the display surface shown in FIG. 30 and a rotation command corresponding to the area.
FIG. 32 is a step added in the fourth embodiment in the movement path changing process.
FIG. 33A is a diagram illustrating a correspondence between a moving path identifier and a color of the identifier.
(B) It is explanatory drawing which shows the moving path color-coded by the color shown to Fig.33 (a).
FIG. 34 is a flowchart showing processing of the rendering unit 5 in the fifth embodiment.
FIG. 35A is a display example that appears on the display screen when moving forward in a virtual store and branching between moving paths;
(B) It is the example of a display which appears on a display surface, when moving along the moving path in a virtual store and branching between moving paths.
FIG. 36A is a display example that appears on the display screen when moving forward in a virtual store and branching between moving paths;
(B) It is the example of a display which appears on a display surface, when moving along the moving path in a virtual store and branching between moving paths.
FIG. 37A is a display example that appears on the display screen when moving forward in a virtual store and branching between moving paths;
(B) It is the example of a display which appears on a display surface, when moving along the moving path in a virtual store and branching between moving paths.
[Explanation of symbols]
1 Travel path storage means
2 Connection relationship storage means
3 Object storage means
4 correspondence storage means
5 Rendering part
6 Frame buffer
7 Travel path identifier register
8 Start / end register
9 Gaze vector register
10 Rotation axis vector register
11 Movement vector register
12 Viewpoint position register
13 Move instruction register
14 Control means
21 Display
22 Keypad
23 pointing devices

Claims (13)

仮想空間における複数の通路上で視点を移動させ、その移動に伴って、視点の視野に入る仮想空間中の光景を表示面上に表示する画像表示装置であって、
操作者の操作を受け付けて、仮想空間において指示された通路上で視点を移動させる移動手段と、
通路上における視点の移動に伴って、視点の視野に入る仮想空間の光景を表示面に投影する投影手段と、
表示面に2以上の通路からなる岐路が投影された場合、当該岐路を形成している通路のうち何れかを、操作者に視野中の移動先として予め指示させる指示手段と
を備え、
前記移動手段は、視点が岐路の分岐点に位置すると、指示手段によって指示された通路上に視点を移動させ、
前記画像表示装置は更に、
仮想空間において2以上の通路によって形成される岐路と、各岐路を形成する通路のうち、予め分岐が定められている通路である予定通路とを対応付けて記憶する岐路−予定通路記憶手段を備え、
前記移動手段は、
視点が岐路の分岐点に位置すると、岐路−予定通路記憶手段において分岐が定められている予定通路に視点を移動させ、
指示手段によって表示面において岐路を形成している通路のうち何れかが指示されると、指示された通路上に視点を移動させる
ことを特徴とする画像表示装置。
An image display device that moves a viewpoint on a plurality of passages in a virtual space, and displays a scene in the virtual space that enters the field of view of the viewpoint on the display surface along with the movement,
A moving means for accepting the operation of the operator and moving the viewpoint on the path instructed in the virtual space;
Projecting means for projecting a scene of a virtual space entering the visual field of the viewpoint as the viewpoint moves on the passage onto the display surface;
An instruction means for instructing the operator in advance as one of the movement destinations in the field of view when a branch consisting of two or more passages is projected on the display surface;
The moving means moves the viewpoint onto the passage instructed by the instruction means when the viewpoint is located at a branch point of the crossroad,
The image display device further includes
There is provided a branch-scheduled path storage means for storing a branch formed by two or more paths in the virtual space and a planned path that is a predetermined branch among the paths forming each branch. ,
The moving means is
When the viewpoint is located at the branch point of the crossroad, the viewpoint is moved to the planned path where the branch is determined in the crossroad-scheduled path storage means,
An image display device characterized by moving a viewpoint on an instructed path when any of the paths forming a branch on the display surface is instructed by an instruction unit.
前記画像表示装置は更に、
仮想空間における全ての通路と、仮想空間における各通路の両端の座標とを対応付けて記憶する通路−座標記憶手段と、
視点の視線方向を示す視線ベクトルを記憶する視線ベクトル記憶手段と、
通路−座標記憶手段に記憶されている視点がある通路の両端の座標に基づいて、現在視点がある通路の向きを示すベクトルを算出する第1ベクトル算出手段と、
算出されたベクトルを視線ベクトル記憶手段に書き込む書き込み手段と
書き込み手段による書き込みが行われると、視線ベクトル記憶手段に記憶されている視線ベクトルに基づいて、視野を決定する視野決定手段と
を備え、
前記投影手段は、
視野決定手段によって決定された視野の投影像を表示面に投影する
ことを特徴とする請求項1記載の画像表示装置。
The image display device further includes
Passage-coordinate storage means for storing all the passages in the virtual space and the coordinates of both ends of each passage in the virtual space in association with each other;
Line-of-sight vector storage means for storing a line-of-sight vector indicating the line-of-sight direction of the viewpoint;
First vector calculation means for calculating a vector indicating the direction of the path with the current viewpoint based on the coordinates of both ends of the path with the viewpoint stored in the path-coordinate storage means;
A writing unit that writes the calculated vector into the line-of-sight vector storage unit, and a visual field determination unit that determines a visual field based on the line-of-sight vector stored in the line-of-sight vector storage unit when writing is performed by the writing unit,
The projection means includes
The image display apparatus according to claim 1, wherein the projected image of the field of view determined by the field of view determining means is projected onto a display surface.
前記画像表示装置は更に、
指示手段によって指示された通路の両端の座標を通路−座標記憶手段から読み出す読み出し手段と、
読み出し手段によって読み出された座標に基づいて、仮想空間における当該通路の向きを示すベクトルを算出する第2ベクトル算出手段と、
第2ベクトル算出手段によって算出されたベクトルと、第1ベクトル算出手段によって算出されたベクトルとがなす角度を算出する角度算出手段と、
角度が算出されると、算出された角度分だけ視線ベクトル記憶手段に記憶されている視線ベクトルを回転する回転手段と
を備え、
前記書き込み手段は、
移動手段によって視点が岐路の分岐点に到達すると、回転後の視線ベクトルを書き込む
ことを特徴とする請求項2記載の画像表示装置。
The image display device further includes
Reading means for reading out the coordinates of both ends of the passage designated by the instruction means from the passage-coordinate storage means;
Second vector calculating means for calculating a vector indicating the direction of the passage in the virtual space based on the coordinates read by the reading means;
An angle calculating means for calculating an angle formed by the vector calculated by the second vector calculating means and the vector calculated by the first vector calculating means;
A rotation unit that rotates the line-of-sight vector stored in the line-of-sight vector storage unit by the calculated angle when the angle is calculated;
The writing means includes
3. The image display device according to claim 2, wherein when the viewpoint reaches the branching point of the crossroads by the moving means, the rotated line-of-sight vector is written.
前記移動手段は、
仮想空間における視点の現在位置の座標を記憶する現在座標記憶手段と、
第1、第2ベクトル算出手段によって算出されたベクトルの単位ベクトルを算出する単位ベクトル算出手段と、
操作者の操作を受け付けて、その操作がなされる度に、算出された単位ベクトルの方向に、その単位ベクトルの大きさだけ、現在座標記憶手段に記憶されている座標を前に進める前進手段と
を備え、
視野決定手段は、前進手段によって前進した現在位置と、視線ベクトル記憶手段に記憶されている視線ベクトルとに基づいて、視野を決定し、
前記投影手段は、
視野が決定される度に、視野決定手段によって決定された視野の投影像を表示面に投影する
ことを特徴とする請求項記載の画像表示装置。
The moving means is
Current coordinate storage means for storing the coordinates of the current position of the viewpoint in the virtual space;
Unit vector calculating means for calculating a unit vector of the vectors calculated by the first and second vector calculating means;
Forward means for accepting an operator's operation and advancing the coordinates stored in the current coordinate storage means in the direction of the calculated unit vector by the magnitude of the unit vector each time the operation is performed; With
The visual field determination means determines the visual field based on the current position advanced by the forward movement means and the visual line vector stored in the visual line vector storage means,
The projection means includes
4. The image display device according to claim 3, wherein a projected image of the visual field determined by the visual field determining means is projected onto the display surface every time the visual field is determined.
前記移動手段は、
通路−座標記憶手段の記憶内容を参照して、前進手段によって前進された現在位置の座標が現在視点がある通路の端点に達したかを判定する判定手段と
を備え、
前記書き込み手段は、
判定手段によって端点に達したと判定されると、回転後の視線ベクトルを書き込む
ことを特徴とする請求項4記載の画像表示装置。
The moving means is
Determination means for referring to the stored contents of the passage-coordinate storage means to determine whether the coordinates of the current position advanced by the advance means have reached the end point of the passage with the current viewpoint;
The writing means includes
5. The image display apparatus according to claim 4, wherein when the determination means determines that the end point has been reached, the rotated line-of-sight vector is written.
前記画像表示装置は、
仮想空間内に設けられた各3次元物体と、各3次元物体が占める座標とを対応付けて記憶する3次元物体記憶手段を
備え、
前記投影手段は、
視野が決定される度に、視野決定手段によって決定された視野内に収まる通路及び3次元物体を判定する判定部と、
収まると判定された通路及び3次元物体を表示面に投影する投影部と
を備えることを特徴とする請求項5記載の画像表示装置。
The image display device includes:
3D object storage means for storing each 3D object provided in the virtual space in association with the coordinates occupied by each 3D object;
The projection means includes
A determination unit that determines a path and a three-dimensional object that fall within the field of view determined by the field of view determination means each time the field of view is determined;
The image display device according to claim 5, further comprising: a passage determined to be fitted and a projection unit that projects a three-dimensional object onto the display surface.
前記画像表示装置は更に、
視線の回転軸を記憶する回転軸記憶手段と、
視線を回転する旨の操作者の操作、及び、その回転量を受け付けて、記憶されている回転軸を基準軸にして、回転手段にその回転量だけ視線ベクトルの向きを回転させる回転制御手段と
を備え、
前記書き込み手段は、
回転制御手段によって視線ベクトルの向きが回転すると、当該視線ベクトルを視線ベクトル記憶手段に書き込む
ことを特徴とする請求項6記載の画像表示装置。
The image display device further includes
Rotation axis storage means for storing the rotation axis of the line of sight;
A rotation control means for accepting the operator's operation to rotate the line of sight and the amount of rotation, and rotating the direction of the line-of-sight vector by the amount of rotation with the rotation axis stored as a reference axis; With
The writing means includes
7. The image display device according to claim 6, wherein when the direction of the line-of-sight vector is rotated by the rotation control unit, the line-of-sight vector is written in the line-of-sight vector storage unit.
前記画像表示装置は、
第2ベクトル算出手段によって算出されたベクトルと、第1ベクトル算出手段によって算出された現在視点がある通路の向きを示すベクトルとの外積をとり、その外積から、ベクトルの回転軸を算出して、回転軸記憶手段に記憶させる回転軸算出手段を有し、
前記角度算出手段は、
第2ベクトル算出手段によって算出されたベクトルと、第1ベクトル算出手段によって算出された現在視点がある通路の向きを示すベクトルとの内積をとり、その内積から、当該2つのベクトルがなす角度を算出し、
前記回転手段は、
角度が算出されると、回転軸記憶手段に記憶されている回転軸を基準にして、角度算出手段によって算出された角度分だけ視線ベクトル記憶手段に記憶されている視線ベクトルを回転する
ことを特徴とする請求項7記載の画像表示装置。
The image display device includes:
Taking the outer product of the vector calculated by the second vector calculating means and the vector indicating the direction of the passage with the current viewpoint calculated by the first vector calculating means, and calculating the rotation axis of the vector from the outer product, Having rotation axis calculation means to be stored in the rotation axis storage means;
The angle calculation means includes
The inner product of the vector calculated by the second vector calculating means and the vector indicating the direction of the passage with the current viewpoint calculated by the first vector calculating means is taken, and the angle formed by the two vectors is calculated from the inner product. And
The rotating means includes
When the angle is calculated, the line-of-sight vector stored in the line-of-sight vector storage unit is rotated by the angle calculated by the angle calculation unit with reference to the rotation axis stored in the rotation axis storage unit. The image display device according to claim 7.
前記回転手段は、
角度算出手段によって角度が算出されると、所定の基準角度だけ視線ベクトルを回転させる視線ベクトル回転部と、
視線ベクトルが回転すると、前記書き込み手段を制御して、所定の基準角度を視線ベクトル記憶手段に書き込ませる書き込み制御部と、
角度算出手段によって算出された角度とこれまで書き込み制御部によって書き込まれた総回転角との差分が、前記基準角度より大きいか小さいかを判定する差分大小判定部と、
大きい場合、視線ベクトル回転部を制御して、基準角度分の回転を行わせる第1回転制御部と、
小さい場合、視線ベクトル回転部を制御して、差分だけ視線ベクトルの回転を行わせる第2回転制御部と
を備えることを特徴とする請求項8記載の画像表示装置。
The rotating means includes
When the angle is calculated by the angle calculation means, a line-of-sight vector rotation unit that rotates the line-of-sight vector by a predetermined reference angle;
When the line-of-sight vector rotates, the writing control unit controls the writing unit to write a predetermined reference angle in the line-of-sight vector storage unit;
A difference magnitude determination unit that determines whether the difference between the angle calculated by the angle calculation unit and the total rotation angle written by the writing control unit so far is larger or smaller than the reference angle;
If larger, a first rotation control unit that controls the line-of-sight vector rotation unit to rotate the reference angle;
The image display apparatus according to claim 8, further comprising a second rotation control unit that controls the line-of-sight vector rotation unit to rotate the line-of-sight vector by a difference when it is small.
前記画像表示装置は更に、
端点の座標が不一致でありながらも、接続関係を有する通路の端点の組み合わせであるリンクペアを記憶するリンク通路記憶手段を備え、
前記読み出し手段は、
視点がリンクペアの一方の端点を有する通路に移動すると、リンクペアの他方側の通路の両端の座標をリンク通路記憶手段から読み出し、
前記第2ベクトル算出手段は、
読み出し手段によって読み出された通路の両端の座標に基づいて、仮想空間におけるその通路の向きを示すベクトルを算出し、
前記角度算出手段は、
第2ベクトル算出手段によって算出されたベクトルと、第1ベクトル算出手段によって算出されたベクトルとがなす角度を算出し、
前記回転手段は、
角度が算出されると、角度算出手段によって算出された角度分だけ視線ベクトル記憶手段に記憶されている視線ベクトルを回転し、
前記書き込み手段は、
回転手段による回転が行われると、回転手段によって回転された視線ベクトルを書き込む
ことを特徴とする請求項9記載の画像表示装置。
The image display device further includes
Link path storage means for storing a link pair which is a combination of end points of paths having connection relations even though the coordinates of the end points are inconsistent;
The reading means includes
When the viewpoint moves to a path having one end point of the link pair, the coordinates of both ends of the path on the other side of the link pair are read from the link path storage means,
The second vector calculating means includes
Based on the coordinates of both ends of the passage read by the reading means, a vector indicating the direction of the passage in the virtual space is calculated,
The angle calculation means includes
Calculating an angle formed by the vector calculated by the second vector calculating means and the vector calculated by the first vector calculating means;
The rotating means includes
When the angle is calculated, the line-of-sight vector stored in the line-of-sight vector storage unit is rotated by the angle calculated by the angle calculation unit,
The writing means includes
10. The image display device according to claim 9, wherein the line-of-sight vector rotated by the rotating unit is written when the rotating unit rotates.
前記画像表示装置は、
現在視点がある通路と、岐路−予定通路記憶手段において当該通路の予定通路になっている通路或は移動先として指示手段によって指示された通路と、視点が直前に通過した通路とを対応づけて記憶する現−前後通路記憶手段を備え、
前記投影部は、
移動手段によって視点が移動すると、岐路−予定通路記憶手段において現−前後通路記憶手段に記憶されている通路と予定通路として連鎖し合っている全ての通路を探索する探索部と、
現−前後通路記憶手段に記憶されている通路と、探索手段によって探索された全ての通路の投影像とを、第1の色で描画する第1描画部と、
第1の色で描画された通路と岐路を形成しておきながらも予定通路として連鎖していない通路を第2の色で描画する第2描画部と、
視点の視野に入りながらも、第1、第2描画部によって描画されていない通路の投影像を第3の色で描画する第3描画部と
を備えることを特徴とする請求項1記載の画像表示装置。
The image display device includes:
The passage with the current viewpoint is associated with the passage that is the scheduled passage of the passage in the crossroad-scheduled passage storage means or the passage that has been designated by the instruction means as the destination and the passage that the viewpoint has passed immediately before. Current-front-rear passage storage means for storing,
The projection unit
When the viewpoint is moved by the moving means, a search unit that searches all paths that are linked as planned paths and paths stored in the current-previous path storage means in the branch-scheduled path storage means;
A first drawing unit that draws a path stored in the current-front-rear path storage means and projection images of all the paths searched by the search means in a first color;
A second drawing unit that draws a passage that is not linked as a scheduled passage while forming a branch with the passage drawn in the first color in the second color;
The image according to claim 1, further comprising a third drawing unit that draws a projected image of the passage that is not drawn by the first and second drawing units in a third color while entering the field of view of the viewpoint. Display device.
前記画像表示装置は更に、
ボタンが設けらたポインティングデバイスを有し、
ポインティングデバイスによって通路が指示され、指示された状態で当該ボタンの押下が行われると、その押下の回数に応じて移動手段に視点の前進或は後退を行わせる前進−後退制御手段と、
ポインティングデバイスによって通路以外の位置が指示されると、移動手段の移動を停止させる停止制御手段と、
を備えることを特徴とする請求項1〜11記載の何れかの画像表示装置。
The image display device further includes
Button has a provided et the pointing device,
When the passage is instructed by the pointing device, and the button is pressed in the instructed state, the forward-reverse control means for causing the moving means to advance or retreat the viewpoint according to the number of times of pressing,
A stop control means for stopping the movement of the moving means when a position other than the passage is instructed by the pointing device;
The image display apparatus according to claim 1, further comprising:
前記画像表示装置は更に、
ボタンが設けらたポインティングデバイスを有し、
ポインティングデバイスによって通路が指示され、指示された状態で当該ボタンの押下が行われると、その押下の回数に応じて移動手段に視点の前進或は後退を行わせる前進−後退制御手段と、
表示面の両脇がポインティングデバイスによって指示されると、回転手段に視線ベクトルを右方向或は左方向に回転させる回転制御手段と、
ポインティングデバイスによって通路でも表示面の両脇でもない位置が指示されると、移動手段の移動を停止させる停止制御手段と、
を備えることを特徴とする請求項1〜1記載の何れかの画像表示装置。
The image display device further includes
Button has a provided et the pointing device,
When the passage is instructed by the pointing device, and the button is pressed in the instructed state, the forward-reverse control means for causing the moving means to advance or retreat the viewpoint according to the number of times of pressing,
When both sides of the display surface are instructed by the pointing device, the rotation control means for rotating the line-of-sight vector in the right direction or the left direction to the rotation means,
Stop control means for stopping the movement of the moving means when a pointing device indicates a position that is neither a passage nor both sides of the display surface;
Any of the image display apparatus according to claim 1 to 1 1, wherein further comprising a.
JP23013195A 1995-09-07 1995-09-07 Image display device Expired - Fee Related JP3615840B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP23013195A JP3615840B2 (en) 1995-09-07 1995-09-07 Image display device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP23013195A JP3615840B2 (en) 1995-09-07 1995-09-07 Image display device

Publications (2)

Publication Number Publication Date
JPH0973553A JPH0973553A (en) 1997-03-18
JP3615840B2 true JP3615840B2 (en) 2005-02-02

Family

ID=16903070

Family Applications (1)

Application Number Title Priority Date Filing Date
JP23013195A Expired - Fee Related JP3615840B2 (en) 1995-09-07 1995-09-07 Image display device

Country Status (1)

Country Link
JP (1) JP3615840B2 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8515669B2 (en) * 2010-06-25 2013-08-20 Microsoft Corporation Providing an improved view of a location in a spatial environment
JP5910447B2 (en) * 2012-02-29 2016-04-27 株式会社Jvcケンウッド Image processing apparatus, image processing method, and image processing program
JP5910446B2 (en) * 2012-02-29 2016-04-27 株式会社Jvcケンウッド Image processing apparatus, image processing method, and image processing program
WO2013129190A1 (en) * 2012-02-29 2013-09-06 株式会社Jvcケンウッド Image processing device, image processing method, and image processing program

Also Published As

Publication number Publication date
JPH0973553A (en) 1997-03-18

Similar Documents

Publication Publication Date Title
Hanson et al. Constrained 3D navigation with 2D controllers
Jankowski et al. Advances in interaction with 3D environments
JP4368083B2 (en) Control of depth movement of visible display with laminated screen
AU652409B2 (en) Creating and controlling lighting designs
US6091410A (en) Avatar pointing mode
Wither et al. Annotation in outdoor augmented reality
US5189402A (en) Content addressable video system for image display
US5841440A (en) System and method for using a pointing device to indicate movement through three-dimensional space
CN108450035B (en) Navigating through a multi-dimensional image space
JPH07296182A (en) Method and system of operating system
Chen et al. Urbanrama: Navigating cities in virtual reality
JPH0573661A (en) Three-dimensional information conversation system
Bobrich et al. Augmented maps
JP3887136B2 (en) Object display method in virtual three-dimensional space and medium recording display program
US6714198B2 (en) Program and apparatus for displaying graphical objects
Elmqvist et al. Semantic pointing for object picking in complex 3d environments
JP3615840B2 (en) Image display device
Renner et al. AR-glasses-based attention guiding for complex environments: Requirements, classification and evaluation
Hachet et al. Navidget for 3d interaction: Camera positioning and further uses
US5270694A (en) Content addressable video system for image display
JP3341734B2 (en) Video display device
JPH0784746A (en) Information display device and method thereof by three-dimensional icon
JP2005148844A (en) Display system
Hirose et al. Interactive reconfiguration techniques of reference frame hierarchy in the multi-viewport interface
JPH0916315A (en) Information retrieval system

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040309

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040510

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040706

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040827

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20041012

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20041102

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20071112

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081112

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091112

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091112

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101112

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees