JP5389901B2 - 仮想表面を使用するパンニング - Google Patents

仮想表面を使用するパンニング Download PDF

Info

Publication number
JP5389901B2
JP5389901B2 JP2011505014A JP2011505014A JP5389901B2 JP 5389901 B2 JP5389901 B2 JP 5389901B2 JP 2011505014 A JP2011505014 A JP 2011505014A JP 2011505014 A JP2011505014 A JP 2011505014A JP 5389901 B2 JP5389901 B2 JP 5389901B2
Authority
JP
Japan
Prior art keywords
point
dimensional model
panning
virtual camera
virtual
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.)
Active
Application number
JP2011505014A
Other languages
English (en)
Other versions
JP2011517001A (ja
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.)
Google LLC
Original Assignee
Google LLC
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 Google LLC filed Critical Google LLC
Publication of JP2011517001A publication Critical patent/JP2011517001A/ja
Application granted granted Critical
Publication of JP5389901B2 publication Critical patent/JP5389901B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/20Perspective computation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Geometry (AREA)
  • Computer Graphics (AREA)
  • General Physics & Mathematics (AREA)
  • Processing Or Creating Images (AREA)

Description

(発明の分野)
本発明は、3次元環境内においてバーチャルカメラを移動させることに関する。
3次元データを表示するために、3次元環境を通してナビゲートするためのシステムが存在する。3次元環境は、バーチャルカメラを含む。バーチャルカメラは、どの3次元データをユーザに表示するかを画定する視点を有する。ユーザは、バーチャルカメラをパンするデータを入力し得る。バーチャルカメラをパンすることによって、ユーザは、3次元環境においてナビゲートする。
バーチャルカメラをパンして3次元環境においてナビゲートする1つの種類のシステムは、地理情報システムである。地理情報システムは、地球の3次元モデルを記憶し、取り出し、操作し、表示するためのシステムである。3次元モデルは、山、谷、および峡谷等の地形にテクスチャマッピングされる衛星画像を含み得る。さらに、3次元モデルは、建造物および他の3次元特徴を含み得る。
バーチャルカメラの視点が地球に正接すると、パンニングがますます不安定になる。ユーザの入力のわずかな変更が、バーチャルカメラを遠い距離をパンする。これは、ユーザにとって方向感覚を失わせるものとなり得る。
3次元環境におけるより安定したパンニングのためのシステムおよび方法が必要とされる。
本発明は、3次元環境においてパンすることに関する。本発明の実施形態では、コンピュータ実装方法が、3次元環境においてバーチャルカメラをパンする。方法の実施形態では、第1の点が、3次元環境内の3次元モデル上で決定される。第1の点、3次元モデル、および3次元環境内のバーチャルカメラ位置に従って、仮想表面が決定される。第2の点が、仮想表面上で決定される。最終的に、3次元モデルの場所が、第1の点および第2の点に従って変更される。
第2の実施形態では、システムが、3次元環境においてバーチャルカメラをパンする。システムは、3次元環境内の3次元モデル上で第1の点を決定する、パンニングモジュールを含む。パンニングモジュールはまた、仮想表面上で第2の点を決定する。仮想表面計算機モジュールが、第1の点、3次元モデル、および3次元環境内のバーチャルカメラの位置に従って、仮想表面を決定する。回転子モジュールが、第1の点および第2の点に従って、3次元モデルの場所を変更する。
第3の実施形態では、コンピュータ実装方法が、地球の3次元モデルを含む3次元環境でバーチャルカメラをパンする。方法は、バーチャルカメラの視点から3次元モデルを表示域に表示するステップと、ユーザがカーソルで表示域上の第1の点を選択することを可能にするステップと、第1の点に従って、第1の画面射線を決定するステップとを含む。方法はさらに、ユーザが表示域中の第2の点までカーソルを移動させることを可能にするステップと、第2の点に従って、第2の画面射線を決定するステップと、パンニング速度によって定義される割合でカーソルを辿るように、3次元モデルの回転点(例えば、中心)を通る軸の周りに3次元モデルを回転させるステップとを含む。パンニング速度は、第1の画面射線と第2の画面射線との間の角度に対する、3次元モデルの回転角度の比である。パンニング速度は、閾値を超えない。
3次元環境においてパンするために仮想表面を採用することにより、バーチャルカメラの視点が3次元モデルにほぼ正接する時の3次元モデルの移動を低減する。3次元モデルの移動を低減することによって、本発明の実施形態は、パンニングをより安定させる。
本発明のさらなる実施形態、特徴、および利点、ならびに本発明の種々の実施形態の構造および動作を、添付図面を参照して以下で詳細に説明する。
本明細書に組み込まれ、本明細書の一部を形成する添付図面は、本発明を図示し、説明とともに、さらに本発明の原則を説明し、かつ当業者が本発明を作製し、使用することを可能にする働きをする。
図1Aは、仮想表面を伴わないパンニングを図示する概略図である。 図1Bは、本発明の実施形態による、仮想表面を伴うパンニングを図示する概略図である。 図2Aは、地理情報システムのユーザインターフェースのスクリーンショットである。 図2Bは、仮想表面を伴うパンニングに使用される表示域の種々の領域を図示する概略図である。 図3は、本発明の実施形態による、仮想表面を使用してパンする地理情報システムクライアントのアーキテクチャ図である。 図4は、図3のシステムの動作で使用され得る、仮想表面を使用してパンするための方法のフローチャートである。 図5Aは、図4の方法におけるステップによる、サロゲート射線を決定するステップを図示する概略図である。 図5Bは、図4の方法におけるステップによる、衝打点を決定するステップを図示する概略図である。 図6は、図4の方法におけるステップによる、仮想表面を構築するための計算を図示する概略図である。 図7A−図7Bは、図4の方法におけるステップによる、仮想表面との交差点を決定し、3次元モデルを回転させるためのステップを図示する概略図である。 図7A−図7Bは、図4の方法におけるステップによる、仮想表面との交差点を決定し、3次元モデルを回転させるためのステップを図示する概略図である。
要素が最初に出現する図面は、典型的には、対応する参照番号における1つまたは複数の最左の数字によって示される。図面中、類似番号は、同一または機能的に同様の要素を示し得る。
本発明の実施形態は、仮想表面を使用する安定したパンニングに関する。以下の発明を実施するための形態では、「一実施形態」、「実施形態」、「実施形態例」等への言及は、説明される実施形態が、特定の特徴、構造、または特性を含み得るが、全ての実施形態が必ずしも、特定の特徴、構造、または特性を含み得ないことを示す。また、そのような語句は、必ずしも同じ実施形態を指しているとは限らない。さらに、特定の特徴、構造、または特性が、実施形態と関連して説明される時に、明示的に説明されるか否かを問わず、他の実施形態と関連して、そのような特徴、構造、または特性を達成することが当業者の知識の範囲内であることが提示される。
本明細書で使用されるように、バーチャルカメラを「パンする」という用語は、その中心等の回転軸を通る軸の周りで3次元モデルを回転させることを指す。カメラに対して3次元モデルを移動させることは、3次元モデルに対してカメラを移動させることと同等であることに留意することが重要である。
図1Aは、仮想表面を伴わないトラックボールパンニングを図示する、概略図100を示す。概略図100は、3次元幾何学形状102を視認するバーチャルカメラ106を示す。3次元幾何学形状102は、地形116を含む。以下で詳細に説明されるように、3次元幾何学形状102は、例えば、点112において中心原点を有する、地球の3次元モデルであってもよく、バーチャルカメラ106は、3次元モデルのどの部分を表示域上においてユーザに表示するかを画定し得る。
ユーザは、表示域上において第1の点を選択し得る。結果として、点に従って射線114が延在させられる。実施例では、射線114は、表示域上において選択された点に対応するバーチャルカメラのビューポート上の点を通して、バーチャルカメラの焦点から延在し得る。どのように射線114が決定され得るかは、図5Bに関してより詳細に説明される。いったん射線114が決定されると、射線114と3次元モデル102との間の交差点108が決定される。
パンニング球面104が、点108および3次元モデル102に対応して決定される。パンニング球面104は、パンニングを制御するために使用される3次元表面である。実施例では、パンニング球面104は、点112における中心原点、および交差点108と点112との間の距離に等しい半径とを有する球体であり得る。
いったんパンニング球面104が決定されると、ユーザが表示域上において第2の点を選択し、3次元モデル102がそれに応じて回転させられる。ユーザは、例えば、マウスを新しい場所に移動させることによって、表示域上において第2の点を選択し得る。ユーザ選択の結果として、第2の点に対応する射線120が決定される。いったん射線120が決定されると、射線120とパンニング球面104との間の交差点110が決定される。線分118は、点112を交差点108と接続し、線分122は、点112を交差点110と接続する。3次元モデル102は、線分118と線分122との間の角度114によって回転させられる。このようにして、例えば、マウスによって表示域上の点を選択し、マウスを移動させることによって、ユーザは、モデルを回転させてマウスの移動を辿る。
標準トラックボールパンニングには利点があるが、不安定となり得る。射線120が3次元モデル102およびパンニング球面104にますます正接するにつれて、ユーザの選択のわずかな変更が、モデル102の大きな回転をもたらす。本発明の実施形態は、図1Bに関して説明されるような仮想表面を導入することによって、パンニングをより安定させる。
図1Bは、本発明の実施形態による、仮想表面を伴うパンニングを図示する、概略図150を示す。概略図100のように、概略図150では、ユーザが、表示域上で第1および第2の点を選択し、結果として、モデルが回転する。しかしながら、仮想表面は、モデルの回転を低減し、したがって、安定性を増加させる。
ユーザが表示域上において第1の点を選択すると、射線114、交差点108、およびパンニング球面104が、概略図100について説明されるように決定される。いったんパンニング球面104が決定されると、仮想表面152が決定される。仮想表面152とパンニング球面104はと一緒に、連続的な平滑面を形成する。仮想表面152は、例えば、パンニング球面104の一部分に対向する凹面であり得る。一実施形態では、仮想表面152は、パンニング球面104の一部分の鏡像であり得る。
ユーザが表示域上において第2の点を選択すると、射線120がユーザ選択に従って延在させられ、3次元モデル102が回転させられる。交差点154が、射線120と仮想表面152との間で決定される。線分158は、点112と交差点154とを接続する。モデル102は、線分158と線分118との間の角度156によって回転させられる。したがって、交差点が、パンニング球面104の代わりに仮想表面152を使用して決定される。このようにして、モデル102の回転は、射線120が球体104に正接するときに、突然発生するわけではない。
本発明の実施形態を、残りの図を参照して以下でより詳細に説明する。具体的には、図2−3は、仮想表面を使用してパンする地理情報システムを説明する。図4は、地理情報システムの動作において使用され得る方法を説明する。最終的に、図5、6、および7A−Bは、方法を詳述する概略図を含む。
図2Aは、仮想表面を使用してパンし得る、地理情報システムのユーザインターフェース200のスクリーンショットである。ユーザインターフェース200は、地理データを表示するための表示域202を含む。上述のように、表示域202に表示されるデータは、バーチャルカメラの視点からである。実施形態では、視点は、例えば、最上部が取り除かれた3次元ピラミッド等の錐台によって画定される。錐台内の地理データは、バーチャルカメラからの距離に応じて、様々なレベルの詳細さで表示することができる。
表示域202に表示される地理データ例は、地球の画像を含む。これらの画像は、地球の3次元モデルを作成する地球の地形を表す、幾何学形状の上にレンダリングすることができる。表示され得る他のデータは、建造物の3次元モデルを含む。ユーザインターフェース200は、バーチャルカメラの配向を変更するための制御部204を含む。制御部204は、ユーザが、例えば、バーチャルカメラの高度、緯度、経度、ピッチ、ヨー、および転回を変更することを可能にする。実施形態では、制御部104は、マウス等のコンピュータポインティングデバイスを使用して操作される。バーチャルカメラの配向が変化するにつれて、バーチャルカメラの錐台および表示される地理データも変化する。制御部204に加えて、ユーザは、例えば、コンピュータキーボードまたはジョイスティック等の他のコンピュータ入力デバイスを使用して、バーチャルカメラの配向を制御することもできる。
ユーザインターフェース200はまた、ユーザがバーチャルカメラをパンすることを可能にし得る。ユーザは、例えば、コンピュータポインティングデバイスによって、表示域202上の第1の点を選択することによってバーチャルカメラをパンし得る。ついで、ユーザは、コンピュータポインティングデバイスを移動させて、表示域202上に第2の点を選択し得る。以下で説明されるように、地理情報システムは、ユーザによって選択される第1および第2の点に従って、地球のモデルを回転させる。
地理情報システムは、クライアント・サーバコンピュータアーキテクチャを使用して動作し得る。そのような構成では、ユーザインターフェース200は、クライアントマシーン上に存在する。クライアントマシーンは、プロセッサ、ローカルメモリ、ディスプレイ、ならびに、キーボード、マウス、および/またはジョイスティック等の1つ以上のコンピュータ入力デバイスを伴う、汎用コンピュータとなり得る。代替として、クライアントマシーンは、例えば、携帯電話機等の特殊コンピュータデバイスとなり得る。クライアントマシーンは、インターネット等の1つ以上のネットワーク上で1つ以上のサーバと通信する。クライアントマシーンと同様に、サーバは、クライアントにデータを供給することが可能な任意の汎用コンピュータを使用して実装することができる。地理情報システムクライアントのアーキテクチャを、図3に関してより詳細に説明する。
図2Bは、仮想表面を伴うパンニングに使用される表示域260の種々の領域を図示する概略図250を示す。図2Aの表示域202に関して上記で説明されるように、表示域260は、バーチャルカメラの視点からの地球の3次元モデルを表示し得る。ユーザは、例えば、マウス等のコンピュータポインティングデバイスによって制御されるカーソルで、表示域260上の第1の点を選択することによって、バーチャルカメラをパンし得る。ユーザによって選択される点に従って画面射線を延在させることによって、3次元モデルにおける衝打点が決定され得る。次いで、ユーザは、カーソルを移動させて、表示域260上に第2の点を選択し得る。地球の3次元モデルは、回転して第2の点を追従し得る。表示域260は、領域256、254、および252を含む。どのようにモデルが回転して第2の点を追従するかは、どの領域が第2の点を含むかに応じて変動する。
ユーザがカーソルを移動させて、領域256中に第2の点を選択する場合、モデルは、衝打点がカーソルの下にとどまるように回転する。このようにして、モデルは、回転してカーソルに追従する。図1Bを再び参照すると、領域256では、カーソル位置に従って延在させられる画面射線が、パンニング球面104と交差する。カーソルが領域254に近づくにつれて、回転速度が増加する。カーソルが領域254に進入すると、カーソル位置に従って延在させられる画面射線が、仮想表面152と交差する。
実施形態では、領域254内におけるカーソルの位置にかかわらず、回転速度が一定のままであるように、仮想表面が構築され得る。言い換えれば、Xピクセルだけのカーソルの任意の移動に対して、モデルは、一定のY度だけ回転する。さらに、その速度は、領域256が領域254に接続する点258(例えば、パンニング表面が仮想表面に交わる場所)における回転速度によって設定され得る。パンニング表面と仮想表面との間の交差点におけるパンニング球面上の速度に等しい、仮想表面上の回転速度を設定することによって、2つの表面の間の円滑な移行がある。円滑な移行は、ユーザがパンニングにおいて急な動きを体験する可能性を低減する。最終的に、低減した急な動きが、より円滑なパンニング体験をもたらす。
実施形態では、パンニングが可逆的であるように、仮想表面が構築され得る。モデルは、第1の場所から開始する。ユーザが、表示域260上において第1の位置を選択する。次いで、ユーザは、カーソルを表示域260上の第2の位置に移動させる。したがって、モデルは、第2の場所まで回転する。ユーザが表示域260上の第1の位置にカーソルを戻した場合、モデルは、第1の位置に回転して戻る。このようにして、仮想表面は、パンニングが可逆的であるように構築され得る。
最終的に、表示域260は、随意で、回転がほとんど、または全く発生しない領域252を有し得る。地理情報システムでは、領域252は、空または外部空間に対応し得る。ユーザが領域252の中へカーソルを移動させた場合、パンニングが停止し得る。さらに、領域252中のカーソルの場所に従って延在させられる画面射線は、パンニング球面または仮想表面と交差しなくてもよい。
図3は、本発明の実施形態によるGISの例示的クライアント300のアーキテクチャ図である。実施形態では、クライアント300は、ユーザ相互作用モジュール310と、ローカルメモリ330と、キャッシュノードマネージャ340と、レンダラモジュール350と、ネットワークローダ365と、表示インターフェース380とを含む。図3に示されるように、ユーザ相互作用モジュール310は、グラフィカルユーザインターフェース(GUI)312と、運動モデル318とを含む。ローカルメモリ330は、視認仕様332と、クアッドノードツリー334とを含む。キャッシュノードマネージャ340は、検索リスト345を含む。
実施形態において、クライアント300の構成要素は、例えば、クライアントマシーン上において作動するソフトウェアとして実装することができる。クライアント300は、ユーザによる視認のために、地球の画像および他の地理データをクライアント300に届けるためにGISサーバ(図示せず)と相互作用する。一緒に、地球の画像および他の地理データは、3次元環境において3次元モデルを形成する。実施形態では、相互から非同期的に(例えば、時間非依存的に)作動することができる機能に従って、ソフトウェアオブジェクトがグループ化される。
一般に、クライアント300は、以下のように動作する。ユーザ相互作用モジュール310は、ユーザが視認することを所望する場所に関するユーザ入力を受信し、運動モデル318を通して、視認仕様332を構築する。レンダラモジュール350は、どのデータが描画されるかを決定するために視認仕様332を使用し、データを描画する。キャッシュノードマネージャ340は、制御の非同期スレッドにおいて作動し、ネットワークを介して遠隔サーバから取り出されるクアッドノードにおいてデータ投入することによって、クアッドノードツリー334を構築する。
ユーザインターフェースモジュール310の実施形態では、ユーザが、GUI312を使用して位置情報を入力する。これは、例えば、視認仕様332の生成をもたらす。視認仕様332は、ローカルメモリ330の中に配置され、そこでレンダラモジュール350によって使用される。
運動モデル318は、バーチャルカメラの位置または配向を調整するために、GUI312を介して受信された位置情報を使用する。カメラは、例えば、地球の表示された3次元モデルを視認するために使用される。ユーザは、バーチャルカメラの観点から自分のコンピュータモニタ上に表示された3次元モデルを見る。実施形態では、運動モデル318はまた、バーチャルカメラの位置、バーチャルカメラの配向、ならびにバーチャルカメラの水平および垂直視野に基づいて、視認仕様332を決定する。
視認仕様332は、錐台として知られている、3次元空間内のバーチャルカメラの視認可能容量と、例えば、3次元地図に対する、錐台の位置および配向とを画定する。実施形態では、錐台は、角錐台の形状である。錐台は、視認状況に応じて変化することができる、最小および最大の視認距離を有する。3次元地図のユーザの視認が、GUI312を使用して操作されるにつれて、錐台の配向および位置が3次元地図に対して変化する。したがって、ユーザ入力が受信されると、視認仕様332が変化する。視認仕様332は、ローカルメモリ330の中に配置され、そこでレンダラモジュール350によって使用される。視認仕様332およびGISクライアント300の他の構成要素を、以下でより詳細に説明する。
運動モデル318は、仮想表面を使用してパンニングを制御するために、いくつかのサブモジュールを使用する。サブモジュールは、パンニングモジュール390と、仮想表面計算機モジュール392と、回転子モジュール394とを含む。運動モデル318は、GUI312からユーザ入力を受け取る。ユーザ入力がマウスのクリックである場合、運動モデル318は、例えば、関数呼び出しによって、パンニングモジュール390を起動し得る。
パンニングモジュール390は、ユーザ入力に従って射線を延在させ、3次元モデルと射線との間の交差点を決定する。パンニングモジュール390はまた、パンニング球面を構築し得る。いったんパンニング球面が構築されると、仮想表面計算機モジュール392は、仮想表面をパンニング球面に適合し得る。
運動モデル318は、GUI312から第2のユーザ入力を受け取る。パンニングモジュール390は、第2のユーザ入力に従って別の射線を延在させる。パンニングモジュール390はまた、仮想表面と射線との間の交差点を計算する。最終的に、回転子モジュール394は、交差点に従って3次元モデルを回転させる。パンニングモジュール390、仮想表面計算機モジュール392、および回転子モジュール394の動作を、図4−6および7A−Bに関して以下でより詳細に説明する。
図4は、図3の運動モデル318の動作において使用され得る、仮想表面を使用してパンするための方法400のフローチャートである。方法400は、運動モデル318に関して説明されているが、運動モデル318に限定されるように意図されていない。
方法400は、ステップ402においてユーザイベントを受信することによって開始する。ユーザイベントがクリックイベントである場合、サロゲート射線がステップ418において計算され得る。次いで、衝打点が、ステップ404において画面射線またはサロゲート射線を3次元モデルと交差させることによって計算される。ステップ406においては、パンニング球面が衝打点に適合され、ステップ408では、仮想表面がパンニング球面に適合される。パンニング球面は、図1Bに関して説明されるように、衝打点に従って生成され得る。仮想表面は、バーチャルカメラの位置に従って生成され得る。マウス移動イベントが受信され、方法400はステップ410に続く。ステップ410においては、画面射線がパンニング表面および仮想表面の両方と交差される。交差点のうちの1つがステップ412において選択される。選択された交差点が仮想表面上にある場合は、ステップ414においてパンニング球面上に投影される。最終的に、ステップ416においては、ステップ404において決定された衝打点およびステップ416において選択された交差点を接続する線分によって範囲を定められる角度によって、3次元モデルが回転させられる。ステップのそれぞれを、図3の運動モデル318と、図5A−B、6、および7A−Bの概略図とに関して、以下でより詳細に説明する。
ステップ402では、GUI312が、クリックイベントまたは移動イベントといった、2つのユーザイベントのうちの1つを受信し得る。GUI312は、図2の表示域202中の位置において、マウスまたは他の入力デバイスをユーザがクリックすることに応じて、クリックイベントを受信し得る。GUI312は、ユーザが入力デバイス(マウス等)を押しながら、入力デバイスを表示域202上の新しい位置まで移動させると、移動イベントを受信し得る。これらのイベントは、GUI312に、パンニングモジュール390へのコールバック関数呼び出しを行わせ得る。関数呼び出し中に、GUI312は、イベントに関する位置情報をパンニングモジュール390に渡し得る。
ユーザイベントがクリックイベントである場合、パンニングモジュール390は、図5Aに図示されるように、ステップ418においてサロゲート画面射線を決定し得る。図5Aは、焦点506を有するバーチャルカメラを示す。クリックイベントに基づいて、画面射線510が決定される。画面射線を決定するステップを、図5Bに関してより詳細に説明する。線分514が、中心原点112と焦点506とを接続する。線分514と画面射線510との間の角度516は、閾値を超える。角度516が閾値を超えるため、角度516は、角度518における閾値に固定される。最終的に、サロゲート射線518が、線分514に対して角度518で焦点506から延在させられる。
ステップ404では、パンニングモジュール390が、画面射線またはサロゲート射線を3次元モデルと交差させることによって衝打点を計算する。ステップ404を、図5Bの概略図500に関して詳細に説明する。概略図500は、地球のモデル552を示す。概略図500はまた、バーチャルカメラの焦点506も示す。バーチャルカメラは、図2に関して説明されたように、情報を撮影するため、および表示するために使用される。バーチャルカメラは、焦点距離558およびビューポート560を有する。ビューポート560は、図2の表示域202に対応する。ユーザは、表示域202上の位置を選択し、該位置は、ビューポート560上の点562に対応する。
パンニングモジュールは、モデルとの交差点を決定するために、バーチャルカメラから画面射線を延在させることによって衝打点を決定する。概略図500では、射線564が点562を通って焦点506から延在する。別の実施形態では、射線564は、図5Aに関して説明されたように計算されたサロゲート射線であり得る。射線564は、場所554においてモデル552と交差する。したがって、衝打点は554にある。射線564は、建造物または地形において3次元モデル552と交差し得る。
図3および4を参照すると、射線が建造物または地形と交差する場合、パンニングモジュール390が、ステップ406においてパンニング球面を作成し得る。パンニング球面の中心原点は、3次元モデルの中心に位置し得、パンニング球面の半径は、モデルの中心とステップ404において決定された衝打点との間の距離であり得る。
いったんパンニング表面がステップ406において決定されると、仮想表面計算機モジュール392がステップ408において仮想表面を計算する。仮想表面は、仮想表面とパンニング表面とが一緒に連続面を形成するために、パンニング表面に適合される。仮想表面は、バーチャルカメラの視点からの凹面であり得る。実施例では、仮想表面は、パンニング表面の一部分の鏡像である。
図6は、本発明の一実施形態による、仮想表面を計算する方法を図示する概略図600を示す。概略図600は、仮想表面を計算する1つの方法を図示するが、仮想表面を計算する他の方法もある。上記で説明されるように、仮想表面はまた、地球の凹面または鏡像として計算され得る。概略図600は、中心原点614を有する3次元モデル606を視認するバーチャルカメラ602を示す。概略図600はまた、パンニング球面604も示す。
パンニング速度は、カーソルの移動が3次元モデル606を回転させる速度である。一実施形態では、仮想表面は、パンニング速度が、パンニング表面の間の交差点において最大値に達し、仮想表面にわたって一定のままとなるように構築され得る。このようにして、パンニング表面から仮想表面への円滑な移行がある。
仮想表面を決定するために、仮想表面計算機モジュール392は、最初に、パンニング表面が仮想表面に接続する点を決定する。概略図600では、パンニング表面は、点616において仮想表面に接続する。点616は、仮想表面が使用される前に、カメラがどのように正接していなければならないかを画定する、パラメータに対応し得る。代替実施形態では、点616は、パンニング速度が最大許容閾値に達する点であり得る。点616を使用して、いくつかの角度が決定される。
dθと標識される第1の角度は、ユーザのマウスクリックからの画面射線624と、カメラ602を点616と接続する線分618との間の角度である。線分622は、中心原点614を、ユーザのマウスクリックからの画面射線とパンニングモデルとの交差点626と接続する。線分620は、中心原点614と点616とを接続する。dφと標識される第2の角度は、線分622と線分620との間の角度である。角度dθおよびdφは、わずかなオフセットであり得る。第2の角度dθに対する第1の角度dφの比(例えば、dφ/dθ)は、パンニング速度であり得る。
次いで、第1の角度dθと第2の角度dφとの間の比は、仮想表面を決定するために使用される。仮想表面は、パンニング速度dφ/dθが表面全体にわたって一定のままとなるように構築され得る。こうするために、バーチャルカメラ602と中心原点614とを接続する線分628が決定される。角度θは、線分628と、バーチャルカメラ602および仮想表面上の可変点632を接続する線分630との間の角度である。角度φは、線分628と、中心原点614と仮想表面上の可変点632とを接続する線分634との間の角度である。仮想表面上の各可変点について、角度θおよびφは、以下の式を満たし、
Figure 0005389901
式中、θ0は、ユーザのマウスクリックを使用して生成される画面射線624と、線分628との間の角度であり、φ0は、線分622と線分628との間の角度である。
言い換えれば、仮想表面は、射線が角度θでバーチャルカメラから延在させられた場合に、射線が、角度φおよび原点614を有する球座標において仮想表面と交差するように、画定される。式を再編成すると、以下のように、バーチャルカメラからの各角度θについて、球座標値φを決定することができる。
Figure 0005389901
この式を使用して、図3の仮想表面計算機モジュール392は、仮想表面を構築し得る。
実施形態においては、式(1)および(2)とは実質的に異ならない他の式を使用して、仮想表面が計算され得る。例えば、係数およびオフセットが式に組み込まれ得る。
図3および4を参照すると、GUI312がユーザイベントを受信し得る。ユーザイベントが移動イベントである場合、パンニングモジュール390が、ステップ410で画面射線をパンニング球面および仮想表面の両方と交差させる。ステップ410は、図7A−Bに図示されている。
図7Aは、仮想表面と交差するように画面射線を延在させるステップを図示する概略図700を示す。概略図700は、ステップ406および408に関して説明されるように構築される、パンニング球面704および仮想表面702を示す。概略図700はまた、焦点506、焦点距離558、および視点560とともに、バーチャルカメラも示す。ユーザは、例えば、マウスを移動させることによって、新しい点を選択し得る。ユーザによって選択される点は、視点560における点706に対応する。パンニングモジュール390は、点706を通して焦点506から射線708を延在させる。射線706は、点710において仮想表面702と交差する。
射線708はまた、図7Bに示されるように、パンニング球面704と交差し得る。図7Bは、概略図750を含む。概略図750は、点764においてパンニング球面704と交差する射線708を示す。
図3および4を再び参照すると、いったん交差点764および710が決定されると、パンニングモジュール390は、ステップ412において点のうちの1つを選択し得る。パンニングモジュール390は、点の中でバーチャルカメラに最も近いものを選択し得る。概略図750では、点710は、点764よりもバーチャルカメラ506に近い。仮想表面702上の点710が選択されると、パンニングモジュール390は、ステップ414においてパンニング球面704上に点710を投影し得る。パンニングモジュール390は、点710と3次元モデルの中心原点758との間の線分766を決定することによって、パンニング球面704上に点710を投影し得る。次いで、パンニングモジュール390は、点762に、線分766とパンニング球面704との間の交差点を決定する。
実施形態においては、画面射線708および仮想表面702に交差する点710が、三角形の正弦法則を使用して決定され得る。正弦法則を適用するために、いくつかのパラメータが決定されなければならない。第1に、バーチャルカメラ506と中心原点758とを接続する線分768が決定される。第2に、線分768と画面射線708との間の角度θが決定される。交差点710は、以下の式を満たし、
Figure 0005389901
式中、Bは、線分768の長さであり、Aは、バーチャルカメラ506と交差点710との間の距離であり、φは、線分768と、バーチャルカメラ506と交差点710とを接続する線分との間の角度である。距離Aがバーチャルカメラ506と交差点764との間の距離より小さいため、仮想表面702上の点710に基づいて回転が発生する。そうでなければ、モデルは、パンニング球面との交差点764に基づいて回転する。
交差点がステップ416において決定された後、回転子モジュール394が、ステップ404および412において決定された点に従って、3次元モデルの場所を変更する。実施形態では、回転子モジュール394は、点に従ってモデルを回転させることによって、モデルの場所を変更する。図7Bでは、概略図750は、射線752と、ステップ404においてマウスクリックイベントに応じて決定される衝打点754とを示す。概略図750はまた、上記で説明されるような移動イベントに応じて決定される点710も示す。線分756は、衝打点754を中心原点758と接続し、線分766は、中心原点758を点710と接続する。回転子モジュール394は、線分756と線分766との間の角度760だけ3次元モデルを回転させる。
図3を再び参照して、地理情報システムクライアント300の種々の構成要素をより詳細に説明する。
前述のように、視認仕様332は、錐台として知られている、3次元空間内のバーチャルカメラの視認可能容量と、例えば、3次元地図に対する、錐台の位置および配向とを画定する。本発明の一実施形態によれば、視認仕様332は、カメラ三脚、カメラレンズ、およびカメラ焦点能力といった、バーチャルカメラの3つの主要パラメータ集合を特定する。カメラ三脚パラメータ集合は、向かっている角度(例えば、北?、南?、その間?)、ピッチ(例えば、水平?、下?、上?、その間?)、および/またはヨー/転回(例えば、水平?、時計回り?、反時計回り?、その間?)等の、初期設定配向に対してバーチャルカメラがどちらに配向されるかである、X、Y、Z(3つの座標)といったバーチャルカメラ位置を特定する。レンズパラメータ集合は、水平視野(例えば、望遠?、通常の人間の目、すなわち約55度?、または広角度?)、および垂直視野(例えば、望遠?、通常の人間の目、すなわち約55度?、または広角度?)を特定する。焦点パラメータ集合は、近クリップ平面までの距離(例えば、より近い被写体が引き寄せられていない場合に、「レンズ」のどれだけ近くでバーチャルカメラが見ることができるか)、および遠クリップ平面までの距離(例えば、より遠い被写体が引き寄せられていない場合に、レンズからどれだけ遠くでバーチャルカメラが見ることができるか)を特定する。
1つの動作例において、上記のカメラパラメータを念頭に置いて、ユーザが左矢印(または右矢印)キーを押すと仮定されたい。これは、視野が左(または右)に移動するべきであることを運動モデル318に信号伝達する。運動モデル318は、向かっている角度に小さい値(例えば、矢印キーの押下につき1度)を加算(または減算)することによって、そのような地表レベルの「カメラをパンする」種類の制御を実装する。同様に、バーチャルカメラを前方に移動させるために、運動モデル318は、最初に、視認方向に沿った単位長さのべクトル(HPR)を計算し、所望の運動速度によって各従属構成要素を縮小拡大した後に、このべクトルのX、Y、Z従属構成要素をカメラの位置に加算することによって、バーチャルカメラの位置のX、Y、Z座標を変更する。このように、および同様に、運動モデル318は、「移動直後」の新しい視認位置を画定するために、XYZおよびHPRを漸増的に更新することによって、視認仕様332を調整する。このようにして、運動モデル318は、3次元環境を通してバーチャルカメラをナビゲートすることに関与する。
レンダラモジュール350は、表示デバイスのビデオリフレッシュ速度に対応するサイクル(例えば、毎秒60サイクル)を有する。1つの特定の実施形態では、レンダラモジュール350は、(i)起動するステップ、(ii)レンダラによってアクセスされるデータ構造内に運動モデル318によって設置された視認仕様332を読み出すステップ、(iii)ローカルメモリ330の中のクアッドノードツリー334を詳しく検討するステップ、および(iv)クアッドノードツリー334に存在するクアッドノードに含有される、描画可能なデータを描画するステップのサイクルを実施する。描画可能なデータは、有界ボックス(例えば、データまたは他のそのような識別子を含有する容量)と関連し得る。存在する場合、有界ボックスは、描画可能なデータが視認仕様332内で潜在的に可視的であるかどうかを確認するために点検される。潜在的可視データが描画される一方で、可視的ではないことが分かっているデータは無視される。したがって、レンダラは、以下でさらに十分に説明されるように、クアッドノードツリー334に存在するクアッドノードの描画可能なペイロードが描画されないかどうかを決定するために、視認仕様332を使用する。
最初に、本発明の一実施形態によれば、クアッドノードツリー334内には描画するデータがなく、レンダラモジュール350は、初期設定(または他の初期設定表示画像)により星野を描く。クアッドノードツリー334は、この星野を除いてレンダラ350が行う描画のためのデータソースである。レンダラモジュール350は、クアッドノードツリー334に存在する各クアッドノードにアクセスしようとすることによって、クアッドノードツリー334を詳しく検討する。各クアッドノードは、最大4つの参照と、データの随意的なペイロードとを有する、データ構造である。クアッドノードのペイロードが描画可能なデータである場合、レンダラモジュール350は、視認仕様332に対してペイロード(もしあれば)の有界ボックスを比較し、描画可能なデータが完全に錐台の外側になく、他の要因に基づいて描画することが不適切と見なされない限り、それを描画する。これらの他の要因は、例えば、カメラからの距離、傾転、または他のそのような考慮事項を含み得る。ペイロードが完全に錐台の外側になく、描画することが不適切と見なされない場合、レンダラモジュール350はまた、クアッドノードの中の最大4つの参照のそれぞれにアクセスしようとする。参照がローカルメモリ(例えば、メモリ330または他のローカルメモリ)の中の別のクアッドノードに対するものである場合、レンダラモジュール350は、その他のクアッドノードの中の任意の描画可能なデータにアクセスしようとし、また、潜在的に、その他のクアッドノードの中の最大4つの参照のうちのいずれかにアクセスしようとする。クアッドノードの最大4つの参照のそれぞれにアクセスするレンダラモジュールの試行は、クアッドノード自体によって検出される。
以前に説明されているように、クアッドノードは、データのペイロードと、他のファイルに対する最大4つの参照とを有し得る、データ構造であり、参照のそれぞれは順に、クアッドノードであり得る。クアッドノードによって参照されるファイルは、本明細書では、そのクアッドノードの子と呼ばれ、参照クアッドノードは、本明細書では、親と呼ばれる。場合によっては、ファイルが、参照された子だけでなく、その子の子孫も含有する。これらの集合体は、キャッシュノードとして知られており、いくつかのクアッドノードを含み得る。そのような集合は、データベース構築の経過中に行われる。場合によっては、データのペイロードは空である。他のファイルに対する参照は、例えば、ファイル名と、もしあれば、そのファイルに対するローカルメモリの中の対応アドレスとを備える。最初に、参照されたファイルは、全て1つ以上の遠隔サーバ上(例えば、GISのサーバ上)に記憶され、ユーザのコンピュータ上には描画可能なデータが存在しない。
クアッドノードおよびキャッシュノードは、内蔵アクセス機構機能である。以前に説明されているように、クアッドノードの最大4つの参照のそれぞれにアクセスするレンダラモジュールの試行は、クアッドノード自体によって検出される。レンダラモジュールが、ファイル名を有するが対応アドレスがない、子クアッドノードにアクセスしようとすると、親クアッドノードが、キャッシュノード検索リスト345上に、そのファイル名を設置する(例えば、そのアクセス機構機能の動作によって)。キャッシュノード検索リストは、GISサーバからダウンロードされるキャッシュノードを識別する情報のリストを備える。クアッドノードの子が、空値ではないローカルアドレスを有する場合、レンダラモジュール350は、子クアッドノードにアクセスするために、ローカルメモリ330の中のそのアドレスを使用する。
クアッドノードは、描画可能なペイロードを伴うクアッドノードが、それらのペイロード内に有界ボックスまたは他の位置識別子を含み得るように、構成される。レンダラモジュール350は、クアッドノードペイロード(もしあれば)の有界ボックス/位置識別子を視認仕様332と比較する、視認錐台選択を行う。有界ボックスが視認仕様332から完全に外れている(例えば、描画可能なデータのいずれも錐台内にない)場合に、描画可能なデータのペイロードは、たとえGISサーバからすでに取り出され、ユーザのコンピュータ上に記憶されていても、描画されない。そうでなければ、描画可能なデータが描画される。
視認錐台選択は、レンダラモジュール350がクアッドロードの子を詳細しく検討する前に、そのクアッドノードペイロードの有界ボックス(もしあれば)が視認仕様332から完全に外れているか否かを決定する。クアッドノードの有界ボックスが視認仕様332から完全に外れている場合、レンダラモジュール350は、そのクアッドノードの子にアクセスしようとしない。子クアッドノードは、決してその親クアッドノードの有界ボックスを超えて延在しない。したがって、親クアッドノードペイロードが視認仕様から完全に外れていると、いったん視認錐台選択が決定すると、そのクアッドノードの全子孫も視認仕様332から完全に外れていると仮定することができる。
クアッドノードおよびキャッシュノードペイロードは、種々の種類のデータを含有し得る。例えば、キャッシュノードペイロードは、衛星画像、テキストラベル、政治的境界、道路をレンダリングするための点、線、または多角形接続を伴う3次元頂点、および他の種類のデータを含有することができる。任意のクアッドノードペイロードの中のデータの量は、最大値に限定される。しかしながら、場合によっては、特定の分解能で領域を表すために必要とされるデータの量が、この最大値を超える。ベクトルデータの処理等の、それらの場合において、データの一部は、親ペイロードに含有され、同じ分解能における残りのデータは、子のペイロードに(および、おそらく子の子孫内にさえも)含有される。また、子が、より高い分解能または親と同じ分解能のデータを含有し得る場合があり得る。例えば、親ノードが、親と同じ分解能の2つの子と、その親とは異なる(例えば、より高い)分解能の2つの付加的な子とを有する場合がある。
キャッシュノードマネージャ340のスレッド、および1つ以上のネットワークローダ365のスレッドのそれぞれは、レンダラモジュール350およびユーザ相互作用モジュール310とは非同期的に動作する。レンダラモジュール350およびユーザ相互作用モジュール310はまた、相互とは非同期的に動作することもできる。いくつかの実施形態では、8つもの数のネットワークローダ365のスレッドが独立して実行され、それぞれ、レンダラモジュール350およびユーザ相互作用モジュール310とは非同期的に動作する。キャッシュノードマネージャ340のスレッドは、GISサーバから取り出されるクアッドノードでデータ投入することによって、ローカルメモリ330の中のクアッドノードツリー334を構築する。クアッドノードツリー334は、クライアントシステムが起動あるいは始動されると、ルートノードから開始する。ルートノードは、ファイル名を含み(しかし対応するアドレスは含まない)、データペイロードを含まない。以前に説明されているように、このルートノードは、初めてレンダラモジュール350によって詳しく検討された後に、キャッシュノード検索リスト345に自己報告するために、内蔵アクセス機構機能を使用する。
各ネットワークローダ365のスレッドにおいて、ネットワークローダは、キャッシュノード検索リスト345(図3に示された実施形態では、キャッシュノードマネージャ340に含まれるが、ローカルメモリ330または他の記憶装置等の他の場所に位置することもできる)を詳しく検討し、キャッシュノードのファイル名を使用して、GISサーバから次のキャッシュノードを要求する。ネットワークローダは、キャッシュノード検索リスト上に出現するファイルを要求するのみである。キャッシュノードマネージャ340は、親クアッドノードの子孫である1つ以上の新しいクアッドノードに編成される、返送ファイルに対するローカルメモリ330(または他の好適な記憶装置)の中の空間を割り当てる。キャッシュノードマネージャ340はまた、必要であれば(例えば、サーバ側の暗号化または圧縮を補完するために)、GISサーバから返送されたデータファイルを解読または解凍することもできる。キャッシュノードマネージャ340は、それぞれの新たに構築された子クアッドノードに対するローカルメモリ330のアドレスに対応するアドレスで、クアッドノードツリー334の中の親クアッドノードを更新する。
レンダラモジュール350において別個かつ非同期的に、クアッドノードツリー334を次に詳しく検討し、更新された親クアッドノードを詳しく検討すると、レンダラモジュール350は、子クアッドノードに対応するローカルメモリの中のアドレスを見出し、子クアッドノードにアクセスすることができる。レンダラによる子クアッドノードの詳細検討は、親クアッドノードについて従われる同じステップに従って進行する。これは、以前に説明されているように、視認仕様332から完全に外れているか、または他の要因に基づいて引き出すことが不適切と見なされるノードに到達するまで、クアッドノードツリー334を通して継続する。
この特定の実施形態では、キャッシュノードマネージャスレッドによって書き込まれるか、あるいは提供されるクアッドノードのレンダラモジュールによる読み出し以外に、キャッシュノードマネージャスレッドとレンダラモジュール350との間の通信がないことに留意されたい。さらに、この特定の実施形態では、以前に説明されているように、返送された子が、視認仕様332から完全に外れているか、あるいは描画することに不適切なペイロードのみを含有するまで、キャッシュノード、したがって、クアッドノードがダウンロードされ続ける。表示インターフェース380(例えば、表示インターフェースカード)は、ユーザがデータを視認することができるように、マッピングモジュールからのデータが、ユーザのコンピュータと関連するディスプレイに送信されることを可能にするように構成される。表示インターフェース380は、従来の技術で実装することができる。
概要および要約の項は、本発明者らによって検討されるような本発明の全てではないが1つ以上の例示的実施形態を記載し得、したがって、決して本発明および添付の請求項を限定することを目的としない。
その特定機能および関係の実装を図示する、機能的構成要素を用いて、本発明を上記で説明した。これらの機能的構成要素の境界は、説明の便宜上、本明細書では任意に画定した。その特定機能および関係が適切に実施される限り、代替的境界を画定することができる。
具体的実施形態の先述の説明は、本発明の一般概念から逸脱することなく、必要以上の実験を伴わずに、当技術分野内の知識を適用することによって、他者がそのような具体的実施形態を容易に修正し、および/または種々の用途に適合させることができる、本発明の一般的性質を完全に明らかにする。したがって、そのような適合および修正は、本明細書で提示される教示および指導に基づいて、開示された実施形態の同等物の意味および範囲内となることを目的とする。本明細書の用語または表現が、教示および指導に照らして当業者によって解釈されるものであるように、本明細書の表現または用語は、限定ではなく説明の目的によるものであることを理解されたい。
本願明細書は、以下の項目も提供する。
(項目1)
3次元環境内においてバーチャルカメラをパンするためのコンピュータ実装方法であって、
(a)該3次元環境内の3次元モデル上に第1の点を決定することと、
(b)該第1の点、該3次元モデル、および該3次元環境内の該バーチャルカメラの位置に従って、仮想表面を決定することと、
(c)該仮想表面上に第2の点を決定することと、
(d)該第1の点および該第2の点に従って、該3次元モデルの場所を変更することと、
を含む、方法。
(項目2)
該変更すること(d)は、
該第1の点を該3次元モデルの中心と接続する第1の線分と、該第2の点を該3次元モデルの該中心と接続する第2の線分との間の角度によって、該3次元モデルを回転させることを含む、項目1に記載の方法。
(項目3)
前記決定すること(b)は、
(i)パンニング球面を決定することであって、該パンニング球面の中心は、前記3次元モデルの前記中心に位置し、該パンニング球面は、該3次元モデルの該中心と前記第1の点との間の距離に等しい半径を有する、ことと、
(ii)前記仮想表面および該パンニング表面が一緒に、該パンニング球面と円滑に適合する連続面を形成するように、該パンニング表面に適合される該仮想表面を決定することと
を含む、項目2に記載の方法。
(項目4)
前記3次元モデルは、地球のモデルを含む、項目3に記載の方法。
(項目5)
前記決定すること(ii)は、前記仮想表面を決定することを含み、該仮想表面は、前記バーチャルカメラの視点からの凹面である、項目3に記載の方法。
(項目6)
前記決定すること(ii)はさらに、該仮想表面を決定することを含み、該仮想表面は、前記パンニング球面の一部分の鏡像である、項目5に記載の方法。
(項目7)
前記決定すること(a)は、
(i)前記バーチャルカメラのビューポート上の第3の点を通して、該バーチャルカメラの焦点から第1の射線を延在させることであって、該第3の点は、第1のユーザ選択に対応する、ことと、
(ii)該第1の射線と前記3次元モデルとの間の交差点において、前記第1の点を決定することと
を含む、項目1に記載の方法。
(項目8)
前記決定すること(c)は、
(i)前記バーチャルカメラの前記ビューポート上の第4の点を通して、該バーチャルカメラの前記焦点から第2の射線を延在させることであって、該第4の点は、第2のユーザ選択に対応する、ことと、
(ii)該第2の射線と前記3次元モデルとの間の交差点において、前記第2の点を決定することと
を含む、項目7に記載の方法。
(項目9)
前記決定すること(b)は、
(i)パンニング球面を決定することであって、該パンニング球面の中心は、前記3次元モデルの中心に位置し、該パンニング球面は、該3次元モデルの該中心と前記第1の点との間の距離に等しい半径を有する、ことと、
(ii)接続点において該パンニング球面に接続される仮想表面を決定することであって、前記仮想表面は、式
Figure 0005389901
を実質的に満たし、
θ 0 は、前記第1の射線と、前記バーチャルカメラおよび該3次元モデルの中心を接続する線分との間の角度であり、
φ 0 は、該バーチャルカメラと該3次元モデルの該中心とを接続する該第1の線分と、該3次元モデルの該中心と該第1の点とを接続する第2の線分との間の角度であり、
dφは、該3次元モデルの該中心と該第1の点とを接続する該第2の線分と、該3次元モデルの該中心と該接続点を接続する第3の線分との間の角度であり、
dθは、該第1の射線と、該バーチャルカメラと該接続点を接続する第3の線分との間の角度であり、
θは、該バーチャルカメラと該3次元モデルの該中心とを接続する該第2の線分と、該バーチャルカメラと該仮想表面上の可変点を接続する第4の線分との間の角度であり、
φは、該バーチャルカメラと該3次元モデルの該中心を接続する前記第2の線分と、該3次元モデルの該中心と該仮想表面上の該可変点を接続する第5の線分との間の角度である、ことと
を含む、項目7に記載の方法。
(項目10)
3次元環境内においてバーチャルカメラをパンするためのシステムであって、
該3次元環境内の3次元モデル上に第1の点を決定し、仮想表面上で第2の点を決定する、パンニングモジュールと、
該第1の点、該3次元モデル、および該3次元環境内の該バーチャルカメラの位置に従って、仮想表面を決定する、仮想表面計算機モジュールと、
該第1の点および該第2の点に従って、該3次元モデルの場所を変更する、回転子モジュールと
を備えている、システム。
(項目11)
前記回転子モジュールは、前記第1の点を前記3次元モデルの中心と接続する第1の線分と、前記第2の点を該3次元モデルの該中心と接続する第2の線分との間の角度によって、該3次元モデルを回転させる、項目10に記載のシステム。
(項目12)
前記パンニングモジュールは、パンニング球面を決定し、該パンニング球面の中心は、前記3次元モデルの中心に位置し、該パンニング球面は、該3次元モデルの該中心と前記第1の点との間の距離に等しい半径を有し、
該パンニングモジュールは、前記仮想表面と前記パンニング表面とが一緒に、該パンニング球面と円滑に適合する連続面を形成するように、該パンニング表面に適合される該仮想表面を決定する、項目11に記載のシステム。
(項目13)
前記3次元モデルは、地球のモデルを含む、項目12に記載のシステム。
(項目14)
前記仮想表面は、前記バーチャルカメラの視点からの凹面である、項目12に記載のシステム。
(項目15)
前記仮想表面は、前記パンニング球面の一部分の鏡像である、項目14に記載のシステム。
(項目16)
前記パンニングモジュールは、前記バーチャルカメラのビューポート上の第3の点を通して、該バーチャルカメラの焦点から第1の射線を延在させ、該第3の点は、第1のユーザ選択に対応し、
該パンニングモジュールは、該第1の射線と前記3次元モデルとの間の交差点において、前記第1の点を決定する、項目10に記載のシステム。
(項目17)
前記パンニングモジュールは、前記バーチャルカメラの前記ビューポート上の第4の点を通して、該バーチャルカメラの前記焦点から第2の射線を延在させ、該第4の点は、第2のユーザ選択に対応し、
前記第2の点は、前記第2の射線と前記3次元モデルとの間の交差点にある、項目16に記載のシステム。
(項目18)
前記パンニングモジュールは、パンニング球面を決定し、該パンニング球面の中心は、前記3次元モデルの中心に位置し、該パンニング球面は、該3次元モデルの該中心と該第1の点との間の距離に等しい半径を有し、
前記仮想表面計算機モジュールは、接続点において該パンニング球面に接続される仮想表面を決定し、該仮想表面は、式
Figure 0005389901
を実質的に満たし、
θ 0 は、前記第1の射線と、前記バーチャルカメラおよび前記3次元モデルの中心を接続する線分との間の角度であり、
φ 0 は、該バーチャルカメラと該3次元モデルの該中心を接続する該第1の線分と、該3次元モデルの該中心と該第1の点を接続する第2の線分との間の角度であり、
dφは、該3次元モデルの該中心と該第1の点とを接続する該第2の線分と、該3次元モデルの該中心と該接続点を接続する第3の線分との間の角度であり、
dθは、該第1の射線と、該バーチャルカメラと該接続点とを接続する第3の線分との間の角度であり、
θは、該バーチャルカメラと該3次元モデルの該中心とを接続する該第2の線分と、該バーチャルカメラと該仮想表面上の可変点を接続する第4の線分との間の角度であり、
φは、該バーチャルカメラと該3次元モデルの該中心とを接続する該第2の線分と、該3次元モデルの該中心と該仮想表面上の該可変点とを接続する第5の線分との間の角度である、項目16に記載のシステム。
(項目19)
地球の3次元モデルを含む、3次元環境内においてバーチャルカメラをパンするためのコンピュータ実装方法であって、
(a)該バーチャルカメラの視点から該3次元モデルを表示域に表示することと、
(b)ユーザがカーソルによって該表示域上の第1の点を選択することを可能にすることと、
(c)該第1の点に従って、第1の画面射線を決定することと、
(d)該ユーザが該表示域中の第2の点まで該カーソルを移動させることを可能にすることと、
(e)該第2の点に従って、第2の画面射線を決定することと、
(f)パンニング速度によって定義される速度で該カーソルを辿るように、該3次元モデルの回転点を通る軸の周りに該3次元モデルを回転させることと
を含み、
該パンニング速度は、該第1の画面射線と該第2の画面射線との間の角度に対する、該3次元モデルの回転角度の比であり、
該パンニング速度は、閾値を超えない、方法。
(項目20)
3次元環境でバーチャルカメラをパンするためのシステムであって、
該3次元環境内の3次元モデル上で第1の点を決定するための手段と、
該第1の点、該3次元モデル、および該3次元環境内の該バーチャルカメラの位置に従って、仮想表面を決定するための手段と、
該仮想表面上で第2の点を決定するための手段と、
該第1の点および該第2の点に従って、該3次元モデルの場所を変更するための手段と
を備えている、システム。
(項目21)
その上にコンピュータ実行可能命令が記憶された有形のコンピュータ可読媒体であって、コンピュータデバイスによって実行される場合、
(a)3次元環境内の3次元モデル上に第1の点を決定することと、
(b)該第1の点、該3次元モデル、および該3次元環境内のバーチャルカメラの位置に従って、仮想表面を決定することと、
(c)該仮想表面上に第2の点を決定することと、
(d)該第1の点および該第2の点に従って、該3次元モデルの場所を変更することと
の方法を該コンピュータデバイスに実行させる、有形のコンピュータ可読媒体。
本発明の幅および範囲は、上記の例示的実施形態のうちのいずれによっても限定されるべきではないが、以下の請求項およびそれらの同等物のみに従って定義されるべきである。

