JP2011519085A - 急降下ナビゲーション - Google Patents

急降下ナビゲーション Download PDF

Info

Publication number
JP2011519085A
JP2011519085A JP2011505013A JP2011505013A JP2011519085A JP 2011519085 A JP2011519085 A JP 2011519085A JP 2011505013 A JP2011505013 A JP 2011505013A JP 2011505013 A JP2011505013 A JP 2011505013A JP 2011519085 A JP2011519085 A JP 2011519085A
Authority
JP
Japan
Prior art keywords
virtual camera
target
tilt
distance
location
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.)
Granted
Application number
JP2011505013A
Other languages
English (en)
Other versions
JP5507541B2 (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 JP2011519085A publication Critical patent/JP2011519085A/ja
Application granted granted Critical
Publication of JP5507541B2 publication Critical patent/JP5507541B2/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/40Hidden part removal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/05Geographic models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/003Navigation within 3D models or images

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Graphics (AREA)
  • General Physics & Mathematics (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Remote Sensing (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Processing Or Creating Images (AREA)
  • Instructional Devices (AREA)

Abstract

本発明は、3次元環境内においてナビゲートすることに関する。実施形態では、バーチャルカメラが第1の場所にある時に、3次元環境内における標的が選択される。バーチャルカメラと標的との間の距離が決定される。距離が縮小され、縮小した距離の関数として傾転が決定される。傾転、縮小した距離、および標的の位置に従って、バーチャルカメラの第2の場所が決定される。最終的に、カメラは標的に対面するように配向される。実施例では、バーチャルカメラが地面と平行に配向され、距離が標的に近くなるまで、プロセスが繰り返す。別の実施例では、標的の位置が移動する。

Description

(発明の分野)
本発明は、3次元環境内においてナビゲートするステップに関する。
3次元データを表示するために、3次元環境を通してナビゲートするためのシステムが存在する。3次元環境は、3次元データが表示するものを定義する、バーチャルカメラを含む。バーチャルカメラは、その位置および配向に従った視点を有する。バーチャルカメラの視点を変更することによって、ユーザは、3次元環境を通してナビゲートすることができる。
3次元環境を通してナビゲートするためにバーチャルカメラを使用する、一つの種類のシステムは、地理情報システムである。地理情報システムは、地球の実質的に球形の3次元モデルを記憶し、取り出し、操作し、表示するためのシステムである。3次元モデルは、山、谷、および峡谷等の地形にテクスチャマッピングされる衛星画像を含み得る。さらに、3次元モデルは、建造物および他の3次元特徴を含み得る。
地理情報システムにおけるバーチャルカメラは、異なる視点から地球の球形3次元モデルを視認し得る。地球のモデルの空中視点が、衛星画像を示し得るが、地形および建造物は見えにくい場合がある。一方で、モデルの地表レベル視点が、地形および建造物を詳細に示し得る。現在のシステムでは、空中視点から地表レベル視点へナビゲートすることは、ユーザにとって困難かつ方向感覚を失わせるものとなる場合がある。
ユーザにとって方向感覚を失わせることが少ない、空中視点から地表レベル視点にナビゲートするための方法およびシステムが必要とされる。
本発明は、3次元環境内においてナビゲートするステップに関する。本発明の実施形態では、コンピュータ実装方法が、3次元環境内においてバーチャルカメラをナビゲートンする。方法は、3次元環境内における標的を決定するステップを含む。方法はさらに、バーチャルカメラの第1の場所と3次元環境内における標的との間の距離を決定するステップと、縮小した距離を決定するステップと、縮小した距離に従って傾転を決定するステップとを含む。最終的に、方法は、傾転、縮小した距離、および標的に従って、第2の場所にバーチャルカメラを配置するステップを含む。
第2の実施形態では、システムが、3次元環境内においてバーチャルカメラをナビゲートする。システムは、3次元環境内における標的を決定する、標的モジュールを含む。起動されると、傾転計算機モジュールが、バーチャルカメラの第1の場所と3次元環境内における標的との間の距離を決定し、縮小した距離を決定し、縮小した距離の関数として傾転を決定する。また、起動されると、ポジショナモジュールが、傾転、縮小した距離、および標的に従って決定される第2の場所にバーチャルカメラを配置する。最終的に、システムは、バーチャルカメラと標的との間の距離が閾値を下回るまで、傾転計算機およびポジショナモジュールを繰り返し起動する、コントローラモジュールを含む。
第3の実施形態では、コンピュータ実装方法が、3次元環境内においてバーチャルカメラをナビゲートする。方法は、3次元環境内における標的を決定するステップと、バーチャルカメラの急降下パラメータを更新するステップと、急降下パラメータによって画定される新しい場所にバーチャルカメラを配置するステップとを含む。急降下パラメータは、標的から上向きに方向付けられたべクトルに対する傾転値と、ベクトルに対する方位角値と、標的とバーチャルカメラとの間の距離値とを含む。
バーチャルカメラを傾転し、バーチャルカメラと標的との間の距離を縮小することによって、バーチャルカメラが標的に向かって急降下する。このように、本発明の実施形態は、ユーザにとって方向感覚を失わせることが少ない方式で、空中視点から地表レベル視点にバーチャルカメラをナビゲートする。
本発明のさらなる実施形態、特徴、および利点、ならびに本発明の種々の実施形態の構造および動作を、添付図面を参照して以下で詳細に説明する。
本明細書に組み込まれ、本明細書の一部を形成する添付図面は、本発明を図示し、説明とともに、さらに本発明の原則を説明し、かつ当業者が本発明を作製し、使用することを可能にする働きをする。
図1A−図1Dは、本発明の実施形態における、いくつかの急降下軌道を図示する概略図である。 図1A−図1Dは、本発明の実施形態における、いくつかの急降下軌道を図示する概略図である。 図1A−図1Dは、本発明の実施形態における、いくつかの急降下軌道を図示する概略図である。 図1A−図1Dは、本発明の実施形態における、いくつかの急降下軌道を図示する概略図である。 図2は、地理情報システムのユーザインターフェース例のスクリーンショットである。 図3A−図3Bは、本発明の実施形態による、急降下ナビゲーションのための方法を図示するフローチャートである。 図3A−図3Bは、本発明の実施形態による、急降下ナビゲーションのための方法を図示するフローチャートである。 図4−図5は、図3A−図3Bの方法で使用され得る、標的を決定するための方法を図示する概略図である。 図4−図5は、図3A−図3Bの方法で使用され得る、標的を決定するための方法を図示する概略図である。 図6は、図3A−図3Bの方法の実施例における、初期傾転による急降下ナビゲーションを図示する概略図である。 図7A−図7Cは、図3A−Bの方法で使用され得る、縮小した距離およびカメラ傾転を決定するための方法を図示するフローチャートである。 図7A−図7Cは、図3A−Bの方法で使用され得る、縮小した距離およびカメラ傾転を決定するための方法を図示するフローチャートである。 図7A−図7Cは、図3A−Bの方法で使用され得る、縮小した距離およびカメラ傾転を決定するための方法を図示するフローチャートである。 図8Aは、距離に従って傾転を決定するための機能を図示するチャートである。 図8Bは、図8Aの機能を使用した急降下軌道例を示す概略図である。 図9は、図3A−Bの方法で使用され得る、転回を低減するための方法を図示する概略図である。 図10は、図3A−Bの方法で使用され得る、標的の画面空間投影を修復するための方法を図示する概略図である。 図11A−11Bは、図3A−Bの方法で使用され得る、ストリーム配信地形に対する急降下軌道を調整するための方法を示す。 図11A−11Bは、図3A−Bの方法で使用され得る、ストリーム配信地形に対する急降下軌道を調整するための方法を示す。 図12は、本発明の実施形態による、急降下ナビゲーションのための地理情報システムを示すアーキテクチャ図である。
要素が最初に出現する図面は、典型的には、対応する参照番号における1つまたは複数の最左の数字によって示される。図面中、類似番号は、同一または機能的に同様の要素を示し得る。
本発明は、3次元環境内においてバーチャルカメラを移動させるステップに関する。以下の発明を実施するための形態では、「一実施形態」、「実施形態」、「実施形態例」等への言及は、説明される実施形態が、特定の特徴、構造、または特性を含み得るが、全ての実施形態が必ずしも、特定の特徴、構造、または特性を含まなくてもよいことを示す。また、そのような語句は、必ずしも同じ実施形態を指しているとは限らない。さらに、特定の特徴、構造、または特性が、実施形態と関連して説明される時に、明示的に説明されるか否かを問わず、他の実施形態と関連して、そのような特徴、構造、または特性を達成することが当業者の知識の範囲内であることが提示される。
本発明の実施形態によれば、急降下ナビゲーションが、カメラを移動させて、標的に対する所望の位置および配向を達成する。急降下パラメータが、標的に対するカメラの位置および配向を符号化する。急降下パラメータは、(1)標的までの距離、(2)標的における垂直線に対する傾転、(3)方位角、および随意で、(4)転回を含み得る。実施例では、方位角は、カメラの基本方位であり得る。パラメータおよび実践における動作のそれぞれを、以下で説明する。
急降下ナビゲーションは、スティック型カメラと類似し得る。この類似において、バーチャルカメラは、スティックによって標的点に接続される。ベクトルは、標的点から上方を向く。上向きベクトルは、例えば、3次元モデルの表面に垂直であり得る。3次元モデルが球形である場合(地球の3次元モデル等)、ベクトルは、3次元モデルの中心から標的を通って延在し得る。同様に、カメラが傾転するにつれて、スティックはベクトルから離れるように傾斜する。実施形態では、標的点に対するカメラの方位角を変更することによって、スティックもベクトルの周りを回転することができる。
図1Aは、本発明の実施形態による、単純急降下軌道を図示する概略図100を示す。概略図100は、場所102におけるバーチャルカメラを示す。場所102では、バーチャルカメラは空中視点を有する。示された実施例では、ユーザが、空中視点から建造物108の地表レベル視点にナビゲートすることを希望する。場所102では、バーチャルカメラが真っ直ぐ下に配向され、したがって、その傾転はゼロであり、バーチャルカメラは標的110から距離116にある。
急降下軌道上の次の位置を決定するために、距離116は、新しい距離118を決定するように縮小される。示された実施例では、バーチャルカメラと標的との間の距離が縮小される。傾転112も決定される。傾転112は、標的110から上向きに方向付けられたべクトルと、場所104と標的112とを接続する線分との間の角度である。傾転112は、縮小した距離118に従って決定され得る。急降下軌道上のカメラの次の位置は、傾転112および距離118に対応する。カメラは、場所104に再配置される。場所104は、標的112から離れた距離118にある。最終的に、カメラは、標的110に対面するように傾転112によって回転させられる。
プロセスは、バーチャルカメラが標的110に到達するまで繰り返される。バーチャルカメラが標的110に到達すると、傾転は90度であり、バーチャルカメラは建造物108に対面する。このように、本発明の実施形態は、場所102における空中視点から建造物108の地表レベル視点まで容易にナビゲートする。急降下ナビゲーションの動作、その代替実施形態および他の実施形態についてのさらなる詳細を、以下で説明する。
概略図100の急降下軌道はまた、上述の急降下パラメータおよびスティック類似物に関して説明され得る。概略図100の急降下軌道中、傾転値は90度まで増加し、距離値はゼロに減少し、方位角値は一定のままである。スティック類似物との関連で、ベクトルは、標的110から上方を向く。概略図100の急降下軌道中、スティックの長さは減少し、スティックはベクトルから離れるように傾斜する。概略図100の急降下軌道は、本発明の一実施形態にすぎない。急降下パラメータは、他の軌道を形成するために他の方法で更新され得る。
図1Bは、本発明の実施形態における別の軌道を図示する概略図140を示す。概略図140の軌道は、標的110の周囲をヘリコプターで飛ぶバーチャルカメラを示す。概略図140は、位置148から開始するバーチャルカメラを示す。軌道に沿って進行し、バーチャルカメラは、標的から等距離のままである。急降下パラメータに関して、距離は一定のままであるが、傾転および方位角値は、カメラが軌道に沿って移動するにつれて変化し得る。スティック類似物に関して、スティックの長さは一定のままであるが、スティックは標的の周りを旋回する。このように、カメラは、標的における原点を有する球体の表面に沿って移動する。
概略図140に示された軌道は、例えば、異なる視点から標的点を視認するために使用され得る。しかしながら、概略図140の軌道は、必ずしも空中視点から地表レベル視点にユーザを移行させるわけではない。
また、図1Bは、標的110がバーチャルカメラの中心から外へ突出する必要がないことも示す。これを、図4および5に関してより詳細に説明する。
図1Cは、異なる視点からの標的と、空中視点から地表レベル視点への移行との両方を示す、急降下軌道を図示する概略図170を示す。バーチャルカメラは、位置174から概略図170の急降下軌道を開始する。バーチャルカメラが場所174から場所176に移動するにつれて、バーチャルカメラは、標的に近づき、概略図100の急降下軌道と同様に標的に対して傾転する。しかし、バーチャルカメラも、概略図140の軌道と同様に、標的の周囲をヘリコプターで飛ぶ。概略図170に示された急降下軌道は、バーチャルカメラが標的110に到達するまで継続する。急降下パラメータに関して、傾転値は90度まで増加し、距離値はゼロに減少し、方位角値は変化する。スティック類似物に関して、スティックの長さは減少し、スティックは傾転するとともに、標的110から上向きに方向付けられたべクトルの周りを回転する。
図1Dは、3次元空間を通してナビゲートするために、急降下軌道がどのように使用され得るかを図示する概略図180を示す。3次元空間は、2つの建造物182および184を含む。建造物182の最上部で、バーチャルカメラが場所186に位置する。標的110は、建造物184の最上部にある。標的110は、図4および5に関して以下で説明されるように、ユーザ入力に応じて選択され得る。バーチャルカメラは、急降下軌道188に沿って、建造物182における場所186から建造物184における標的110に移動する。言い換えれば、バーチャルカメラは、建造物182から建造物184に急降下する。このように、3次元空間を通してナビゲートするために、急降下軌道が使用され得る。
別の実施形態では、標的場所は動いていてもよい。その実施形態では、移動標的を追跡するために、急降下ナビゲーションが使用され得る。移動標的を伴う急降下軌道を計算するステップの実施形態例を、以下で詳細に説明する。
急降下ナビゲーションは、地球の3次元モデルを含む3次元環境内においてナビゲートするために、地理情報システムによって使用され得る。図2は、地理情報システムのユーザインターフェース200のスクリーンショットである。ユーザインターフェース200は、地理情報/データを表示するための表示域202を含む。上述のように、表示域202に表示されるデータは、バーチャルカメラの視点からである。実施形態では、視点は、例えば、最上部が取り除かれた3次元ピラミッド等の錐台によって画定される。錐台内の地理データは、バーチャルカメラからの距離に応じて、詳細の様々なレベルで表示することができる。
表示域202に表示される地理データ例は、地球の画像を含む。これらの画像は、地球の3次元モデルを作成する地球の地形を表す、幾何学形状上にレンダリングされることができる。表示され得る他のデータは、建造物の3次元モデルを含む。
ユーザインターフェース200は、バーチャルカメラの配向を変更するための制御部204を含む。制御部204は、ユーザが、例えば、バーチャルカメラの高度、緯度、経度、ピッチ、ヨー、および転回を変更することを可能にする。実施形態では、制御部204は、マウス等のコンピュータポインティングデバイスを使用して操作される。バーチャルカメラの配向が変化するにつれて、バーチャルカメラの錐台および表示される地理データも変化する。制御部204に加えて、ユーザは、例えば、コンピュータキーボードまたはジョイスティック等の他のコンピュータ入力デバイスを使用して、バーチャルカメラの配向を制御することもできる。
示された実施例では、バーチャルカメラは、地球の空中視点を有する。実施形態では、ユーザは、表示域200上の位置を選択することによって、標的を選択し得る。次いで、カメラは、図1に関して説明される急降下軌道を使用して、標的の地表視点まで急降下し得る。
地理情報システムは、クライアント・サーバコンピュータアーキテクチャを使用して動作させることができる。そのような構成では、ユーザインターフェース200は、クライアントマシーン上に存在する。クライアントマシーンは、プロセッサ、ローカルメモリ、ディスプレイ、ならびに、キーボード、マウス、および/またはジョイスティック等の1つ以上のコンピュータ入力デバイスを伴う、汎用コンピュータとなり得る。代替として、クライアントマシーンは、例えば、携帯電話機等の特殊コンピュータデバイスとなり得る。クライアントマシーンは、インターネット等の1つ以上のネットワーク上で1つ以上のサーバと通信する。クライアントマシーンと同様に、サーバは、クライアントにデータを供給することが可能な任意の汎用コンピュータを使用して実装することができる。地理情報システムクライアントのアーキテクチャを、図12に関してより詳細に説明する。
図3は、本発明の実施形態による、急降下ナビゲーションのための方法300を図示するフローチャートである。方法300は、ステップ302において標的を決定することによって開始する。標的は、図2の表示域202上のユーザ選択に従って決定され得る。標的がどのように決定されるかを、図4および5に関してより詳細に論議する。
ステップ304では、新しい急降下パラメータが決定され得、バーチャルカメラが再配置される。新しい急降下パラメータは、傾転と、方位角と、バーチャルカメラと標的との間の距離とを含み得る。実施形態では、バーチャルカメラと標的との間の距離は、対数的に縮小され得る。傾転角度は、縮小した距離に従って決定され得る。一実施形態では、バーチャルカメラは、標的まで平行移動し、傾転によってバーチャルカメラを傾斜し、新しい距離だけ標的から離れるように平行移動することによって、再配置され得る。ステップ304を、図3Bに関してより詳細に説明する。さらに、急降下パラメータを計算するための1つの可能な方法を、図7A−Cおよび図8A−Bに関して詳細に論議する。
カメラが再配置されると、地球の湾曲が転回を導入し得る。転回は、ユーザにとって方向感覚を失わせるものとなる場合がある。転回を低減するために、バーチャルカメラが、ステップ306で、地球の湾曲を補償するように回転させられる。回転を低減するためにカメラを回転させるステップを、図9に関してより詳細に論議する。
カメラを再配置し、回転させる際に、標的は、図2の表示域202上の異なる場所に出現し得る。表示域202上の標的の位置を変更することは、ユーザにとって方向感覚を失わせるものとなる場合がある。ステップ308では、地球のモデルを回転させることによって、表示域上の標的の投影が修復される。表示域投影を修復するステップを、図10に関してより詳細に論議する。
カメラが再配置され、モデルが回転させられると、地球に関するより詳細な情報が、GISクライアントにストリーム配信され得る。例えば、GISクライアントは、地形または建造物に関するより詳細な情報を受信し得る。別の実施例では、急降下軌道は、地形または建造物と衝突し得る。結果として、バーチャルカメラまたは標的の位置の調整が、ステップ310で行われ得る。地形データのストリーム配信による調整を、図11A−Bに関してより詳細に論議する。
最終的に、ステップ304から310は、決定ブロック312でバーチャルカメラが標的に近くなるまで繰り返される。一実施形態では、プロセスは、バーチャルカメラが標的の場所になるまで繰り返し得る。別の実施形態では、プロセスは、バーチャルカメラと標的との間の距離が閾値を下回るまで繰り返し得る。このように、バーチャルカメラは、標的を歪めるほど近くなりすぎることなく、標的の接近図を撮影する。
一実施形態では、方法300はまた、移動標的に向かってバーチャルカメラをナビゲートし得る。距離が標的の速度に従ってステップ302において縮小される場合、方法300は、特定距離を置いてバーチャルカメラに標的を追跡させ得る。
図3Bは、図3Aの方法300のステップ304をより詳細に示す。上述のように、ステップ304は、急降下パラメータを更新するステップと、急降下パラメータに従ってバーチャルカメラを再配置するステップとを含む。急降下パラメータは、傾転と、方位角と、バーチャルカメラと標的との間の距離とを含み得る。ステップ314では、バーチャルカメラが傾転される。言い換えれば、標的とバーチャルカメラとを接続する線分と、標的から上向きに方向付けられたべクトルとの間の角度が増加させられる。ステップ316では、バーチャルカメラの方位角が変更される。方位角に従って、カメラは、標的から上向きに方向付けられたべクトルの周りを回転させられる。最終的に、カメラは、標的から離れるように新しい距離を置くように配置される。新しい傾転、方位角、および距離値を計算するための1つの方法を、図7A−Cおよび図8A−Bに関して論議する。
図4−6、7A−C、8A−B、9−10、および11A−Bは、図3A−Bの方法300を詳述する。それらは、方法300の種々の代替実施形態を提供する。しかしながら、それらは方法300を限定するように意図されていない。
図4および5は、図3のステップ302で使用され得る、標的を決定するための方法を図示する概略図である。図4は、概略図400を示す。概略図400は、地球402のモデルを示す。概略図400はまた、バーチャルカメラの焦点406も示す。バーチャルカメラは、図2に関して説明されるように、情報を撮影するため、および表示するために使用される。バーチャルカメラは、焦点距離408およびビューポート410を有する。ビューポート410は、図2の表示域202に対応する。ユーザは、表示域202上の位置を選択し、該位置は、ビューポート410上の点412に対応する。
標的は、モデルとの交差点を決定するために、バーチャルカメラから射線を延在させることによって決定される。概略図400では、射線414が、点412を通って焦点406から延在する。射線414は、場所404においてモデル402と交差する。したがって、標的は、場所404におけるモデル402の一部分である。代替実施形態では、射線が、ビューポート410の中心を通って焦点406から延在させられ得る。
図5は、オプション機能に従って、図4で決定された標的場所を調整するステップを図示する。図5は、概略図500を示す。概略図500は、場所506におけるバーチャルカメラと、3次元モデル内の建造物502とを示す。射線が、場所506から建造物502に延在して交差点510を決定する。しかしながら、カメラの標的場所は、建造物502自体でなくてもよい。標的場所は、建造物502の視認を提供する、建造物502からオフセットされた場所であり得る。よって、標的は、場所508に設定される。バーチャルカメラは、軌道504に沿って場所506から場所508に急降下する。このように、バーチャルカメラは、垂直の空中視点から建造物502の水平の地表視点に移行する。
バーチャルカメラの開始位置は、垂直である必要はない。図6は、初期の非ゼロ傾転による急降下ナビゲーションを図示する概略図602を示す。概略図602は、初期傾転による場所602におけるバーチャルカメラを示す。バーチャルカメラは、軌道606に沿って場所602から場所604まで急降下する。
図3に関して上記で説明されるように、いったん標的場所が決定されると、急降下軌道におけるバーチャルカメラの次の位置を決定するために、ステップ306においていくつかの計算が行われる。具体的には、バーチャルカメラの新しい傾転、およびバーチャルカメラと標的との間の新しい縮小した距離が決定される。図7A−Cおよび図8A−Bは、縮小した距離および傾転がどのように決定されるかを図示する。図7Aは、傾転および縮小した距離を決定するための方法700を図示するフローチャートである。
方法700は、ステップ702で縮小した距離を対数的に決定することによって開始する。高い空中距離においては、ユーザにとって関心のデータがあまり多くない。しかしながら、カメラが地表に近づくにつれて、ユーザにとって関心のデータがより多くある。急降下軌道の高い空中部分を通して、迅速にバーチャルカメラを移動させるため、対数関数が有用である。しかしながら、対数関数は、地表に近づくにつれて、バーチャルカメラをよりゆっくりと移動させる。対数関数を使用する一実施形態では、距離が対数レベルに変換され得る。対数レベルは、変化パラメータによって増加させられ得る。次いで、対数レベルは、指数関数を使用して、距離に逆変換される。一連の式は、以下の通りであり得る。
L=−log(C*0.1)+4.0
L’=L+Δ
R=10*2(4.0−L’)
式中、Δは、変化パラメータであり、Lは、対数レベルであり、Cは、現在の距離であり、Rは、縮小した距離である。
いったん縮小した距離がステップ702で決定されると、距離に従って傾転が決定される。方法700は、傾転を決定するための2つの代替ステップを図示する。ステップ710では、絶対傾転関数を適用することによって、傾転が決定される。ステップ720では、増分傾転関数を適用することによって、傾転が決定される。
図7Bは、ステップ710の絶対傾転関数をより詳細に図示する。絶対傾転関数は、角距離に対する傾転を定義する。これには、所定の急降下軌道を作成する効果がある。ステップ712では、3つの距離値が対数レベルに変換される。対数レベルに変換される3つの距離は、(1)ステップ702で計算される標的までの縮小した距離、(2)急降下軌道の開始時の標的までの距離、および(3)図3のステップ312について説明されるような、急降下軌道を終了する閾値距離である。距離を対数レベルに変換するために使用される式は、以下の通りであり得る。
=−log(S*0.1)+4.0
=−log(T*0.1)+4.0
=−log(R*0.1)+4.0
式中、Sは、開始距離であり、Tは、閾値距離であり、Rは、縮小した距離であり、Lは、開始対数レベルであり、Lは、閾値対数レベルであり、Lは、縮小した距離の対数レベルである。
ステップ714では、対数レベル(L、L、L)、開始傾転値、および終了傾転値に基づいて、傾転値が補間される。非ゼロ開始傾転値を、図6に関して説明する。終了傾転値は、概して90度となり、それは地面と平行であり得る。実施例では、補間関数は、当業者にとって明白であるように、線形、2次、対数、または他の関数であり得る。線形補間関数例は、以下である。
Figure 2011519085
式中、αは、新しい傾転値であり、αは、終了傾転値であり、αは、開始傾転値であり、他の変数は、上記で説明されたように定義される。図3の方法300との関連で繰り返されると、絶対傾転関数は、所定の急降下軌道をもたらす。しかしながら、以降でより詳細に説明されるように、急降下軌道は、ストリーム配信地形または移動標的により、調整される必要がある。急降下軌道が調整される必要があり得る場合、ステップ720のような増分傾転関数が好まれ得る。
図7Cは、ステップ720における増分傾転関数をより詳細に図示する。増分傾転関数は、傾転の変化を計算し、変化に応じて現在の傾転を漸増する。ステップ722では、図7Bについて説明されるような絶対傾転関数が、現在の距離に適用される。絶対傾転関数は、第1の傾転値を戻す。ステップ724では、絶対傾転関数が再び適用される。このステップでは、絶対傾転関数は、ステップ702で計算される縮小した距離に適用される。結果として、絶対傾転関数は、第2の傾転値を戻す。
ステップ726では、ステップ722で決定された第1の傾転値およびステップ724で決定された第2の傾転値に従って、現在の傾転値が調整される。現在の傾転値は、新しい傾転値を決定するために、第2の傾転と第1の傾転との間の差だけ漸増される。使用される式は、以下であり得る。
α=α+α−α
式中、αは、現在の傾転であり、αは、現在の距離に基づいて計算される第1の傾転であり、αは、縮小した距離に基づいて計算される第2の傾転であり、αは、新しい傾転である。
図3の方法300との関連で繰り返されると、ステップ720で説明される増分傾転関数は、ストリーム配信地形、移動標的、または衝突に適合することができる急降下軌道をもたらす。しかしながら、静止標的があり、かつストリーム配信地形または衝突がなければ、増分傾転関数は、絶対傾転関数と同じ働きをし得る。
図7Aを再び参照すると、方位角値がステップ730で決定される。一実施形態では、方位角は、ステップ710に関して説明されるように、絶対値関数によって決定され得る。別の実施形態では、方位角値は、ステップ720に関して説明されるように、増分関数によって決定され得る。上記で説明されるように、増分関数は、ストリーム配信地形や衝突がある場合、または標的が動いている場合に、有利であり得る。
図8A−Bは、図7A−Cで説明された傾転関数が、どのように急降下軌道に影響を及ぼし得るかを、より詳細に説明する。図8Aは、カメラの傾転が標的までの距離にどのように対応するかを図示するチャート800を示す。チャート800は、関数802および関数804といった、2つの代替傾転関数を示す。関数802は、カメラ傾転と標的までの距離との間の線形対応を有する。関数802は、図1に図示されるような湾曲急降下軌道をもたらす。
図7A−Cに関して説明される傾転関数は、関数804により似ている。関数804は、バーチャルカメラが標的場所に近づくにつれて、傾転がより迅速に90度に近づくように定義される。カメラが傾転するにつれて、GISクライアントは、GISサーバからより多くのデータを要求する。カメラが標的に近づくにつれて、より迅速に傾転することによって、GISクライアントは、GISサーバからより少ないデータ要求を行い、したがって、コンピューティング資源を節約する。また、急降下軌道の終了に向かって傾転の大部分を発生させることにより、より満足のいくユーザ体験を提供し得る。関数804は、図8Bに示された急降下軌道をもたらし得る。
図8Bは、図7A−Cに関して説明される傾転および距離関数を使用した、急降下軌道例を図示する概略図850である。概略図850は、バーチャルカメラが、急降下軌道に沿って開始場所812から標的場所814にどのように進行するかを示す。急降下軌道は、第1の部分802および第2の部分804に関して説明される。図7Aに関して説明されるように、バーチャルカメラと標的場所との間の距離は、対数的に減少する。結果として、バーチャルカメラは、急降下軌道の部分802を通って迅速に進行する。これによって、ユーザは、広大なほぼ空の空間を通って、より迅速に進行する。しかしながら、バーチャルカメラが部分804を通って標的に近づくにつれて、バーチャルカメラは減速し始める。また、部分804では、バーチャルカメラが標的場所に近づくにつれて、傾転が90度により迅速に近づく。
上記のように、急降下軌道の終了に向かって傾転を集中させることにより、コンピューティング資源を節約する。一実施形態では、高トラフィック期間中に、サーバが急降下軌道を改変し得る。その実施形態では、サーバは、急降下軌道の終了に向かって傾転をさらに集中させるように、クライアントに信号伝達し得る。
図4に関して説明される実施形態では、ユーザが標的場所を選択し得る。その実施形態では、地球の湾曲が、バーチャルカメラを地球に対して転回させる場合がある。転回は、ユーザにとって方向感覚を失わせるものとなる場合がある。図9は、図3のステップ306で使用され得る、転回を低減するための方法を図示する概略図900および950を示す。
概略図900は、第1の場所906および第2の場所908におけるバーチャルカメラを示す。バーチャルカメラは、地球902のモデルの表面上の標的に向かって急降下している。モデル902は、実質的に球形であり、中心原点904を有する。バーチャルカメラが場所906から場所908に移動するにつれて、地球の湾曲が転回を引き起こす。転回を補償するために、カメラが回転させられ得る。
概略図950は、場所952まで回転させられたバーチャルカメラを示す。概略図950はまた、原点904を場所906と接続する線分956、および原点904を場所952と接続する線分954も示す。転回を補償するために、バーチャルカメラは、線分954と線分956との間の角度958によって回転させられ得る。代替実施形態では、バーチャルカメラは、ほぼ角度958によって回転させられ得る。
図9のバーチャルカメラの回転と、図7A−Cのバーチャルカメラの配置との間で、標的は、その画面空間投影を変化させ得る。言い換えれば、図2の表示域202中の標的の位置が変動し得る。表示域202中の標的の位置を変動することは、ユーザにとって方向感覚を失わせるものとなり得る。図10は、図3のステップ308で使用され得る、画面空間投影を修復するための方法を図示する概略図1000および1050を示す。
概略図1000は、焦点1002およびビューポート1004を伴うバーチャルカメラを示す。ビューポート1004は、図2の表示域202に対応する。バーチャルカメラは、地球のモデル1022の表面上の場所1008を伴う標的までの急降下軌道上にある。地球のモデル1022は、中心原点1024を有する。急降下軌道が開始すると、標的は、ビューポート1004上の位置1006の上に投影される。急降下軌道中に発生した回転および再配置により、標的は、ビューポート1004上の位置1010の上に投影される。位置1006から1010まで標的の投影を変更することは、ユーザにとって方向感覚を失わせるものとなり得る。
ユーザの方向感覚の損失を軽減するために、モデル1022は、標的の画面空間投影を修復するように回転させられ得る。概略図1000は、標的場所1008を焦点1002と接続する線分1014を示す。概略図1000はまた、焦点1002をビューポート1004上の位置1006と接続する線分1016も示す。実施形態では、地球は、ほぼ線分1014と線分1016との間の角度1012によって、原点1024の周りを回転させられ得る。
いったん地球が回転させられると、概略図1050に図示されるように、標的の画面空間投影が修復される。標的は、ビューポート1004上の位置1006の上に投影する場所1052にある。標的場所は、回転後に、地球のモデル上の同じ場所であることに留意されたい。しかしながら、モデルの回転は、バーチャルカメラに対して標的場所を変化させる。
図11A−Bは、図3のステップ310において使用され得る、ストリーム配信地形に合わせて調整するための方法を示す。図4に関して論議されたように、標的場所は、地球のモデルとの射線の交差点を見出すことによって決定される。バーチャルカメラが標的に近づいて急降下するにつれて、GISクライアントは、地球のモデルの地形に関するより詳細な情報を受信する。したがって、より多くの地形データが受信されるにつれて、モデルとの射線の交差点が変化し得る。よって、標的場所は、ストリーム配信地形データにより変化し得る。ストリーム配信地形データによる標的場所の変化は、図11Aに図示されている。
図11Aは、概略図1100を示す。概略図1100は、地球1108のモデル上の標的場所1104を示す。標的場所1104は、図4に関して説明されるように、射線とモデル1108との間の交差点を見出すことによって決定される。概略図1100はまた、標的場所1104に向かって急降下するバーチャルカメラも示す。バーチャルカメラは、第1の時点で場所1110にある。バーチャルカメラは、第2の時点で場所1112に再配置される。第3の時点で、バーチャルカメラは、場所1114に再配置される。その時点で、地形1102のデータがGISクライアントにストリーム配信される。GISクライアントは、標的場所1104が地形1102の下にあると判定する。したがって、標的は、地形1102より上側に再配置され得る。
標的は、いくつかの方法で再配置され得る。新しい標的場所は、図4のような射線およびモデルの交差点を再計算することによって決定され得る。代替として、新しい標的場所は、地形より上側になるように、古い標的場所の高度を増加させることによって決定され得る。概略図1110は、地形1102より上側に上昇するように、距離1116だけ標的場所1104を上昇させることによって決定される、新しい標的場所1106を示す。
いったん標的が再配置されると、急降下軌道が改変され得る。場所1110および1112において、概略図1100は、バーチャルカメラの傾転を示し、カメラと標的との間の距離は、標的場所1104に対して決定される。バーチャルカメラが場所1114にある場合、バーチャルカメラの傾転、およびカメラと標的との間の距離は、標的場所1106に対して決定される。傾転および距離値の変化は、急降下軌道を決定する、図7A−Cに関して論議される計算をもたらす。この理由により、ストリーム配信地形により標的場所を変更することによって、急降下軌道が改変され得る。
急降下軌道はまた、地形衝突により改変され得る。図11Bは、地形衝突による急降下軌道の改変を図示する概略図1150である。概略図1150は、標的場所1158までの経路1162に沿った、バーチャルカメラの急降下軌道を示す。バーチャルカメラが経路1162上の位置1160に到達すると、地形1152のデータがGISクライアントにストリーム配信する。クライアントは、軌道の残りの部分1154が地形1152と衝突すると判定し得る。結果として、地形1152との衝突を回避するように、急降下軌道が軌道1156に再計算され得る。このように、GISクライアントは、急降下軌道中に新しい地形を動的にストリーム受信し得る。GISクライアント例を、図12で詳細に説明する。
図12は、本発明の実施形態によるGISの例示的クライアント1200のアーキテクチャ図である。実施形態では、クライアント1200は、ユーザ相互作用モジュール1210と、ローカルメモリ1230と、キャッシュノードマネージャ1240と、レンダラモジュール1250と、ネットワークインターフェース1260と、ネットワークローダ1265と、表示インターフェース1280とを含む。図12に示されるように、ユーザ相互作用モジュール1210は、グラフィカルユーザインターフェース(GUI)1212と、運動モデル1218とを含む。ローカルメモリ1230は、視認仕様1232と、クアッドノードツリー1234とを含む。キャッシュノードマネージャ1240は、検索リスト1245を含む。
実施形態では、クライアント1200の構成要素は、例えば、クライアントマシーン上で作動するソフトウェアとして実装することができる。クライアント1200は、ユーザによる視認のために、地球の画像および他の地理情報/データをクライアント1200に届けるようにGISサーバ(図示せず)と相互作用する。一緒に、地球の画像および他の地理データは、3次元環境内において3次元モデルを形成する。実施形態では、相互から非同期的に(例えば、時間非依存的に)作動することができる機能に従って、ソフトウェアオブジェクトがグループ化される。
一般に、クライアント1200は、以下のように動作する。ユーザ相互作用モジュール1210は、ユーザが視認することを所望する場所に関するユーザ入力を受信し、運動モデル1218を介して、視認仕様1232を構築する。レンダラモジュール1250は、どのデータが引き出されるかを決定するために視認仕様1232を使用し、データを引き出す。キャッシュノードマネージャ1240は、制御の非同期スレッドにおいて作動し、ネットワークを介して遠隔サーバから取り出されるクアッドノードによってデータ投入することによって、クアッドノードツリー1234を構築する。
ユーザインターフェースモジュール1210の実施形態では、ユーザが、GUI1212を使用して位置情報を入力する。これは、例えば、視認仕様1232の生成をもたらす。視認仕様1232は、ローカルメモリ1230の中に配置され、そこでレンダラモジュール1250によって使用される。
運動モデル1218は、バーチャルカメラの位置および/または配向を調整するために、GUI1212を介して受信された位置情報を使用する。カメラは、例えば、地球の表示された3次元モデルを視認するために使用される。ユーザは、バーチャルカメラの観点から自分のコンピュータモニタ上に表示された3次元モデルを見る。実施形態では、運動モデル1218はまた、バーチャルカメラの位置、バーチャルカメラの配向、ならびにバーチャルカメラの水平および垂直視野に基づいて、視認仕様1232を決定する。
視認仕様1232は、錐台として知られている、3次元空間内のバーチャルカメラの視認可能容積と、例えば、3次元地図に対する、錐台の位置および配向とを画定する。実施形態では、錐台は、角錐台の形状である。錐台は、視認状況に応じて変化することができる、最小および最大視認距離を有する。3次元地図のユーザの視認が、GUI1212を使用して操作されるにつれて、錐台の配向および位置が3次元地図に対して変化する。したがって、ユーザ入力が受信されると、視認仕様1232が変化する。視認仕様1232は、ローカルメモリ1230の中に配置され、そこでレンダラモジュール1250によって使用される。
本発明の一実施形態によれば、視認仕様1232は、カメラ三脚、カメラレンズ、およびカメラ焦点能力といった、バーチャルカメラの3つの主要パラメータ集合を特定する。カメラ三脚パラメータ集合は、向かっている角度(例えば、北?、南?、その間?)、ピッチ(例えば、水平?、下?、上?、その間?)、および/またはヨー/転回(例えば、水平?、時計回り?、反時計回り?、その間?)等の、初期設定配向に対してバーチャルカメラがどちらに配向されるかである、X、Y、Z(3つの座標)といったバーチャルカメラ位置を特定する。レンズパラメータ集合は、水平視野(例えば、望遠?、通常の人間の目、すなわち約55度?、または広角度?)、および垂直視野(例えば、望遠?、通常の人間の目、すなわち約55度?、または広角度?)を特定する。焦点パラメータ集合は、近クリップ平面までの距離(例えば、より近い被写体が引き寄せられていない場合に、「レンズ」のどれだけ近くでバーチャルカメラが見ることができるか)、および遠クリップ平面までの距離(例えば、より遠い被写体が引き寄せられていない場合に、レンズからどれだけ遠くでバーチャルカメラが見ることができるか)を特定する。
1つの動作例において、上記のカメラパラメータを念頭に置いて、ユーザが左矢印(または右矢印)キーを押すと仮定されたい。これは、視野が左(または右)に移動するべきであることを運動モデル1218に信号伝達する。運動モデル1218は、向かっている角度に小さい値(例えば、矢印キーの押下につき1度)を加算(または減算)することによって、そのような地表レベルの「カメラをパンする」種類の制御を実装する。同様に、バーチャルカメラを前方に移動させるために、運動モデル1218は、最初に、視認方向に沿った単位長さのべクトル(HPR)を計算し、所望の運動速度によって各従属構成要素を縮小拡大した後に、このべクトルのX、Y、Z従属構成要素をカメラの位置に加算することによって、バーチャルカメラの位置のX、Y、Z座標を変更する。このように、および同様に、運動モデル1218は、「移動直後」の新しい視認位置を画定するために、XYZおよびHPRを漸増的に更新することによって、視認仕様1232を調整する。このようにして、運動モデル1218は、3次元環境を通してバーチャルカメラをナビゲートすることに関与する。
運動モジュール1218はまた、急降下ナビゲーションのための処理も行う。急降下ナビゲーション処理のために、運動モジュール1218は、傾転計算機モジュール1290、標的モジュール1292、ポジショナモジュール1294、転回補償器モジュール1294、地形調整器モジュール1298、画面空間モジュール1288、およびコントローラモジュール1286といった、いくつかのサブモジュールを含む。コントローラモジュール1286は、サブモジュールを起動して急降下ナビゲーションを制御する。実施形態では、急降下ナビゲーション構成要素は、図3に関して説明されるように動作し得る。
標的モジュール1292は、標的を決定する。実施形態では、標的モジュール1292は、図4−5に関して説明されたように動作し得る。標的モジュール1292は、最初に、ユーザによって選択される点を通して、バーチャルカメラの焦点から射線を延在させることによって標的を決定する。次いで、標的モジュール1292は、射線とクアッドノードツリー1234に記憶されるような3次元モデルとの間の交差点を決定する。最終的に、標的モジュール1292は、交差的における3次元モデル内の標的を決定する。
傾転計算機モジュール1290は、急降下パラメータを更新する。傾転計算機モジュール1290は、起動されると、距離、方位角、および傾転の計算を行う。傾転計算機モジュール1290は、例えば、関数呼び出しによって起動され得る。呼び出されると、傾転計算機モジュール1290は、最初に、バーチャルカメラと3次元環境内における標的との間の距離を決定する。次いで、傾転計算機モジュール1290は、縮小した距離を決定する。傾転計算機モジュール1290は、図7Aに関して説明されるように、対数的に距離を縮小し得る。最終的に、傾転計算機モジュール1290は、縮小した距離の関数として傾転を決定する。傾転計算機は、絶対傾転関数(図7Bについて説明されたような)または増分傾転関数(図7Cについて説明されたような)を使用して、傾転を決定し得る。
傾転計算機モジュール1290は、バーチャルカメラが標的に近づくにつれて、傾転がより迅速に90度に近づくように、傾転を計算する。カメラが傾転するにつれて、レンダラモジュール1250は、ローカルメモリの中のクアッドノードツリー1234にキャッシュされる可能性が低い、より多くのデータを必要とする。結果として、キャッシュノードマネージャ1240が、GISサーバからより多くのデータを要求しなければならない。バーチャルカメラが標的に近づくにつれて、より迅速に傾転することによって、キャッシュノードマネージャ1240は、GISサーバからより少ないデータ要求を行う。傾転計算機モジュール1290はまた、上記で説明されるように方位角を計算し得る。
起動されると、ポジショナモジュール1294は、標的モジュール1292によって決定される標的場所と、傾転計算機モジュール1290によって決定される傾転および縮小した距離とに従って、バーチャルカメラを再配置する。ポジショナモジュール1294は、例えば、関数呼び出しによって起動され得る。ポジショナモジュール1294は、標的の中へバーチャルカメラを平行移動させ、傾転に合致するようにバーチャルカメラを傾斜させ、縮小した距離だけ標的から離れるようにバーチャルカメラを平行移動させることによって、バーチャルカメラを再配置し得る。一実施例では、ポジショナモジュール1294は、図3のステップ306−310に関して説明されるように動作し得る。
ポジショナモジュール1294がバーチャルカメラを再配置すると、地球の湾曲がバーチャルカメラを地球のモデルに対して転回させる場合がある。起動されると、転回補償器モジュール1296は、転回を低減するようにカメラを回転させる。転回補償器モジュール1296は、例えば、関数呼び出しによって起動され得る。転回補償器モジュール1296は、図9に関して説明されるようにカメラを回転させ得る。
ポジショナモジュール1294がバーチャルカメラを再配置し、転回補償器モジュール1296がカメラを回転させると、標的がその画面空間投影を変更する場合がある。標的の画面空間投影を変更することは、ユーザにとって方向感覚を失わせるものとなる場合がある。起動されると、画面空間モジュール1288は、地球のモデルを回転させて、標的の画面空間投影を修復する。画面空間モジュール1288は、図10に関して説明されるように地球を回転させ得る。
ポジショナモジュール1294がバーチャルカメラを地球のモデルに近づけるにつれて、レンダラモジュール1250が、地形データを含む、より詳細なモデルデータを要求する。より詳細な地理データの要求は、キャッシュノードマネージャ1240からGISサーバに送信される。GISサーバは、地形データを含む、より詳細な地理データを、GISクライアント1200にストリーム配信する。キャッシュノードマネージャ1240は、より詳細な地理データをクアッドノードツリー1234に保存する。したがって、効果的に、クアッドノードツリー1230に記憶された地球のモデルが変化させる。標的の場所を決定したとき、標的モジュール1292は、クアッドノードツリー1230の中の以前のモデルを使用している。この理由により、地形調整器モジュール1298は、図11Aに関して説明されるように、標的の場所を調整しなければならない場合がある。さらに、ポジショナモジュール1294によって計算される急降下軌道は、地形と衝突する場合がある。よって、地形調整器モジュール1298は、図11Bに関して説明されるように、急降下軌道も調整しなければならない場合もある。地形調整器モジュール1298は、例えば、関数呼び出しによって起動され得る。
レンダラモジュール1250は、表示デバイスのビデオリフレッシュ速度に対応するサイクル(例えば、毎秒60サイクル)を有する。1つの特定の実施形態では、レンダラモジュール1250は、(i)起動するステップ、(ii)レンダラによってアクセスされるデータ構造内に運動モデル1218によって設置された視認仕様1232を読み出すステップ、(iii)ローカルメモリ1230の中のクアッドノードツリー1234を詳しく検討するステップ、および(iv)クアッドノードツリー1234に存在するクアッドノードに含有される、描画可能なデータを描画ステップのサイクルを実施する。描画可能なデータは、有界ボックス(例えば、データまたは他のそのような識別子を含有する容量)と関連し得る。存在する場合、有界ボックスは、描画可能なデータが視認仕様1232内で潜在的に可視的であるかどうかを確認するように点検される。潜在的可視データが描画される一方で、可視的ではないことが分かっているデータは無視される。したがって、レンダラは、以下でさらに十分に説明されるように、クアッドノードツリー1234に存在するクアッドノードの描画可能なペイロードが描画されないかどうかを決定するために、視認仕様1232を使用する。
最初に、本発明の一実施形態によれば、クアッドノードツリー1234内には描画されるデータがなく、レンダラモジュール1250は、初期設定(または他の初期設定表示画像)により星野を描く。クアッドノードツリー1234は、この星野を除いてレンダラ1250が行う描画のためのデータソースである。レンダラモジュール1250は、クアッドノードツリー1234に存在する各クアッドノードにアクセスしようとすることによって、クアッドノードツリー1234を詳しく検討する。各クアッドノードは、最大4つの参照と、データの随意的なペイロードとを有する、データ構造である。クアッドノードのペイロードが描画可能なデータである場合、レンダラモジュール1250は、視認仕様1232に対してペイロード(もしあれば)の有界ボックスを比較し、描画可能なデータが完全に錐台の外側になく、他の要因に基づいて描画することが不適切と見なされない限り、それを描画する。これらの他の要因は、例えば、カメラからの距離、傾転、または他のそのような考慮事項を含み得る。ペイロードが完全に錐台の外側になく、引き出すことが不適切と見なされない場合、レンダラモジュール1250はまた、クアッドノードの中の最大4つの参照のそれぞれにアクセスしようとする。参照がローカルメモリ(例えば、メモリ1230または他のローカルメモリ)の中の別のクアッドノードに対するものである場合、レンダラモジュール1250は、その他のクアッドノードの中の任意の描画可能なデータにアクセスしようとし、また、潜在的に、その他のクアッドノードの中の最大4つの参照のうちのいずれかにアクセスしようとする。クアッドノードの最大4つの参照のそれぞれにアクセスするレンダラモジュールの試行は、クアッドノード自体によって検出される。
以前に説明されているように、クアッドノードは、データのペイロードと、他のファイルに対する最大4つの参照とを有し得る、データ構造であり、参照のそれぞれは順に、クアッドノードであり得る。クアッドノードによって参照されるファイルは、本明細書では、そのクアッドノードの子と呼ばれ、参照クアッドノードは、本明細書では、親と呼ばれる。場合によっては、ファイルが、参照された子だけでなく、その子の子孫も含有する。これらの集合体は、キャッシュノードとして知られており、いくつかのクアッドノードを含み得る。そのような集合は、データベース構築の経過中に行われる。場合によっては、データのペイロードは空である。他のファイルに対する参照は、例えば、ファイル名と、もしあれば、そのファイルに対するローカルメモリの中の対応アドレスとを備える。最初に、参照されたファイルは、全て1つ以上の遠隔サーバ上(例えば、GISのサーバ上)に記憶され、ユーザのコンピュータ上には描画可能なデータが存在しない。
クアッドノードおよびキャッシュノードは、内蔵アクセス機構機能である。以前に説明されているように、クアッドノードの最大4つの参照のそれぞれにアクセスするレンダラモジュールの試行は、クアッドノード自体によって検出される。レンダラモジュールが、ファイル名を有するが対応アドレスがない、子クアッドノードにアクセスしようとすると、親クアッドノードが、キャッシュノード検索リスト1245上に、そのファイル名を設置する(例えば、そのアクセス機構機能の動作によって)。キャッシュノード検索リストは、GISサーバからダウンロードされるキャッシュノードを識別する情報のリストを備える。クアッドノードの子が、空値ではないローカルアドレスを有する場合、レンダラモジュール1250は、子クアッドノードにアクセスするために、ローカルメモリ1230の中のそのアドレスを使用する。
クアッドノードは、描画可能なペイロードを伴うクアッドノードが、それらのペイロード内に有界ボックスまたは他の位置識別子を含み得るように、構成される。レンダラモジュール1250は、クアッドノードペイロード(もしあれば)の有界ボックス/位置識別子を視認仕様1232と比較する、視認錐台選択を行う。有界ボックスが視認仕様1232から完全に外れている(例えば、描画可能なデータのいずれも錐台内にない)場合に、描画可能なデータのペイロードは、たとえGISサーバからすでに取り出され、ユーザのコンピュータ上に記憶されていても、描画されない。そうでなければ、描画可能なデータが描画される。
視認錐台選択は、レンダラモジュール1250がクアッドロードの子を詳細しく検討する前に、そのクアッドノードペイロードの有界ボックス(もしあれば)が視認仕様1232から完全に外れているか否かを決定する。クアッドノードの有界ボックスが視認仕様1232から完全に外れている場合、レンダラモジュール1250は、そのクアッドノードの子にアクセスしようとしない。子クアッドノードは、決してその親クアッドノードの有界ボックスを超えて延在しない。したがって、親クアッドノードペイロードが視認仕様から完全に外れていると、いったん視認錐台選択が決定すると、そのクアッドノードの全子孫も視認仕様1232から完全に外れていると仮定することができる。
クアッドノードおよびキャッシュノードペイロードは、種々の種類のデータを含有し得る。例えば、キャッシュノードペイロードは、衛星画像、テキストラベル、政治的境界、道路をレンダリングするための点、線、または多角形接続を同伴した3次元頂点、および他の種類のデータを含有することができる。任意のクアッドノードペイロードの中のデータの量は、最大値に限定される。しかしながら、場合によっては、特定の分解能で領域を表すために必要とされるデータの量が、この最大値を超える。ベクトルデータの処理等の、それらの場合において、データの一部は、親ペイロードに含有され、同じ分解能における残りのデータは、子のペイロードに(および、おそらく子の子孫内にさえも)含有される。また、子が、より高い分解能または親と同じ分解能のデータを含有し得る場合があり得る。例えば、親ノードが、親と同じ分解能の2つの子と、その親とは異なる(例えば、より高い)分解能の2つの付加的な子とを有する場合がある。
キャッシュノードマネージャ1240のスレッド、および1つ以上のネットワークローダ1265のスレッドのそれぞれは、レンダラモジュール1250およびユーザ相互作用モジュール1210とは非同期的に動作する。レンダラモジュール1250およびユーザ相互作用モジュール1210はまた、相互とは非同期的に動作することもできる。いくつかの実施形態では、8つもの数のネットワークローダ1265のスレッドが独立して実行され、それぞれ、レンダラモジュール1250およびユーザ相互作用モジュール1210とは非同期的に動作する。キャッシュノードマネージャ1240のスレッドは、GISサーバから取り出されるクアッドノードでデータ投入することによって、ローカルメモリ1230の中のクアッドノードツリー1234を構築する。クアッドノードツリー1234は、クライアントシステムが起動あるいは始動されると、ルートノードから開始する。ルートノードは、ファイル名を含み(しかし対応するアドレスは含まない)、データペイロードを含まない。以前に説明されているように、このルートノードは、初めてレンダラモジュール1250によって詳しく検討された後に、キャッシュノード検索リスト1245に自己報告するために、内蔵アクセス機構機能を使用する。
各ネットワークローダ1265のスレッドにおいて、ネットワークローダは、キャッシュノード検索リスト1245(図12に示された実施形態では、キャッシュノードマネージャ1240に含まれるが、ローカルメモリ1230または他の記憶装置等の他の場所に位置することもできる)を詳しく検討し、キャッシュノードのファイル名を使用して、GISサーバから次のキャッシュノードを要求する。ネットワークローダは、キャッシュノード検索リスト上に出現するファイルを要求するのみである。キャッシュノードマネージャ1240は、親クアッドノードの子孫である1つ以上の新しいクアッドノードに編成される、返送ファイルに対するローカルメモリ1230(または他の好適な記憶装置)の中の空間を割り当てる。キャッシュノードマネージャ1240はまた、必要であれば(例えば、サーバ側の暗号化または圧縮を補完するために)、GISサーバから返送されたデータファイルを解読または解凍することもできる。キャッシュノードマネージャ1240は、それぞれの新たに構築された子クアッドノードに対するローカルメモリ1230のアドレスに対応するアドレスで、クアッドノードツリー1234の中の親クアッドノードを更新する。
レンダラモジュール1250において別個かつ非同期的に、クアッドノードツリー1234を次に詳しく検討し、更新された親クアッドノードを詳しく検討すると、レンダラモジュール1250は、子クアッドノードに対応するローカルメモリの中のアドレスを見出し、子クアッドノードにアクセスすることができる。レンダラによる子クアッドノードの詳細検討は、親クアッドノードについて従われる同じステップに従って進行する。これは、以前に説明されているように、視認仕様1232から完全に外れているか、または他の要因に基づいて引き出すことが不適切と見なされるノードに到達するまで、クアッドノードツリー1234を通して継続する。
この特定の実施形態では、キャッシュノードマネージャスレッドによって書き込まれるか、あるいは提供されるクアッドノードのレンダラモジュールによる読み出し以外に、キャッシュノードマネージャスレッドとレンダラモジュール1250との間の通信がないことに留意されたい。さらに、この特定の実施形態では、以前に説明されているように、返送された子が、視認仕様1232から完全に外れているか、あるいは引き出すのに不適切なペイロードのみを含有するまで、キャッシュノード、したがって、クアッドノードがダウンロードされ続ける。ネットワークインターフェース1260(例えば、ネットワークインターフェースカードまたは受信機)は、クライアントからの通信がネットワーク上で送信されることを可能にするように、および遠隔サーバから通信がクライアントによって受信されることを可能にするように構成される。同様に、表示インターフェース1280(例えば、表示インターフェースカード)は、ユーザがデータを視認することができるように、マッピングモジュールからのデータが、ユーザのコンピュータと関連するディスプレイに送信されることを可能にするように構成される。ネットワークインターフェース1260および表示インターフェース1280のそれぞれは、従来の技術で実装することができる。
概要および要約の項ではなく、発明を実施するための形態の項は、請求項を解釈するために使用されることを目的とすると理解されたい。概要および要約の項は、本発明者らによって検討されるような本発明の全てではないが1つ以上の例示的実施形態を記載してもよく、したがって、決して本発明および添付の請求項を限定することを目的としない。
その特定機能および関係の実装を図示する、機能的構成要素を用いて、本発明を上記で説明した。これらの機能的構成要素の境界は、説明の便宜上、本明細書では任意に画定した。その特定機能および関係が適切に実施される限り、代替的境界を画定することができる。
具体的実施形態の先述の説明は、本発明の一般概念から逸脱することなく、必要以上の実験を伴わずに、当技術分野内の知識を適用することによって、他者がそのような具体的実施形態を容易に修正し、および/または種々の用途に適合させることができる、本発明の一般的性質を完全に明らかにする。したがって、そのような適合および修正は、本明細書で提示される教示および指導に基づいて、開示された実施形態の同等物の意味および範囲内となることを目的とする。本明細書の用語または表現が、教示および指導に照らして当業者によって解釈されるものであるように、本明細書の表現または用語は、限定ではなく説明の目的によるものであることを理解されたい。
本発明の幅および範囲は、上記の例示的実施形態のうちのいずれによっても限定されるべきではないが、以下の請求項およびそれらの同等物のみに従って定義されるべきである。

Claims (33)

  1. 3次元環境内においてバーチャルカメラをナビゲートするためのコンピュータ実装方法であって、
    (A)該3次元環境内における標的を決定することと、
    (B)バーチャルカメラの第1の場所と該3次元環境内における該標的との間の距離を決定することと、
    (C)縮小した距離を決定することと、
    (D)該縮小した距離に従って傾転を決定することと、
    (E)該傾転、該縮小した距離、および該標的に従って決定される第2の場所に該バーチャルカメラを配置することであって、該バーチャルカメラの該位置は、一式のパラメータによって画定される、ことと
    を含む、方法。
  2. (F)前記バーチャルカメラと前記標的との間の前記距離が閾値を下回るまで、ステップ(B)からステップ(E)までを繰り返すことをさらに含む、請求項1に記載の方法。
  3. 前記ステップ(D)の決定することは、前記縮小した距離の関数として前記傾転を決定することを含み、該関数は、該縮小した距離がゼロに近づくにつれて、該傾転が90度に近づくように定義される、請求項2に記載の方法。
  4. 前記ステップ(D)の決定することは、前記縮小した距離の前記関数を使用して前記傾転を決定することをさらに含み、該関数は、前記距離が減少するにつれて、該傾転がより迅速に90度に近づくように定義される、請求項3に記載の方法。
  5. 前記ステップ(E)の配置することは、
    (1)前記標的の中へ前記バーチャルカメラを平行移動させることと、
    (2)前記傾転に合致するように該バーチャルカメラに角度を付けることと、
    (3)前記縮小した距離だけ該標的の外へ該バーチャルカメラを平行移動させることと
    を含む、請求項3に記載の方法
  6. 前記ステップ(A)の決定することは、
    (1)ユーザによって選択される点を通して、前記バーチャルカメラの焦点から射線を延在させることと、
    (2)該射線と前記3次元環境内における3次元モデルとの間の交差点を決定することと、
    (3)該交差点において該3次元環境内における標的を決定することと
    を含む、請求項3に記載の方法。
  7. 前記ステップ(E)の配置することは、転回を低減または排除するように前記カメラを回転させることを含む、請求項6に記載の方法。
  8. 前記回転させることは、前記第1の場所と前記3次元モデル内における地球のモデルの中心とを接続する第1の線分と、前記第2の場所と該地球のモデルの該中心とを接続する第2の線分との間の角度によって、前記カメラを回転させることを含む、請求項7に記載の方法。
  9. (F)前記バーチャルカメラが前記第1の場所および前記第2の場所にあるときに、前記標的が該バーチャルカメラのビューポート上の同じ点の上に投影するように、前記3次元環境内における地球のモデルを回転させることと、
    (G)該バーチャルカメラと該標的との間の前記距離が閾値を下回るまで、ステップ(B)からステップ(F)までを繰り返すことと
    をさらに含む、請求項1に記載の方法。
  10. 前記ステップ(F)の回転させることは、前記第1の場所と前記3次元モデル内における地球のモデルの中心とを接続する第1の線分と、前記第2の場所と該地球のモデルの該中心とを接続する第2の線分との間の角度によって、前記傾転の方向に、該地球のモデルを回転させることを含む、請求項9に記載の方法。
  11. (F)前記バーチャルカメラの前記位置が前記3次元環境内における3次元モデルの地形より上側にあるように、該バーチャルカメラを再配置することと、
    (G)該バーチャルカメラと前記標的との間の前記距離が閾値を下回るまで、ステップ(B)からステップ(F)までを繰り返すことと
    をさらに含む、請求項1に記載の方法。
  12. 前記ステップ(A)の決定することは、
    (F)前記標的の前記位置が前記3次元環境内における3次元モデルの地形より上側にあるように、該標的を再配置することと、
    (G)前記バーチャルカメラと該標的との間の前記距離が閾値を下回るまで、ステップ(B)からステップ(F)までを繰り返すことと
    を含む、請求項1に記載の方法。
  13. 前記ステップ(C)の決定することは、前記距離を対数的に縮小することを含む、請求項1に記載の方法。
  14. 3次元環境内においてバーチャルカメラをナビゲートするためのシステムであって、
    該3次元環境内における標的を決定する、標的モジュールと、
    起動されると、バーチャルカメラの第1の場所と該3次元環境内における該標的との間の距離を決定し、縮小した距離を決定し、および該縮小した距離の関数として傾転を決定する、傾転計算機モジュールと、
    起動されると、該傾転、該縮小した距離、および該標的に従って決定される第2の場所に該バーチャルカメラを配置する、ポジショナモジュールであって、該バーチャルカメラの該位置は、一式のパラメータによって画定される、ポジショナモジュールと、
    該バーチャルカメラと該標的との間の該距離が閾値を下回るまで、該傾転計算機モジュールおよび該ポジショナモジュールを繰り返し起動する、コントローラモジュールと
    を備えている、システム。
  15. 前記傾転を決定するために前記傾転計算機によって使用される前記関数は、前記縮小した距離がゼロに近づくにつれて、該傾転が90度に近づくように定義される、請求項14に記載のシステム。
  16. 前記傾転を決定するために前記傾転計算機によって使用される前記関数は、前記縮小した距離がゼロに近づくにつれて、該傾転がより迅速に90度に近づくように、定義される、請求項15に記載のシステム。
  17. 前記ポジショナモジュールは、前記標的の中へ前記バーチャルカメラを平行移動させ、前記傾転に合致するように該バーチャルカメラを傾斜させ、前記縮小した距離だけ該標的の外へ該バーチャルカメラを平行移動させる、請求項16に記載のシステム。
  18. 前記標的モジュールは、ユーザによって選択される点を通して、前記バーチャルカメラの焦点から射線を延在させ、該射線と前記3次元環境内における3次元モデルとの間の交差点を決定し、該交差点で該3次元環境内における標的を決定する、請求項17に記載のシステム。
  19. 転回を低減または排除するように前記カメラを回転させる、転回補償器モジュールをさらに備えており、
    前記コントローラモジュールは、前記バーチャルカメラと前記標的との間の前記距離が閾値を下回るまで、該転回補償器モジュールを繰り返し起動する、請求項18に記載のシステム。
  20. 前記転回補償器モジュールは、前記第1の場所と前記3次元モデル内における地球のモデルの中心とを接続する第1の線分と、前記第2の場所と該地球のモデルの該中心とを接続する第2の線分との間の角度によって、前記カメラを回転させる、請求項19に記載のシステム。
  21. 起動されると、前記バーチャルカメラが前記第1の場所および前記第2の場所にあるときに、前記標的が該バーチャルカメラのビューポート上の同じ点の上に投影するように前記3次元環境内における地球のモデルを回転させる、画面空間モジュールをさらに備えており、
    前記コントローラモジュールは、該バーチャルカメラと該標的との間の前記距離が閾値を下回るまで、該モデルモジュールを繰り返し起動する、請求項18に記載のシステム。
  22. 前記画面空間モジュールは、前記第1の場所と前記3次元モデル内における地球のモデルの中心とを接続する第1の線分と、前記第2の場所と該地球のモデルの該中心を接続する第2の線分との間の角度によって、前記傾転の方向に、該地球のモデルを回転させる、請求項21に記載のシステム。
  23. 起動されると、前記バーチャルカメラの前記位置が前記3次元環境内における3次元モデルの地形より上側にあるように該バーチャルカメラを再配置する、地形調整器モジュールをさらに備えており、
    前記コントローラモジュールは、該バーチャルカメラと前記標的との間の前記距離が閾値を下回るまで、該地形調整器モジュールを繰り返し起動する、請求項14に記載のシステム。
  24. 起動されると、前記標的の前記位置が前記3次元環境内における3次元モデルの地形より上側にあるように前記標的を再配置する、地形調整器モジュールをさらに備えており、
    前記コントローラモジュールは、前記バーチャルカメラと該標的との間の前記距離が閾値を下回るまで、該地形調整器モジュールを繰り返し起動する、請求項14に記載のシステム。
  25. 前記傾転計算機モジュールは、前記距離を対数的に縮小する、請求項14に記載のシステム。
  26. 3次元環境内においてバーチャルカメラをナビゲートするためのコンピュータ実装方法であって、
    (A)該3次元環境内における標的を決定することと、
    (B)該バーチャルカメラの急降下パラメータであって、該標的から上向きに方向付けられたべクトルに対する傾転値と、該ベクトルに対する方位角値と、該標的と該バーチャルカメラとの間の距離値とを含む、急降下パラメータを更新することと、
    (C)該急降下パラメータによって画定される新しい場所に該バーチャルカメラを配置することと
    を含む、方法。
  27. (D)前記バーチャルカメラが前記新しい場所にあるときに、前記標的が該バーチャルカメラのビューポート上の同じ点の上に投影するように、前記3次元環境内における地球のモデルを回転させることをさらに含む、請求項26に記載の方法。
  28. 前記ステップ(A)の決定することは、
    (1)ユーザによって選択される点を通して、前記バーチャルカメラの焦点から射線を延在させることと、
    (2)該射線と前記3次元環境内における3次元モデルとの間の交差点を決定することと、
    (3)該交差点において該3次元環境内における標的を決定することと
    を含む、請求項26に記載の方法。
  29. 前記ステップ(C)の配置することは、転回を低減または排除するように前記バーチャルカメラを回転させることを含む、請求項26に記載の方法。
  30. 3次元環境内においてバーチャルカメラをナビゲートするためのシステムであって、
    該3次元環境内における標的を決定する、標的モジュールと、
    該バーチャルカメラの急降下パラメータであって、該標的から上向きに方向付けられたべクトルに対する傾転値と、該ベクトルに対する方位角値と、該標的と該バーチャルカメラとの間の距離値とを含む、急降下パラメータを更新する、傾転計算機モジュールと、
    該急降下パラメータによって画定される新しい場所に該バーチャルカメラを配置する、ポジショナモジュールと
    を備えている、システム。
  31. 3次元環境内においてバーチャルカメラをナビゲートするためのシステムであって、
    該3次元環境内における標的を決定する手段と、
    バーチャルカメラの第1の場所と該3次元環境内における該標的との間の距離を決定する手段と、
    縮小した距離を決定する手段と、
    該縮小した距離に従って傾転を決定する手段と、
    該傾転、該縮小した距離、および該標的に従って決定される第2の場所に該バーチャルカメラを配置する手段であって、該バーチャルカメラの該位置は、一式のパラメータによって画定される、手段と
    を備える、システム。
  32. 3次元環境内においてバーチャルカメラをナビゲートするためのシステムであって、
    該3次元環境内における標的を決定する手段と、
    バーチャルカメラの第1の場所と該3次元環境内における該標的との間の距離を決定する手段と、
    縮小した距離を決定する手段と、
    該縮小した距離に従って傾転を決定する手段と、
    該傾転、該縮小した距離、および該標的に従って決定される第2の場所に該バーチャルカメラを配置する手段であって、該バーチャルカメラの該位置は、一式のパラメータによって画定される、手段と
    を備えている、システム。
  33. その上にコンピュータ実行可能命令が記憶されている、有形のコンピュータ可読媒体であって、該コンピュータ実行可能命令が、コンピュータデバイスによって実行されると、
    (A)3次元環境内における標的を決定することと、
    (B)バーチャルカメラの第1の場所と該3次元環境内における該標的との間の距離を決定することと、
    (C)縮小した距離を決定することと、
    (D)該縮小した距離に従って傾転を決定することと、
    (E)該傾転、該縮小した距離、および該標的に従って決定される第2の場所に該バーチャルカメラを配置することであって、該バーチャルカメラの該位置は、一式のパラメータによって画定される、ことと
    を含む、方法を該コンピュータデバイスに行わせる、有形コンピュータ可読媒体。
JP2011505013A 2008-04-14 2009-04-14 急降下ナビゲーション Active JP5507541B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US4474408P 2008-04-14 2008-04-14
US61/044,744 2008-04-14
PCT/US2009/002309 WO2009128899A1 (en) 2008-04-14 2009-04-14 Swoop navigation

Publications (2)

Publication Number Publication Date
JP2011519085A true JP2011519085A (ja) 2011-06-30
JP5507541B2 JP5507541B2 (ja) 2014-05-28

Family

ID=40823391

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011505013A Active JP5507541B2 (ja) 2008-04-14 2009-04-14 急降下ナビゲーション

Country Status (8)

Country Link
US (1) US20090259976A1 (ja)
EP (1) EP2279497B1 (ja)
JP (1) JP5507541B2 (ja)
KR (1) KR101580979B1 (ja)
CN (1) CN102067179A (ja)
AU (1) AU2009236690B2 (ja)
CA (1) CA2721219A1 (ja)
WO (1) WO2009128899A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018160260A (ja) * 2012-10-16 2018-10-11 ジョン、ジェ ウンJEON, Jae Woong 3次元の仮想空間内で仮想カメラを制御するための方法、システムおよびコンピュータ読取可能な記録媒体
JPWO2020230249A1 (ja) * 2019-05-13 2020-11-19

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE202009019125U1 (de) * 2008-05-28 2016-12-05 Google Inc. Bewegungsgesteuerte Ansichten auf mobilen Computergeräten
US20100045666A1 (en) * 2008-08-22 2010-02-25 Google Inc. Anchored Navigation In A Three Dimensional Environment On A Mobile Device
US8665259B2 (en) * 2009-04-16 2014-03-04 Autodesk, Inc. Multiscale three-dimensional navigation
US8665260B2 (en) * 2009-04-16 2014-03-04 Autodesk, Inc. Multiscale three-dimensional navigation
US8933925B2 (en) * 2009-06-15 2015-01-13 Microsoft Corporation Piecewise planar reconstruction of three-dimensional scenes
CN102313554B (zh) * 2010-06-30 2014-04-16 株式会社电装 车载导航系统
US8780174B1 (en) 2010-10-12 2014-07-15 The Boeing Company Three-dimensional vision system for displaying images taken from a moving vehicle
USD654930S1 (en) 2010-11-17 2012-02-28 Microsoft Corporation Display screen with an animated user interface
DE202011110906U1 (de) * 2010-11-24 2017-02-27 Google Inc. Bahnplanung für die Navigation auf Strassenniveau in einer dreidimensionalen Umgebung und Anwendungen davon
US8675049B2 (en) 2011-06-09 2014-03-18 Microsoft Corporation Navigation model to render centered objects using images
US9508002B2 (en) * 2011-06-14 2016-11-29 Google Inc. Generating cinematic flyby sequences following paths and GPS tracks
US20150178972A1 (en) * 2011-06-14 2015-06-25 Google Inc. Animated Visualization of GPS Data in a GIS System
US8890863B1 (en) * 2011-08-12 2014-11-18 Google Inc. Automatic method for photo texturing geolocated 3-D models from geolocated imagery
US9189891B2 (en) * 2011-08-16 2015-11-17 Google Inc. Systems and methods for navigating a camera
US9019279B1 (en) 2011-10-04 2015-04-28 Google Inc. Systems and method for navigating between a nadir view and an oblique view of a map
US8994738B1 (en) 2011-10-04 2015-03-31 Google Inc. Systems and method for navigating between oblique views of a map
US8767011B1 (en) * 2011-10-17 2014-07-01 Google Inc. Culling nodes over a horizon using conical volumes
US20130293683A1 (en) * 2012-05-03 2013-11-07 Harman International (Shanghai) Management Co., Ltd. System and method of interactively controlling a virtual camera
US9092900B2 (en) 2012-06-05 2015-07-28 Google Inc. Terrain-based virtual camera tilting, and applications thereof
US8650220B2 (en) 2012-06-05 2014-02-11 Google Inc. System and method for storing and retrieving geospatial data
US9025860B2 (en) 2012-08-06 2015-05-05 Microsoft Technology Licensing, Llc Three-dimensional object browsing in documents
US20150062114A1 (en) * 2012-10-23 2015-03-05 Andrew Ofstad Displaying textual information related to geolocated images
KR102079332B1 (ko) * 2013-01-24 2020-02-19 주식회사 케이에스에스이미지넥스트 3d 차량 주변 영상 생성 방법 및 시스템
US10140765B2 (en) * 2013-02-25 2018-11-27 Google Llc Staged camera traversal for three dimensional environment
US10108882B1 (en) * 2015-05-16 2018-10-23 Sturfee, Inc. Method to post and access information onto a map through pictures
US9679413B2 (en) 2015-08-13 2017-06-13 Google Inc. Systems and methods to transition between viewpoints in a three-dimensional environment
US9619714B2 (en) * 2015-09-10 2017-04-11 Sony Corporation Device and method for video generation
US9684993B2 (en) * 2015-09-23 2017-06-20 Lucasfilm Entertainment Company Ltd. Flight path correction in virtual scenes
CN108984087B (zh) * 2017-06-02 2021-09-14 腾讯科技(深圳)有限公司 基于三维虚拟形象的社交互动方法及装置
CN110211177A (zh) * 2019-06-05 2019-09-06 视云融聚(广州)科技有限公司 摄像画面线性目标指北方法、电子设备及存储介质

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04233666A (ja) * 1990-08-02 1992-08-21 Xerox Corp 三次元作業域における目標に対する移動ビューポイント
JP2000135375A (ja) * 1998-10-30 2000-05-16 Square Co Ltd ゲーム装置、情報記録媒体および画像処理方法
JP2001027533A (ja) * 1999-05-12 2001-01-30 Denso Corp 地図表示装置
JP2001195608A (ja) * 2000-01-14 2001-07-19 Artdink:Kk Cgの三次元表示方法
WO2002069276A1 (fr) * 2001-02-23 2002-09-06 Fujitsu Limited Dispositif de commande d'affichage, dispositif terminal d'information equipe de ce dispositif de commande d'affichage, et dispositif de commande de position de point de vue
JP2003337959A (ja) * 2002-05-21 2003-11-28 Cad Center:Kk 3次元データ処理システム、3次元データ処理方法、並びにコンピュータ上で動作する情報処理プログラム
JP2004108856A (ja) * 2002-09-17 2004-04-08 Clarion Co Ltd ナビゲーション装置、及び該装置における地図表示方法
JP2004220626A (ja) * 1996-06-05 2004-08-05 Sega Corp 画像処理装置
US7613566B1 (en) * 2005-09-13 2009-11-03 Garmin Ltd. Navigation device with improved zoom functions

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03240156A (ja) * 1990-02-16 1991-10-25 Toshiba Corp データ処理システム
CN1133955C (zh) * 1995-12-07 2004-01-07 世雅企业股份有限公司 图象产生装置,图像产生方法及应用它们的游戏机
TW346612B (en) * 1996-06-05 1998-12-01 Sega Enterprises Kk Image processor, image processing method, game machine and recording medium
GB2320232B (en) * 1996-12-12 2000-09-27 Ico Services Ltd Satellite and Method of Operating a Satellite
JP3547947B2 (ja) * 1997-08-11 2004-07-28 アルパイン株式会社 ナビゲーション装置における所在階数表示方法
GB9800397D0 (en) * 1998-01-09 1998-03-04 Philips Electronics Nv Virtual environment viewpoint control
US6556206B1 (en) * 1999-12-09 2003-04-29 Siemens Corporate Research, Inc. Automated viewpoint selection for 3D scenes
US8044953B2 (en) * 2002-06-28 2011-10-25 Autodesk, Inc. System for interactive 3D navigation for proximal object inspection
US7042449B2 (en) * 2002-06-28 2006-05-09 Autodesk Canada Co. Push-tumble three dimensional navigation system
US7933929B1 (en) * 2005-06-27 2011-04-26 Google Inc. Network link for providing dynamic data layer in a geographic information system
AU2005203074A1 (en) * 2005-07-14 2007-02-01 Canon Information Systems Research Australia Pty Ltd Image browser
JP5075330B2 (ja) * 2005-09-12 2012-11-21 任天堂株式会社 情報処理プログラム
US7707516B2 (en) * 2006-05-26 2010-04-27 Google Inc. Embedded navigation interface
US20080062173A1 (en) * 2006-09-13 2008-03-13 Eric Tashiro Method and apparatus for selecting absolute location on three-dimensional image on navigation display
US8089479B2 (en) * 2008-04-11 2012-01-03 Apple Inc. Directing camera behavior in 3-D imaging system

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04233666A (ja) * 1990-08-02 1992-08-21 Xerox Corp 三次元作業域における目標に対する移動ビューポイント
JP2004220626A (ja) * 1996-06-05 2004-08-05 Sega Corp 画像処理装置
JP2000135375A (ja) * 1998-10-30 2000-05-16 Square Co Ltd ゲーム装置、情報記録媒体および画像処理方法
JP2001027533A (ja) * 1999-05-12 2001-01-30 Denso Corp 地図表示装置
JP2001195608A (ja) * 2000-01-14 2001-07-19 Artdink:Kk Cgの三次元表示方法
WO2002069276A1 (fr) * 2001-02-23 2002-09-06 Fujitsu Limited Dispositif de commande d'affichage, dispositif terminal d'information equipe de ce dispositif de commande d'affichage, et dispositif de commande de position de point de vue
JP2003337959A (ja) * 2002-05-21 2003-11-28 Cad Center:Kk 3次元データ処理システム、3次元データ処理方法、並びにコンピュータ上で動作する情報処理プログラム
JP2004108856A (ja) * 2002-09-17 2004-04-08 Clarion Co Ltd ナビゲーション装置、及び該装置における地図表示方法
US7613566B1 (en) * 2005-09-13 2009-11-03 Garmin Ltd. Navigation device with improved zoom functions

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
CSNG200300165003; 深津真二, 外3名: '"カメラの位置と姿勢に対する拘束の付加に基づく多様なカメラの動き制御の分析と検討"' 情報処理学会論文誌 第42巻, 第6号, 20010615, p.1311-1319, 社団法人情報処理学会 *
JPN5011001020; MACKINLAY J D: '"RAPID CONTROLLED MOVEMENT TROUGH A VIRTUAL 3D WORKSPACE"' COMPUTER GRAPHICS Vol.24, No.4, 19900806, p.171-176, ACM *
JPN5011001021; BUCHHOLZ H: '"SMART AND PHYSICALLY-BASED NAVIGATION IN 3D GEOVIRTUAL ENVIRONMENTS"' PROCEEDINGS OF NINTH INTERNATIONAL CONFERENCE ON INFORMATION VISUALISATION , 20050706, p.629-635, IEEE *
JPN5011001022; BURTNYK N: '"STYLE-CAM: INTERACTIVE STYLIZED 3D NAVIGATION USING INTEGRATED SPATIAL & TEMPORAL CONTROLS"' PROCEEDINGS OF THE 15TH. ANNUAL ACM SYMPOSIUM ON USER INTERFACE SOFTWARE AND TECHNOLOGY Vol.4, No.2, 20021027, p.101-110, ACM *
JPN6013024301; 深津真二, 外3名: '"カメラの位置と姿勢に対する拘束の付加に基づく多様なカメラの動き制御の分析と検討"' 情報処理学会論文誌 第42巻, 第6号, 20010615, p.1311-1319, 社団法人情報処理学会 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018160260A (ja) * 2012-10-16 2018-10-11 ジョン、ジェ ウンJEON, Jae Woong 3次元の仮想空間内で仮想カメラを制御するための方法、システムおよびコンピュータ読取可能な記録媒体
JPWO2020230249A1 (ja) * 2019-05-13 2020-11-19
WO2020230249A1 (ja) * 2019-05-13 2020-11-19 日本電信電話株式会社 ウォークスルー表示装置、ウォークスルー表示方法、及びウォークスルー表示プログラム
JP7302655B2 (ja) 2019-05-13 2023-07-04 日本電信電話株式会社 ウォークスルー表示装置、ウォークスルー表示方法、及びウォークスルー表示プログラム

Also Published As

Publication number Publication date
KR101580979B1 (ko) 2015-12-30
US20090259976A1 (en) 2009-10-15
JP5507541B2 (ja) 2014-05-28
CA2721219A1 (en) 2009-10-22
WO2009128899A1 (en) 2009-10-22
KR20100137001A (ko) 2010-12-29
AU2009236690B2 (en) 2014-10-23
AU2009236690A1 (en) 2009-10-22
CN102067179A (zh) 2011-05-18
EP2279497A1 (en) 2011-02-02
EP2279497B1 (en) 2016-02-10

Similar Documents

Publication Publication Date Title
JP5507541B2 (ja) 急降下ナビゲーション
JP5389901B2 (ja) 仮想表面を使用するパンニング
US9430866B2 (en) Derivative-based selection of zones for banded map display
US9024947B2 (en) Rendering and navigating photographic panoramas with depth information in a geographic information system
US9626790B1 (en) View-dependent textures for interactive geographic information system
US10140765B2 (en) Staged camera traversal for three dimensional environment
US9153011B2 (en) Movement based level of detail adjustments
US20130093750A1 (en) Use of banding to optimize map rendering in a three-dimensional tilt view
EP2766876B1 (en) Use of banding to optimize map rendering in a three-dimensional tilt view
US9092900B2 (en) Terrain-based virtual camera tilting, and applications thereof
US9679349B2 (en) Method for visualizing three-dimensional data

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

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130814

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130910

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20131209

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20131216

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20140109

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20140117

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140130

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140319

R150 Certificate of patent or registration of utility model

Ref document number: 5507541

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250