Claims (15)

  1. 3次元環境内においてバーチャルカメラをパンするための方法であって、該方法は、コンピュータにより実行され、該方法は、
    該3次元環境内の3次元モデル上第1の点を決定することと
    該第1の点、該3次元モデル、および該3次元環境内の該バーチャルカメラの位置に従って、仮想表面を決定することであって、該仮想表面を決定することは、パンニング球面を決定することであって、該パンニング球面の中心は、該3次元モデルの中心に位置し、該パンニング球面は、該3次元モデルの中心と該第1の点との間の距離に等しい半径を有する、ことと、該仮想表面を該パンニング球面のパンニング表面に適合することにより、該仮想表面が該バーチャルカメラの視点から凹面であるようにすることとを含み、該バーチャルカメラの視点は、該3次元環境内の該バーチャルカメラの位置によって決定される、ことと、
    該パンニング球面上に位置する第2の点を決定することと、
    該仮想表面上に位置する第3の点を決定することであって、該パンニング球面上の第2の点は、該仮想表面上の第3の点に関連し、該バーチャルカメラと該第3の点との間の距離は、該バーチャルカメラと該第2の点との間の距離よりも短い、ことと、
    該第3の点を該3次元モデルの中心と接続する第1の線分と、該3次元モデルの中心を該3次元環境内の該バーチャルカメラの位置と接続する第2の線分との間の第1の角度だけ該3次元モデルを回転させることにより該3次元モデルの場所を変更することであって、該第1の角度だけの該3次元モデルの回転は、該3次元モデルの中心を該第2の点と接続する第3の線分と該第2の線分との間の第2の角度だけの該3次元モデルの回転よりも小さい、ことと
    を含む、方法。
  2. 前記仮想表面を決定することは、
    仮想表面を前記パンニング表面に適合することにより、該パンニング球面上に連続的な平滑面を形成することをさらに含む、請求項に記載の方法。
  3. 前記3次元モデルは、地球のモデルを含む、請求項に記載の方法。
  4. 前記仮想表面は、前記パンニング球面の一部分の鏡像である、請求項に記載の方法。
  5. 前記第1の点を決定することは、
    前記バーチャルカメラのビューポート上の第の点を通して、該バーチャルカメラの焦点から第1の射線を延在させることであって、該第の点は、第1のユーザ選択に対応する、ことと
    該第1の射線と前記3次元モデルとの間の交差点において、前記第1の点を決定することと
    を含む、請求項1に記載の方法。
  6. 前記仮想表面を決定することは、
    接続点において前記パンニング球面に接続される仮想表面を決定することを含み、
    仮想表面は、式
    Figure 0005389901
    を満たし、
    θ0は、前記第1の射線と、前記バーチャルカメラおよび該3次元モデルの中心を接続する線分との間の角度であり、
    φ0は、該バーチャルカメラと該3次元モデルの該中心とを接続する該第1の線分と、該3次元モデルの該中心と該第1の点とを接続する第2の線分との間の角度であり、
    dφは、該3次元モデルの該中心と該第1の点とを接続する該第2の線分と、該3次元モデルの該中心と該接続点を接続する第3の線分との間の角度であり、
    dθは、該第1の射線と、該バーチャルカメラと該接続点を接続する第3の線分との間の角度であり、
    θは、該バーチャルカメラと該3次元モデルの該中心とを接続する該第2の線分と、該バーチャルカメラと該仮想表面上の可変点を接続する第4の線分との間の角度であり、
    φは、該バーチャルカメラと該3次元モデルの該中心を接続する前記第2の線分と、該3次元モデルの該中心と該仮想表面上の該可変点を接続する第5の線分との間の角度である請求項に記載の方法。
  7. 3次元環境内においてバーチャルカメラをパンするためのシステムであって、該システムは、
    パンニングモジュールであって、該パンニングモジュールは、該3次元環境内の3次元モデル上第1の点を決定することとパンニング球面を決定することとを実行するように構成され、該パンニング球面の中心は、該3次元モデルの中心に位置し、該パンニング球面は、該3次元モデルの中心と該第1の点との間の距離に等しい半径を有し、該パンニングモジュールは、該パンニング球面上に位置する第2の点および仮想表面上の点を決定するようにさらに構成され、該第2の点は、該第3の点に関連する、パンニングモジュールと、
    該第1の点、該3次元モデル、および該3次元環境内の該バーチャルカメラの位置に従って、仮想表面を決定するように構成された仮想表面計算機モジュールと、
    該第3の点を該3次元モデルの中心と接続する第1の線分と、該3次元モデルの中心を該3次元環境内の該バーチャルカメラの位置と接続する第2の線分との間の第1の角度だけ該3次元モデルを回転させることにより該3次元モデルの場所を変更するように構成された回転子モジュールと
    を備え
    該バーチャルカメラと該第3の点との間の距離は、該バーチャルカメラと該第2の点との間の距離よりも短く、
    該第1の角度だけの該3次元モデルの回転は、該3次元モデルの中心を該第2の点と接続する第3の線分と該第2の線分との間の第2の角度だけの該3次元モデルの回転よりも小さく、
    該仮想表面を決定することは、該仮想表面を該パンニング球面のパンニング表面に適合することにより、該仮想表面が該バーチャルカメラの視点から凹面であるようにすることを含み、該バーチャルカメラの視点は、該3次元環境内の該バーチャルカメラの位置によって決定される、システム。
  8. 前記パンニングモジュールは、前記仮想表面前記パンニング表面に適合することにより、該パンニング球面上に連続的な平滑面を形成するように構成される、請求項に記載のシステム。
  9. 前記3次元モデルは、地球のモデルを含む、請求項に記載のシステム。
  10. 前記仮想表面は、前記パンニング球面の一部分の鏡像である、請求項に記載のシステム。
  11. 前記パンニングモジュールは、前記バーチャルカメラのビューポート上の第の点を通して、該バーチャルカメラの焦点から第1の射線を延在させるように構成され、該第の点は、第1のユーザ選択に対応し、
    該パンニングモジュールは、該第1の射線と前記3次元モデルとの間の交差点において、前記第1の点を決定するように構成される、請求項に記載のシステム。
  12. 前記パンニングモジュールは、前記パンニング球面を決定するように構成され、該パンニング球面の中心は、前記3次元モデルの中心に位置し、該パンニング球面は、該3次元モデルの該中心と該第1の点との間の距離に等しい半径を有し、
    前記仮想表面計算機モジュールは、接続点において該パンニング球面に接続される仮想表面を決定するように構成され、
    該仮想表面は、式
    Figure 0005389901
    を満たし、
    θ0は、前記第1の射線と、前記バーチャルカメラおよび前記3次元モデルの中心を接続する線分との間の角度であり、
    φ0は、該バーチャルカメラと該3次元モデルの該中心を接続する該第1の線分と、該3次元モデルの該中心と該第1の点を接続する第2の線分との間の角度であり、
    dφは、該3次元モデルの該中心と該第1の点とを接続する該第2の線分と、該3次元モデルの該中心と該接続点を接続する第3の線分との間の角度であり、
    dθは、該第1の射線と、該バーチャルカメラと該接続点とを接続する第3の線分との間の角度であり、
    θは、該バーチャルカメラと該3次元モデルの該中心とを接続する該第2の線分と、該バーチャルカメラと該仮想表面上の可変点を接続する第4の線分との間の角度であり、
    φは、該バーチャルカメラと該3次元モデルの該中心とを接続する該第2の線分と、該3次元モデルの該中心と該仮想表面上の該可変点とを接続する第5の線分との間の角度である、請求項11に記載のシステム。
  13. 地球の3次元モデルを含む3次元環境内においてバーチャルカメラをパンするための方法であって、該方法は、コンピュータにより実行され、該方法は、
    該バーチャルカメラの視点から該3次元モデルを表示域に表示することと
    ユーザがカーソルによって該表示域内の該3次元モデル内のパンニング球面上の第1の点を選択することを可能にすることと
    該バーチャルカメラと該第1の点との間の画面射線を決定することと
    該画面射線と仮想表面との間の交差点を決定することと
    該3次元モデルの回転点を通る軸の周りで、該バーチャルカメラが該3次元モデルの回転点および該仮想表面上の交差点と整列するまで、該3次元モデルを回転させることと
    を含み、
    該交差点に従った該3次元モデルの回転は、該3次元モデルの中心を該第1の点と接続する第1の線分と該画面射線との間の第1の角度だけの該3次元モデルの回転よりも小さく、
    該仮想表面は、該仮想表面をパンニング表面に適合することにより、該仮想表面が該バーチャルカメラの視点から凹面であるようにすることにより決定される、方法。
  14. 3次元環境でバーチャルカメラをパンするためのシステムであって、該システムは、
    該3次元環境内の3次元モデル上第1の点を決定する手段と、
    該第1の点、該3次元モデル、および該3次元環境内の該バーチャルカメラの位置に従って、仮想表面を決定する手であって、該仮想表面を決定することは、パンニング球面を決定することであって、該パンニング球面の中心は、該3次元モデルの中心に位置し、該パンニング球面は、該3次元モデルの中心と該第1の点との間の距離に等しい半径を有する、ことと、該仮想表面を該パンニング球面のパンニング表面に適合することにより、該仮想表面が該バーチャルカメラの視点から凹面であるようにすることとを含み、該バーチャルカメラの視点は、該3次元環境内の該バーチャルカメラの位置によって決定される、手段と、
    該パンニング球面上に位置する第2の点を決定する手段と、
    該仮想表面上に位置する第3の点を決定する手段であって、該パンニング球面上の第2の点は、該仮想表面上の第3の点に関連し、該バーチャルカメラと該第3の点との間の距離は、該バーチャルカメラと該第2の点との間の距離よりも短い、手段と、
    該第3の点を該3次元モデルの中心と接続する第1の線分と、該3次元モデルの中心を該3次元環境内の該バーチャルカメラの位置と接続する第2の線分との間の第1の角度だけ該3次元モデルを回転させることにより該3次元モデルの場所を変更する手段であって、該第1の角度だけの該3次元モデルの回転は、該3次元モデルの中心を該第2の点と接続する第3の線分と該第2の線分との間の第2の角度だけの該3次元モデルの回転よりも小さい、手段と
    を備えている、システム。
  15. ンピュータ実行可能命令記憶した有形のコンピュータ可読媒体であって、該コンピュータ実行可能命令は、コンピュータデバイスによって実行される場合、3次元環境内においてバーチャルカメラをパンするための方法を該コンピュータデバイスに実行させ、該方法は、
    3次元環境内の3次元モデル第1の点を決定することと
    該第1の点、該3次元モデル、および該3次元環境内のバーチャルカメラの位置に従って、仮想表面を決定することであって、該仮想表面を決定することは、パンニング球面を決定することであって、該パンニング球面の中心は、該3次元モデルの中心に位置し、該パンニング球面は、該3次元モデルの中心と該第1の点との間の距離に等しい半径を有する、ことと、該仮想表面を該パンニング球面のパンニング表面に適合することにより、該仮想表面が該バーチャルカメラの視点から凹面であるようにすることとを含み、該バーチャルカメラの視点は、該3次元環境内の該バーチャルカメラの位置によって決定される、ことと、
    該パンニング球面上に位置する該仮想表面上に第2の点を決定することと、
    該仮想表面上に位置する第3の点を決定することであって、該パンニング球面上の第2の点は、該仮想表面上の第3の点に関連し、該バーチャルカメラと該第3の点との間の距離は、該バーチャルカメラと該第2の点との間の距離よりも短い、ことと、
    該第3の点を該3次元モデルの中心と接続する第1の線分と、該3次元モデルの中心を該3次元環境内の該バーチャルカメラの位置と接続する第2の線分との間の第1の角度だけ該3次元モデルを回転させることにより該3次元モデルの場所を変更することであって、該第1の角度だけの該3次元モデルの回転は、該3次元モデルの中心を該第2の点と接続する第3の線分と該第2の線分との間の第2の角度だけの該3次元モデルの回転よりも小さい、ことと
    を含む、有形のコンピュータ可読媒体。
JP2011505014A 2008-04-14 2009-04-14 仮想表面を使用するパンニング Active JP5389901B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US4475408P 2008-04-14 2008-04-14
US61/044,754 2008-04-14
PCT/US2009/002311 WO2009131634A1 (en) 2008-04-14 2009-04-14 Panning using virtual surfaces

Publications (2)

Publication Number Publication Date
JP2011517001A JP2011517001A (ja) 2011-05-26
JP5389901B2 true JP5389901B2 (ja) 2014-01-15

Family

ID=40897356

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011505014A Active JP5389901B2 (ja) 2008-04-14 2009-04-14 仮想表面を使用するパンニング

Country Status (8)

Country Link
US (1) US8624926B2 (ja)
EP (1) EP2297704B1 (ja)
JP (1) JP5389901B2 (ja)
KR (1) KR101626037B1 (ja)
CN (1) CN102067180B (ja)
AU (1) AU2009238631B2 (ja)
CA (1) CA2721375C (ja)
WO (1) WO2009131634A1 (ja)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103324386A (zh) 2008-08-22 2013-09-25 谷歌公司 移动设备上的三维环境中的导航
US8780174B1 (en) 2010-10-12 2014-07-15 The Boeing Company Three-dimensional vision system for displaying images taken from a moving vehicle
US8675013B1 (en) * 2011-06-16 2014-03-18 Google Inc. Rendering spherical space primitives in a cartesian coordinate system
CN102289845B (zh) * 2011-08-30 2013-04-10 广东省电力设计研究院 一种三维模型绘制方法以及装置
US8767011B1 (en) * 2011-10-17 2014-07-01 Google Inc. Culling nodes over a horizon using conical volumes
US20130257742A1 (en) * 2012-03-28 2013-10-03 Google Inc. Method and System for Controlling Imagery Panning Based on Displayed Content
US9092900B2 (en) * 2012-06-05 2015-07-28 Google Inc. Terrain-based virtual camera tilting, and applications thereof
US10140765B2 (en) 2013-02-25 2018-11-27 Google Llc Staged camera traversal for three dimensional environment
US9459705B2 (en) 2013-03-18 2016-10-04 Facebook, Inc. Tilting to scroll
US9423941B2 (en) 2013-09-05 2016-08-23 Facebook, Inc. Tilting to scroll
US9679413B2 (en) 2015-08-13 2017-06-13 Google Inc. Systems and methods to transition between viewpoints in a three-dimensional environment
CN110248861B (zh) 2018-01-07 2023-05-30 辉达公司 在车辆操纵过程中使用机器学习模型来引导车辆
WO2019152888A1 (en) 2018-02-02 2019-08-08 Nvidia Corporation Safety procedure analysis for obstacle avoidance in autonomous vehicle
CN111133447B (zh) 2018-02-18 2024-03-19 辉达公司 适于自主驾驶的对象检测和检测置信度的方法和系统
WO2019168869A1 (en) * 2018-02-27 2019-09-06 Nvidia Corporation Real-time detection of lanes and boundaries by autonomous vehicles
US11537139B2 (en) 2018-03-15 2022-12-27 Nvidia Corporation Determining drivable free-space for autonomous vehicles
WO2019182974A2 (en) 2018-03-21 2019-09-26 Nvidia Corporation Stereo depth estimation using deep neural networks
WO2019191306A1 (en) 2018-03-27 2019-10-03 Nvidia Corporation Training, testing, and verifying autonomous machines using simulated environments
US11373356B2 (en) * 2018-03-28 2022-06-28 Robert Bosch Gmbh Method and system for efficient rendering of 3D particle systems for weather effects
US11966838B2 (en) 2018-06-19 2024-04-23 Nvidia Corporation Behavior-guided path planning in autonomous machine applications
JP7213899B2 (ja) 2018-06-27 2023-01-27 センティエーアール インコーポレイテッド 視線に基づく拡張現実環境のためのインターフェース
US11610115B2 (en) 2018-11-16 2023-03-21 Nvidia Corporation Learning to generate synthetic datasets for training neural networks
DE112019006468T5 (de) 2018-12-28 2021-10-14 Nvidia Corporation Erkennung des abstands zu hindernissen bei anwendungen mit autonomen maschinen
US11170299B2 (en) 2018-12-28 2021-11-09 Nvidia Corporation Distance estimation to objects and free-space boundaries in autonomous machine applications
WO2020140049A1 (en) 2018-12-28 2020-07-02 Nvidia Corporation Distance to obstacle detection in autonomous machine applications
WO2020163390A1 (en) 2019-02-05 2020-08-13 Nvidia Corporation Driving lane perception diversity and redundancy in autonomous driving applications
US11648945B2 (en) 2019-03-11 2023-05-16 Nvidia Corporation Intersection detection and classification in autonomous machine applications
DE112020004139T5 (de) 2019-08-31 2022-05-12 Nvidia Corporation Erstellung von karten und lokalisierung für anwendungen im bereich des autonomen fahrens
TWI757762B (zh) * 2020-06-04 2022-03-11 宏正自動科技股份有限公司 多視窗顯示的切換方法以及切換系統
US11978266B2 (en) 2020-10-21 2024-05-07 Nvidia Corporation Occupant attentiveness and cognitive load monitoring for autonomous and semi-autonomous driving applications
US11748939B1 (en) * 2022-09-13 2023-09-05 Katmai Tech Inc. Selecting a point to navigate video avatars in a three-dimensional environment

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5557714A (en) * 1993-01-29 1996-09-17 Microsoft Corporation Method and system for rotating a three-dimensional model about two orthogonal axes
JPH07200875A (ja) * 1993-12-27 1995-08-04 Mutoh Ind Ltd 3次元モデルの表示位置変更方法
JPH07200874A (ja) * 1993-12-27 1995-08-04 Mutoh Ind Ltd 3次元cadシステムにおける2次元図面の作成方法
JPH07302358A (ja) * 1994-05-02 1995-11-14 Nissan Motor Co Ltd Cadシステム用3次元図形視点変更装置
JPH08249500A (ja) * 1995-03-13 1996-09-27 Hitachi Ltd 3次元図形の表示方法
JPH08329277A (ja) * 1995-06-05 1996-12-13 Hitachi Ltd 地球環境観測データの可視化表示方法
JPH11232483A (ja) * 1998-02-10 1999-08-27 Square Co Ltd 情報処理装置および情報記録媒体
JP2004005272A (ja) 2002-05-31 2004-01-08 Cad Center:Kk 仮想空間移動制御装置及び制御方法並びに制御プログラム
JP4297804B2 (ja) * 2004-02-19 2009-07-15 任天堂株式会社 ゲーム装置及びゲームプログラム
JP4143590B2 (ja) * 2004-10-28 2008-09-03 任天堂株式会社 3次元画像処理装置、ゲーム装置、3次元画像処理プログラムおよびゲームプログラム
JP3819408B2 (ja) * 2004-12-28 2006-09-06 株式会社コナミデジタルエンタテインメント ゲーム装置、ゲーム装置の制御方法及びプログラム
US20070206030A1 (en) * 2006-03-06 2007-09-06 The Protomold Company, Inc. Graphical user interface for three-dimensional manipulation of a part
US8277316B2 (en) * 2006-09-14 2012-10-02 Nintendo Co., Ltd. Method and apparatus for using a common pointing input to control 3D viewpoint and object targeting
US8375336B2 (en) * 2008-05-23 2013-02-12 Microsoft Corporation Panning content utilizing a drag operation

Also Published As

Publication number Publication date
EP2297704A1 (en) 2011-03-23
AU2009238631B2 (en) 2014-10-30
CA2721375A1 (en) 2009-10-29
AU2009238631A1 (en) 2009-10-29
JP2011517001A (ja) 2011-05-26
CA2721375C (en) 2016-11-29
WO2009131634A1 (en) 2009-10-29
EP2297704B1 (en) 2014-04-09
KR101626037B1 (ko) 2016-06-13
CN102067180A (zh) 2011-05-18
KR20110002093A (ko) 2011-01-06
US8624926B2 (en) 2014-01-07
CN102067180B (zh) 2014-07-09
US20090256840A1 (en) 2009-10-15

Similar Documents

Publication Publication Date Title
JP5389901B2 (ja) 仮想表面を使用するパンニング
AU2009236690B2 (en) Swoop navigation
US9024947B2 (en) Rendering and navigating photographic panoramas with depth information in a geographic information system
US9153011B2 (en) Movement based level of detail adjustments
US8487957B1 (en) Displaying and navigating within photo placemarks in a geographic information system, and applications thereof
US9626790B1 (en) View-dependent textures for interactive geographic information system
US9105129B2 (en) Level of detail transitions for geometric objects in a graphics application
KR101101114B1 (ko) 배경 이미지를 이용한 3차원 아바타 서비스 제공 시스템 및 방법
US10140765B2 (en) Staged camera traversal for three dimensional environment
US9092900B2 (en) Terrain-based virtual camera tilting, and applications thereof
CN111742283A (zh) 混合现实中内容的弯曲显示
CN109313824A (zh) 交互式地理上下文导航工具

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120413

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130514

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130520

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130820

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: 20130909

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131009

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5389901

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250