JP7368950B2 - 効率的な建物フットプリント特定のための方法及び装置 - Google Patents

効率的な建物フットプリント特定のための方法及び装置 Download PDF

Info

Publication number
JP7368950B2
JP7368950B2 JP2019045849A JP2019045849A JP7368950B2 JP 7368950 B2 JP7368950 B2 JP 7368950B2 JP 2019045849 A JP2019045849 A JP 2019045849A JP 2019045849 A JP2019045849 A JP 2019045849A JP 7368950 B2 JP7368950 B2 JP 7368950B2
Authority
JP
Japan
Prior art keywords
candidate
nodes
node
lines
candidate nodes
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
JP2019045849A
Other languages
English (en)
Other versions
JP2019164787A (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.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
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 Robert Bosch GmbH filed Critical Robert Bosch GmbH
Publication of JP2019164787A publication Critical patent/JP2019164787A/ja
Application granted granted Critical
Publication of JP7368950B2 publication Critical patent/JP7368950B2/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
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation
    • 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/005Tree description, e.g. octree, quadtree
    • 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/10Constructive solid geometry [CSG] using solid primitives, e.g. cylinders, cubes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/04Architectural design, interior design

Landscapes

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

Description

分野
本明細書に開示されている方法及び装置は、三次元レンダリングに関し、より詳細には、三次元建物データに基づく、二次元建物フットプリントの効率的な特定に関する。
背景
そうでないことが本明細書に記載されていない限り、この部分において記載されている要素は、本出願の特許請求の範囲に対する従来技術ではなく、この部分に含まれていることによって従来技術に認定されるものではない。
多くの近年のソフトウェアアプリケーションは、対象物及び場面の三次元表現をユーザーインタフェースの一部として表示する。三次元(3D)グラフィックスは、広範囲のアプリケーションにおいて使用される。これは、ビデオゲーム、シミュレーション、バーチャル・リアリティアプリケーション、地理空間情報アプリケーション及びマッピングとナビゲーション用のアプリケーションを含む。多くのアプリケーションにおいて、実世界環境及び位置の描写において3Dグラフィックスは、二次元(2D)グラフィックスより有用である。なぜなら、人間と実世界との間の自然の相互作用は三次元で生じるからである。
3Dグラフィックスは、典型的に、対象物及び他の構造体の形を3D仮想環境において形成する複数の多角形として作成される。近年の3Dグラフィックスにおいては、最終的な表示は、しばしば、付加的な図画での詳細を含む。これは、付加的な詳細及びリアリズムを提供するための多角形の簡素なレンダリングより進んでいる。特に、近年の3Dグラフィックスはしばしば、多数のグラフィック作用を含む。これは、プロセッサが、3D環境を表示するために多角形に適用する照明作用、テクスチャリング及び影効果を含むが、これに制限されない。例えば、レンダリングされた多角形は、典型的に、実世界における材料、例えば木、石、金属、布及びその他の多くの材料の見た目をシミュレートする1つ又は複数のテクスチャを得る。場面の見た目は、仮想光源によっても著しく影響される。仮想光源は場面を照明し、影効果に対する基礎を形成する。最終的に、多くの計算装置は二次元(2D)ディスプレイでグラフィックスを表示するだけであり、3Dグラフィックスは、表示のために、網目スクリーン化された2Dのピクセルアレイに変換される。2Dディスプレイは、3D場面の部分を、カメラが、実世界における3D場面の2D写真を撮るのと同様の方法で描写する。
3Dグラフィックスに対する1つの特定の有用なアプリケーションは、3Dナビゲーションマップアプリケーションにあり、これはスマートフォン、タブレットコンピュータ及び車内インフォティンメントシステムにおいて使用される。3D建物メッシュデータは、しばしば、この種の3Dナビゲーションマップアプリケーションに対するデータセットとして提供される。図1は、3D建物12をレンダリングするための、3Dナビゲーションマップアプリケーションによって使用される例示的なポリゴンメッシュ10を示している。しかし、この種の3Dナビゲーションマップアプリケーションにおいて使用されているデータセットは、しばしば、3D建物に対する2Dフットプリントを含まない、又は、いくつかの3D建物に対する過度に簡素化された2Dフットプリントしか提供しない。2Dフットプリントは、いくつかの特徴に対して、3Dナビゲーションマップアプリケーションにおいて極めて有用である。
しかし、2Dフットプリントの正確な特定はいくつかの困難に直面している。第1に、この方法は一般的に、データセットの編集において付加的な労力を投入しないようにするために、かつ、既存のデータセットアップデートプロセスへの影響を最小化するために、(市販されているような)相対的に低い処理能力を有しかつ既存のデータセットを伴うハードウェアでのランタイムで動作する必要がある。しかし、多くのフットプリント作成方法は、効率的で、不正確であるか、正確で、非効率的であるかのいずれかである。従って、正確さと能力との間にはトレードオフが存在する。第2に、この方法は一般的に、別個の建物を含む入力データとともに動作する必要がある。しかし、多くの既存の方法は、別個の建物を含む入力データを処理することはできない。従って、正確かつ効率的である、2Dフットプリントを特定する方法を提供することは有利であろう。付加的に、この方法が、別個の建物を含む入力データを処理することが可能であるのはさらに有利であろう。
要約
仮想環境における三次元(3D)構造体の二次元(2D)フットプリントを特定する方法が開示される。この方法は、プロセッサによって、少なくとも1つの3D構造体のためのメッシュデータを受け取るステップを含み、このメッシュデータは、少なくとも1つの3D構造体を形成する複数の多角形を形成するために複数の辺によって接続されている複数の頂点の位置を含む。この方法はさらに、プロセッサによって、複数の候補ノードと複数の候補線とを含む連結グラフを特定するステップを含み、これは、(i)高さ閾値を下回る頂点を有する複数の辺において全ての辺を識別すること、及び(ii)識別された辺及びその頂点を2D面にマッピングすることによって、複数の候補線と複数の候補ノードとを特定することによって行われる。この方法はさらに、プロセッサによって、隣接リストを特定するステップを含む。隣接リストは、複数の候補ノードにおける各候補ノードに対して、複数の候補ノードにおけるどの他の候補ノードが、複数の候補線における1つの候補線によって各候補ノードに接続されているのかを示す。この方法はさらに、プロセッサによって、連結グラフ及び隣接リストに基づいて、少なくとも1つの3D構造体のフットプリントを作成するステップを含む。フットプリントは、複数の候補ノードからの候補ノードの選択されたグループに対応する頂点を含み、さらにフットプリントは、複数の候補線からの候補線の選択されたグループに対応する辺を含む。
図形表示システムも開示されている。図形表示システムは、表示装置と、メモリと、表示装置とメモリとに動作可能に接続されているプロセッサを備えている。プロセッサは、少なくとも1つの三次元(3D)構造体のためのメッシュデータを受け取るように構成されており、メッシュデータは、少なくとも1つの3D構造体を形成する複数の多角形を形成するために複数の辺によって接続されている複数の頂点の位置を含む。プロセッサはさらに、複数の候補ノードと複数の候補線とを含む連結グラフを特定するように構成されている。これは、(i)高さ閾値を下回る頂点を有する複数の辺における全ての辺を識別すること、及び(ii)識別された辺及びその頂点を二次元(2D)面にマッピングすることによって、複数の候補線と複数の候補ノードとを特定することによって行われる。プロセッサはさらに、隣接リストを特定するように構成されている。隣接リストは、複数の候補ノードにおける各候補ノードに対して、複数の候補ノードにおけるどの他の候補ノードが、複数の候補線における1つの候補線によって各候補ノードに接続されているのかを示す。プロセッサはさらに、連結グラフ及び隣接リストに基づいて、少なくとも1つの3D構造体のフットプリントを作成するように構成されており、フットプリントは、複数の候補ノードからの候補ノードの選択されたグループに対応する頂点を含み、さらにフットプリントは、複数の候補線からの候補線の選択されたグループに対応する辺を含む。
方法及び装置の上述した態様及び他の特徴を、添付図面を参照して以降の明細書において説明する。
例示的なポリゴンメッシュと、対応するレンダリングされた3D建物を示す図。 3D建物の二次元(2D)フットプリントを特定するように構成されている計算装置の概略図。 仮想環境における3D構造体のフットプリントを特定する方法を示す図。 図3の方法を用いて特定された例示的な3D構造体に対するフットプリントを示す図。 図3の方法によって使用され得る例示的なメッシュデータ表現を示す図。 連結グラフを特定するための例示的なプロセスを示す図。 初期化された連結グラフの例示的な簡素化を示す図。 図7の簡素化された連結グラフに対する例示的な修正を示す図。 図8の修正された連結グラフの例示的な補完を示す図。 図9の補完された連結グラフに対する例示的な隣接リストを示す図。 連結グラフと隣接リストとに基づいて少なくとも1つの3D構造体の2Dフットプリントを作成する例示的なプロセスを示す図。 図9の補完された連結グラフからの2Dフットプリントの例示的な特定を示す図。 作成された2Dフットプリントの例示的な後処理を示す図。
詳細な説明
開示の原理の理解を促進するために、図面に示され、以降の明細書において説明される実施形態を参照されたい。これによって、開示の範囲の制限が意図されているのではないということを理解されたい。さらに、本開示は、図示された実施形態に対してあらゆる変更及び修正を含み、さらに、本開示に関係する当業者にとって通常であるような、開示の原理のさらなる適用を含むということを理解されたい。
本明細書においては、用語「対象物」又は「3D対象物」は、比較的大きい仮想環境における1つの対象物のモデルを描写するために、仮想環境において多角形を形成する複数の頂点に対応するデータに関する。本明細書においては、用語「構造体」又は「3D構造体」は、地球の地表又は表面の仮想表現に基づくために、3D仮想環境において位置付けされ、配向される多角形の対象物に関する。構造体の共通の例は、建物、橋、モニュメント等の人造の対象物及び他の人工的な構造物の表現を含む。自然の構造体は、木及び草木、崖、露出している岩及び自然の特徴に対応する他の対象物の表現を含む。3D仮想環境における構造体は、地表の仮想表現の表面から延在する。各構造体を規定する多角形は、構造体の形を提供し、この構造体は、予期される方法で、地表から浮かび上がらせるために、所定の様式で配向もされている。OpenGL 3Dグラフィックス標準とコンパチブルなソフトウェア及びハードウェアを使用している計算装置のある実施形態においては、構造体の方位は、回転行列を使用して規定される。これは、地表と地表から延在する構造体における他の多角形を結び付ける構造体の基部を伴う構造体を配向する。例えば、建物を表現する3D対象物は基部を含み、この基部は、仮想環境における地表に結び付いている建物の基礎に対応する。地表から上方へ延在する構造体における多角形は、この多角形が建物の壁を描写していなくても、「壁」と称される。
本明細書においては、構造体に対して使用されている用語「フットプリント」は、構造体における多角形の頂点のセットに関する。これは、従来の二次元マップと同じように上から見下ろしたときに、構造体に対する最も外側の座標に対応し、これは、仮想環境における地表又は地面に交差する。例えば、構造体が仮想環境の地表上に位置する単純な立方体である場合、フットプリントは、上から見下ろしたときに、立方体の4つの底面の隅の位置と、辺とによって規定される。フットプリントは、地表レベルの上方又は下方にある最も外側の多角形の頂点を含まない。これは例えば、上から見下ろしたときに、建物の中心から延在するが地表に接触しない、張り出し及び他の突起によって形成されている構造体、又は、構造体の地表レベルの延在を超えて延在している地下部分を伴って形成されている構造体である。
計算システム
図2は、計算システム104(この計算システムは、本明細書において「図形表示システム」とも称される)を描写しており、これは、例えば地球の表面である地表の表現を含む3D仮想環境の図形表示を、構造体を包囲している領域及び構造体の壁を描写する多角形に適用される地表照明テクスチャ又は影テクスチャを伴って作成する。計算システム104は、プロセッサ108と、メモリ120と、ディスプレイ144と、任意選択的なポジショニングシステム148と、任意選択的なネットワーク装置152とを備えている。計算システム104のハードウェア実施形態は、パーソナルコンピュータ(PC)ハードウェアと、自動車において使用される組み込み計算ハードウェアを備えている組み込みシステムハードウェアと、スマートフォン及びタブレット計算装置を含むモバイル電子装置とを含むが、これに制限されない。
計算システム104においては、プロセッサ108は、1つ又は複数の集積回路を含み、これは、中央処理ユニット(CPU)112及びグラフィックス・プロセッシング・ユニット(GPU)116の機能を実行する。いくつかの実施形態においては、プロセッサはシステムオンチップ(system on a chip(SoC))であり、これは、CPU112と、GPU116と、任意選択的にメモリ120、ネットワーク装置152及びポジショニングシステム148を含む他のコンポーネントとの機能を、1つの集積装置に集積する。ある実施形態においては、CPUは、市販されている中央処理装置であり、これは、x86、ARM、Power又はMIPS命令セットファミリ等の命令セットを実行する。GPUは、2Dグラフィックス及び3Dグラフィックスの表示のためのハードウェア及びソフトウェアを含む。ある実施形態においては、プロセッサ108は、ソフトウェアドライバを実行し、GPU116におけるハードウェア機能を含み、これによって、OpenGL、OpenGL ES又はDirect3Dグラフィックスアプリケーションプログラミングインタフェース(API)を使用して、3Dグラフィックスを作成する。例えば、GPU116は、1つ又は複数のハードウェア実行ユニットを含み、これは2Dグラフィックス及び3Dグラフィックスの処理及び表示のためにフラグメントシェーダーと頂点シェーダーとを実行する。動作中、CPU112とGPU116とは、メモリ120から受け取った、格納されている、プログラムされた命令140を実行する。ある実施形態においては、格納されている、プログラムされた命令140は、動作システムソフトウェアと、3Dグラフィックスを作成する1つ又は複数のソフトウェアアプリケーションプログラムとを含む。この3Dグラフィックスは、マッピングアプリケーション、ナビゲーションアプリケーション、バーチャル・リアリティアプリケーション、ゲームアプリケーション、シミュレーションアプリケーション及び3Dグラフィックスを作成するように構成されているあらゆる他のソフトウェアを含む。少なくとも1つの実施形態においては、プロセッサ108は、マッピング及びナビゲーションプログラムを実行し、表示装置144を通じて、マップ及びマップ特徴に対応する2D及び3Dグラフィックアウトプットを作成する。プロセッサは、プログラムされた命令を、プロセッサに動作可能に接続されている1つ又は複数のメモリに格納することによって、かつ、ハードウェア機能をプロセッサ及び/又はセンサ若しくはデータ源からデータを提供する他の電子コンポーネント、電子機械コンポーネント若しくは機械コンポーネントに動作可能に接続することによって、ソフトウェア及びハードウェア機能を伴って構成され、これによって、プロセッサが、以降に記載するプロセス及びシステム実施形態を実行することができる。
メモリ120は、不揮発性メモリも、揮発性メモリも含む。不揮発性メモリは、NANDフラッシュメモリ等のソリッドステートメモリ、磁気記憶媒体及び光記憶媒体、又は、計算システム104が非活動化されたとき若しくは電力を失ったときにデータを保持するあらゆる他の適当なデータ記憶装置を含む。揮発性メモリは、計算システム104の動作中に、ソフトウェア並びにグラフィックデータ及びマップ特徴データを含むデータを格納する、静的及び動的なランダムアクセスメモリ(RAM)を含む。プログラムされた命令140に対して付加的に、メモリ120は仮想環境データ124と、構造体モデル多角形データ128と、テクスチャデータ132とを含む。仮想環境データ124は仮想環境のモデルを含み、これは、仮想環境に位置付けされている多数の3D対象物のための、地上地形情報、座標及び方位データを含む。さらに仮想環境データは、付加的な環境データを含み、これは仮想環境を照明する仮想照明源を含む。構造体モデル多角形データ128は、多数の多角形から形成された三次元構造体のための複数のモデルを含む。このデータは、3D仮想環境における構造体の形を形成する、三角形等の一連の相互に連結されている多角形を規定する三次元座標を伴う頂点を含む。プロセッサ108は、各構造体モデルの相対的な大きさ及び方位を、このモデルが3D仮想環境に配置されるように調整するように構成されており、3D仮想環境は、1つの構造体モデルの多くのコピーと変形とを含み得る。テクスチャデータ132は、複数のテクスチャを含み、これらは典型的に、多角形構造体モデルに、より現実的な見た目を与えるために、3D仮想環境において構造体の表面にマッピングされる2Dイメージである。
計算システム104は、任意選択的なネットワーク装置152を含み、これは、データネットワーク(図示されていない)を介して、外部計算システムにデータを送信するように、かつ、外部計算システムからデータを受信するように構成されている。ネットワーク装置152の例は、有線ネットワークアダプタ、例えばイーサネット及びユニバーサル・シリアル・バス(USB)アダプタ、及び、無線ネットワークアダプタ、例えば3G又は4Gワイヤレスワイドエリアネットワーク(WWAN)、802.11又はBluetooth(R)無線ローカルエリアネットワーク(WLAN)アダプタを含む。いくつかの実施形態においては、プロセッサ108は、メモリ120内に格納するために、仮想環境データ124、構造体モデル多角形データ128及びテクスチャデータ132を外部ネットワークから取り出す。いくつかの実施形態においては、メモリ120は、グラフィックデータを捕捉し、プロセッサ108は、メモリ120の内容を更新するために、ネットワーク装置152を通じて受け取った付加的なグラフィックデータを格納する。
計算システム104は、プロセッサ108に動作可能に接続されている任意選択的なポジショニングシステム装置148を含む。ポジショニングシステムの例は、グローバル・ポジショニング・システム(GPS)受信器、固定されている無線送信機に関連して計算システム104の位置を識別する無線三角測量受信器及び慣性ナビゲーションシステムを含む。動作中、プロセッサ108は、マッピングソフトウェアアプリケーション及びナビゲーションソフトウェアアプリケーションを実行し、これは、ポジショニングシステム148から位置情報を取り出し、これによって計算システム104の地理的な位置を識別し、仮想環境の表示を、計算システム104の位置に対応するように調整する。ナビゲーションアプリケーションにおいては、プロセッサ108は、計算システム104の位置及び動きを、選択された目的地までのルートの作成及び3D仮想環境におけるこのルートの表示のために識別する。
計算システム104においては、ディスプレイ144は、計算システム104のハウジング内に組み込まれているLCD又は他の表示装置等の組み込まれた表示装置であるか、ディスプレイ144は、プロセッサ108から出力信号を受信し、3D仮想環境の表示を作成するために、有線又は無線インタフェースを通じて計算システム104に動作可能に接続されている外部の表示装置である。計算システム104が車内に組み込まれた計算装置である実施形態においては、ディスプレイ144はLCD又は他のフラットパネルディスプレイであり、これは車両のコンソールに配置されている、又はディスプレイ144はヘッドアップディスプレイ(HUD)又は3D仮想環境をフロントガラス又は車両内の他のディスプレイ表面上に表示する他のプロジェクションディスプレイである。
効率的な建物フットプリント特定のための方法
3D構造体のフットプリントを特定するための種々の方法及びプロセスを以降で説明する。方法の説明においては、方法がいくつかのタスク又は機能を実行するという記述は、不揮発性のコンピュータ可読記憶媒体内に格納されているプログラムされた命令を実行するコントローラ又は汎用プロセッサに関する。この記憶媒体は、データを操作するために、又は、計算システム104内の1つ又は複数のコンポーネントを動作させて、タスク又は機能を実行するためにコントローラ又はプロセッサに動作可能に接続されている。特に、上述したプロセッサ108、CPU112及び/又はGPU116は、このようなコントローラ又はプロセッサであってよく、実行されるプログラム命令は、メモリ120内に格納されている、プログラムされた命令140であってよい。付加的に、方法のステップは、図面に示されている順番又はステップが記載されている順番に関係なく、あらゆる可能な発生順で実行されてよい。
図3は、仮想環境において3D構造体のフットプリントを特定するための方法200を示している。この方法200は、プロセッサ108が特定の規定セットを効率的に実行すること、及び仮想環境における3D構造体のフットプリントを正確に特定することを可能にすることによって、計算システム104の機能を改善する。特に、この方法200によって、プロセッサ108は、3D構造体のメッシュデータに基づいて、3D構造体の高い精度のフットプリントを作成することができる。この方法は、相対的に制限された処理能力を有し、かつ、3D構造体メッシュデータセットを使用する、組み込まれた装置及びモバイル装置で使用されるのに十分に効率的である。この3D構造体メッシュデータセットは、如何なる2Dフットプリント情報も含まない、又は、過度に簡素化された2Dフットプリント情報だけを含む。図4は、例示的な3D構造体312に対するフットプリント310を示している。これは、方法200を用いて正確に特定されたものである。付加的に、この方法200は、入力メッシュデータがあらゆる数の個々の別個にされた3D構造体を含む場合にも、プロセッサ108が、3D構造体のフットプリントを特定することを可能にすることによって、計算システム104の機能を改善する。特に、図4はさらに、例示的な3D構造体322に対して、方法200を用いて正確に特定されたフットプリント320を示している。この3D構造体は、主要部分326から物理的に別個にされている部分324を含む。このようにして、この方法200は、メッシュデータが多数の、別個にされた3D構造体を含む場合にフットプリントを特定することができない多くの既存の方法に対する利点を有する。
図3に戻る。この方法200は、少なくとも1つの3D構造体のためのメッシュデータを受け取るステップで始まる(ブロック210)。特に、本明細書において詳細に説明された実施形態に関して、プロセッサ108は、少なくとも1つの3D構造体のためのメッシュデータを受け取るように構成されている。このメッシュデータは、少なくとも1つの3D構造体を形成する複数の多角形を形成するために、複数の辺によって接続されている複数の頂点に関する値を含む。ある実施形態においては、プロセッサ108は、メッシュデータ、特に構造体モデル多角形データ128をメモリ120から読み取るように構成されている。しかし、いくつかの実施形態においては、メッシュデータ及び/又は構造体モデル多角形データ128は、ネットワーク装置152を介して、必要に応じて、別個のサーバーからプロセッサ108へ流される。
メッシュデータは、頂点、辺等のあらゆる種々の既知のデータ表現を用いて、多くの形を取ることができる。これは、面-頂点メッシュ、ウイングド・エッジメッシュ、ハーフエッジメッシュ、クワッドエッジメッシュ、コーナー・テーブル、頂点-頂点メッシュ及びレンダダイナミックメッシュ等のポリゴンメッシュに相当する。図5は、方法200によって使用され得る例示的なメッシュデータ表現を示している。特に、このメッシュデータは、3D頂点位置のアレイを含む:[V0;V1;V2;V3]。ここでは、各頂点は、(x,y,z)等の位置ベクトルによって表現されている。付加的に、メッシュデータは、プリミティブインデックスアレイを含む:[0,1,2,0,2,3]。これは、プリミティブ(このケースでは三角形)がどのように頂点から構築されているのかを示している。図5の例において見て取れるように、4つの頂点V0,V1,V2及びV3が、2つの三角形を形成するために辺によって接続されている。
図3に戻る。この方法200は、メッシュデータに基づいて連結グラフを特定するステップに続く(ブロック230)。特に、プロセッサ108は、複数の候補ノード及び複数の候補線を特定するように構成されており、このうちのいくつかは、3D構造体のフットプリントの辺及び頂点を形成してよい。「連結グラフ」は、複数の候補ノードと複数の候補線とを含む。いくつかの実施形態においては、候補ノードと候補線とは、仮想環境の地面と、少なくとも1つの3D構造体の多角形との交差点に対応していてよく、及び/又は、仮想環境の地面と、少なくとも1つの3D構造体の多角形との交差点付近に対応していてよく(すなわち、辺は、地表と交差する、又は地表との交差の所定の距離内にある)、及び/又は、所定の高さ値を下回る任意の位置を有する多角形の辺に対応していてよい(すなわち、辺は、地表の近くにある、地表と交差する、又は地表の下にある)。いくつかの実施形態においては、プロセッサ108は、連結グラフを種々の方法により簡素化する、修正する、又は、そうでない場合には処理するように構成されている。これはしばしば、より効率的かつ効果的に後続のステップが実行されることを可能にするために候補ノード及び候補線の数を変更することによって行われる。
図6は、連結グラフが特定されるステップ230の例示的な実行を示している。ステップ230の例示的な実行は、複数の候補ノード及び複数の候補線で連結グラフを初期化するステップで始まる(ブロック232)。これは、所定の高さ閾値よりも低い任意の位置又は仮想環境の地表からの所定の距離閾値内の任意の位置を有する全ての辺に対応する。特に、ある実施形態においては、プロセッサ108は、少なくとも1つの3D構造体のためのメッシュデータにおける全ての辺を識別するように構成されている。これは、所定の高さ閾値を下回る終端位置又は頂点を有する。特に、最終目標は、入力メッシュデータからフットプリントを作成することなので、地表よりはるかに高い辺を考慮に入れる必要はない。別の実施形態においては、プロセッサ108は、仮想環境の地表からの所定の距離閾値内に任意の位置を有する少なくとも1つの3D構造体のためのメッシュデータにおける全ての辺を識別するように構成されている。特に、いくつかの環境においては、地表よりはるかに低い辺を考慮に入れる必要はない。次にプロセッサ108は、その識別された辺及び頂点の全てを仮想環境の地表に一致する2D面にマッピングするように構成されている。プロセッサ108は、2D面にマッピングされた、識別された辺の頂点として複数の候補ノードを初期化するように構成されており、かつ、2D面にマッピングされた、識別された辺として複数の候補線を初期化するように構成されている。
図7は、例示的に初期化された連結グラフ400を示しており、これは、10個の候補ノードN0からN9と、9個の候補線L0からL8とを含む。特に、候補線L0は、候補ノードN0とN1との間に延在しており、候補線L1は、候補ノードN1とN2との間に延在しており、候補線L2は、候補ノードN2とN3との間に延在しており、候補線L3は、候補ノードN3とN0との間に延在しており、候補線L4は、候補ノードN4とN5との間に延在しており、候補線L5は、候補ノードN5とN6との間に延在しており、候補線L6は、候補ノードN6とN7との間に延在しており、候補線L7は、候補ノードN7とN4との間に延在しており、候補線L8は、候補ノードN8とN9との間に延在している。
図6に戻る。ステップ230の例示的な実行は、相互に近い任意の候補ノードを合併すること、及び/又は、実質的に平行でありかつ相互に近い任意の候補線を合併することによって、連結グラフを簡素化するステップに続く(ブロック234)。特に、プロセッサ108は、互いに所定の距離内にある任意の候補ノードを合併するように、及び/又は、互いに所定の距離内にあり、かつ、互いに所定の角度内にある任意の候補線を合併するように構成されている。全ての識別された辺が、2D地面に対してマッピングされているので、多くの候補ノードが相互に極めて近く、かつ、多くの候補線が実質的に平行でありかつ相互に極めて近いという可能性が非常に高い。このようなノード及び線を合併することによって、連結グラフが実質的に簡素化されてよく、それによって、方法200の後のステップの効率及び正確さが改善される。少なくとも1つの実施形態においては、従来の二次元マップと同じように上から見下ろしたときに、合併されるべきノード又は線は、合併されるべきノード又は線の最も外側の位置に合併される。別の実施形態においては、合併されるべきノード又は線は、合併されるべきノード又は線の平均位置で合併される。
図7は、初期化された連結グラフ400の例示的な簡素化410を示している。特に、見て取れるように、候補線L8は、候補線L0に実質的に平行であり、かつ、候補線L0に近い。同様に、候補ノードN8及びN9は、候補ノードN0及びN1それぞれに極めて近い。簡素化された連結グラフ410において、候補線L8は、除去されており、及び/又は、候補線L0と合併されている。同様に、候補ノードN8及びN9は、除去されており、及び/又は、候補ノードN0及びN1それぞれと合併されている。
図6に戻る。ステップ230の例示的な実行は、各候補線上へ各候補線に近い候補ノードを動かし、各候補線を2つの候補線に分割するステップに続く(ブロック236)。これら2つの候補線の各々は、各候補ノードで1つの終端部を有する。特に、プロセッサ108は、各候補線から所定の距離内にある任意の候補ノードを候補線上にある最も近い位置に動かすように構成されている。さらに、プロセッサ108は、各候補線を2つの候補線に分割するように構成されている。これら2つの候補線の各々は、動かされた各候補ノードで1つの終端部を有する。元来の3Dメッシュデータセットは、いくつかのモデリングエラーを含むことがあり、例えば2つの隣接する多角形は、同じ辺を共有しておらず、又は、そうでなければ複数の多角形が僅かに誤って並べられている。従って、簡素化された連結グラフが若干の間隙を、ノードと線との間に含むことがある。連結グラフにおけるこのようなエラーを修正することによって、方法200の正確さが改善される。
図8は、簡素化された連結グラフ410に対する例示的な修正420を示している。特に、見て取れるように、候補ノードN4は、候補線L1に極めて近いが、直接的に候補線L1上に位置しておらず、モデリングエラーの可能性が暗示されている。修正された連結グラフ420においては、候補ノードN4は、候補線L1上の最も近い位置上に動かされる。付加的に、候補ノードN1とN2との間に延在する候補線L1は、2つの候補線L8とL9とに分割される。候補線L8は、候補ノードN1と動かされた候補ノードN4との間に延在している。同様に、候補線L9は、候補ノードN2と、動かされた候補ノードN4との間に延在している。最後に、候補ノードN4に接続されている候補線L4とL7とが、候補ノードN4の新たな位置の結果、長さ及び方位において調整される。
図6に戻る。ステップ230の例示的な実行は、2つの候補線のあらゆる交差点に位置する新たな候補ノードを作成し、2つの各候補線の各々を、各新たな候補ノードでそれぞれ1つの終端部を有する2つの新たな候補線に分割するステップに続く(ブロック238)。特に、プロセッサ108は、相互に交差し、その交差点で候補ノードを有していない、あらゆる候補線を識別するように構成されている。次に、交差している候補線の各セットに対して、プロセッサ108は、交差している候補線の交差点のポイントを計算し、計算された交差点のポイントで新たな候補ノードを作成するように構成されている。さらに、プロセッサ108は、各交差している候補線の各々を、新たに作成された候補ノードでそれぞれ1つの終端部を有する2つの候補線に分割するように構成されている。ある実施形態においては、プロセッサ108は、1つの別の候補ノードに接続されているだけのあらゆる候補ノード、又は、他の候補ノードに接続されていないあらゆる候補ノードを除去するように構成されている。さらにプロセッサは、除去された候補ノードに接続されている候補線も除去するように構成されている。これらの交差点は、2Dフットプリントの頂点であり得るので、候補ノードが交差点に含まれている場合に連結グラフはより完全になり、これによって、方法200の正確さが改善される。
図9は、修正された連結グラフ420の例示的な補完430を示している。特に、見て取れるように、候補線L6と候補線L9とは相互に交差しているが、候補ノードは交差点に位置付けされていない。補完された連結グラフ430においては、新たな候補ノードN8が、候補線L6と候補線L9との交差点の位置で作成されている。付加的に、候補ノードN2とN4との間に延在している候補線L9が、2つの候補線L10とL11とに分割され、候補ノードN6とN7の間に延在している候補線L6が、2つの候補線L12とL13に分割されている。候補線L10は、候補ノードN2と新たな候補ノードN8との間に延在している。候補線L11は、候補ノードN4と新たな候補ノードN8との間に延在している。候補線L12は、候補ノードN6と新たな候補ノードN8との間に延在している。最後に、候補線L13は、候補ノードN7と新たな候補ノードN8との間に延在している。
図3に戻る。方法200は、連結グラフに基づいて隣接リストを特定するステップに続く(ブロック250)。特に、連結グラフを特定した後、プロセッサ108は、連結グラフの各候補ノードに対して、どの他の候補ノードが、候補線によって各ノードに接続されているのかを特定するように構成されている。ある実施形態においては、プロセッサ108は、各連結グラフの各候補ノードに対して、どの候補線が各候補ノードを含むのかを特定し、その後、アレイを作成するように構成されている。このアレイは、各候補線に含まれている他の候補ノードに対するインデックスを含む。「隣接リスト」は、連結グラフの各候補ノードと対にされた接続されたノードの作成されたアレイを含む。
図10は、テーブル500の形態で示された、補完された連結グラフの例示的な隣接リストを示している。テーブル500において示されているように、候補ノードN0が、候補ノードN1及びN3に接続していること、候補ノードN1が、候補ノードN0及びN4に接続していること、候補ノードN2が、候補ノードN3及びN8に接続していること、候補ノードN3が、候補ノードN0及びN2に接続していること、候補ノードN4が、候補ノードN1、N5、N7及びN8に接続していること、候補ノードN5が、候補ノードN4及びN6に接続していること、候補ノードN6が、候補ノードN5及びN8に接続していること、候補ノードN7が、候補ノードN4及びN8に接続していること、候補ノードN8が、候補ノードN2、N4、N6及びN7に接続していることが特定されている。
図3に戻る。方法200は、連結グラフ及び隣接リストに基づいて少なくとも1つの3D構造体の少なくとも1つの2Dフットプリントを作成するステップに続く(ブロック270)。特に、プロセッサ108は、メッシュデータの少なくとも1つの3D構造体の2Dフットプリントに対応する頂点及び辺を識別するように構成されている。識別された頂点及び辺は、特定された隣接リストに基づいて、連結グラフの候補ノード及び候補線から選択されたものである。
図11は、ステップ270の実行方法を示しており、ここでは、少なくとも1つの3D構造体の少なくとも1つの2Dフットプリントが識別される。ステップ270の例示的な実行は、連結グラフの候補ノードを開始ノードとして選択するステップで始まる(ブロック272)。特にプロセッサ108は、最初の開始ノードnとして使用するために、連結グラフの候補ノードの1つを選択するように構成されている。ある実施形態においては、プロセッサ108は、最初の開始ノードnを、従来の二次元マップと同じように上から見下ろしたときに、最も右側の候補ノードとして、連結グラフから選択するように構成されている。しかし、別の実施形態においては、プロセッサ108は、最初の開始ノードnを、従来の二次元マップと同じように上から見下ろしたときに、最も左側の候補ノードとして、最も上の候補ノードとして、最も下の候補ノードとして又は任意の無作為の最も外側の候補ノードとして選択するように構成されている。図12に示されている例においては、補完された連結グラフ430の最も右側の候補ノードN3が、最初の開始ノードnとして選択されている。
図11に戻る。ステップ270の例示的な実行は、次のノードを開始ノードに隣接している候補ノードから選択するステップに続く(ブロック274)。この次のノードは、アルゴリズムの補完された連結グラフの最も右側のノードである開始ノードの、最も反時計回りのところにある隣接ノードである。特に、プロセッサ108は、隣接リストに基づいて、どの候補ノードが最初の開始ノードnに隣接しているのかを特定するように構成されている。次に、プロセッサ108は、次のノードnnextとして、最初の開始ノードnの、最も反時計回りのところにある隣接する候補ノードを選択するように構成されている。ある実施形態においては、プロセッサ108は、以下の方程式を満たす、隣接する候補ノードを選択するように構成されている。
Figure 0007368950000001
換言すれば、最初の開始ノードnに隣接する複数のノードAdjnsからの次のノードnnextの各可能な選択に対して、プロセッサ108は、選択された次のノードnnext以外の全ての隣接するノードAdjnsに対して、(1)次のノードnnextの位置ベクトルから最初の開始ノードnの位置ベクトルを減算したものに等しい第1の中間2Dベクトルと、(2)各隣接ノードnの位置ベクトルから最初の開始ノードnの位置ベクトルを減算したものに等しい第2の中間2Dベクトルとのクロス乗積又はベクトル積が、0より小さいか否かを特定するように構成されている。プロセッサ108は、この条件が満たされている隣接するノードAdjnsの1つを選択するように構成されている。この反時計回りの選択プロセスは、選択された開始ノードからスタートして、時計回りの回転でのノードの動きを生じさせる。いくつかの実施形態においては、時計回りの選択プロセスが使用されてもよく、上述のプロセス及び方程式は、時計回りの選択のために適当に修正可能である。図12に示されている例においては、補完された連結グラフ430の候補ノードN2が、最初の開始ノードnからの次のノードnnextとして選択されている。
図11に戻る。ステップ270の例示的な実行は、選択される次のノードが開始ノードになるまで(ブロック278)、先に選択されたノードに隣接しており、かつ、先に選択されたノードの、最も反時計回りのところにある次のノードを選択することを続けるステップに続く(ブロック276)。特に、各現在選択されているノードncurrentに対して、プロセッサ108は、どの候補ノードが、現在選択されているノードncurrentに隣接しているのかを、隣接リストに基づいて特定するように構成されている。次に、プロセッサ108は、次のノードnnextとして、隣接する候補ノードを選択するように構成されている。この隣接する候補ノードは、現在選択されているノードncurrent及び先に選択されたノードnprevの方位に関して、最も反時計回りのところにある。ある実施形態においては、プロセッサ108は、2DベクトルV=nnext-ncurrentと2DベクトルV=ncurrent-nprevとの間の反時計回りの方位値0が最も大きくなるように、隣接する候補ノードを選択するように構成されている。ある実施形態においては、値0は、次の方程式に従って計算される。
Figure 0007368950000002
換言すれば、現在選択されているノードncurrentに隣接しているノードAdjncurrentからの次のノードnnextの各可能な選択に対して、プロセッサ108は、値0を計算するように構成されている。計算されるべき各値0に対して、プロセッサ108は2DベクトルV=nnext-ncurrentと2DベクトルV=nprev-ncurrentとを計算するように構成されている。次に、計算されるべき各値0に対して、2DベクトルVと2DベクトルVとのクロス乗積が0より小さい場合、プロセッサ108は、値0を、マイナスベクトルVとベクトルVとのドット積又はスカラー積から1を減算したものとして計算するように構成されている。そうでなく、ベクトルVとベクトルVとのクロス乗積が0より小さくない場合、プロセッサ108は、値0を、ベクトルVとベクトルVとのドット積又はスカラー積に1を加算したものとして計算するように構成されている。プロセッサ108は、次のノードnnextとして、反時計回りの方位値0が最も大きい、隣接する候補ノードを選択するように構成されている。プロセッサ108は、次のノードnnextの選択を、選択された次のノードが最初の開始ノードnになるまで繰り返すように構成されている。いくつかの実施形態においては、時計回りの選択プロセスが使用されてもよく、上述したプロセス及び方程式は、時計回りの選択のために適当に修正可能である。図12に示された例においては、補完された連結グラフ430からのノード選択シーケンスは、N3→N2→N8→N6→N5→N4→N1→N0→N3を含む。この選択プロセスは、選択プロセスが開始ノードN3に戻ると停止される。
図11に戻る。ノード選択プロセスが開始ノードに戻ると、ステップ270の例示的な実行は、3D構造体のフットプリントを作成するステップに続く(ブロック280)。これは、選択されたノードの全てを含む頂点と、各選択されたノードを次の選択されたノードに接続する候補線を含む辺とを備える。特に、プロセッサ108は、メッシュデータの3D構造体のフットプリントを作成するように構成されている。これは、全ての選択された候補ノードの位置での頂点と、各選択された候補ノードを次の選択された候補ノードに接続する候補線に対応する辺とを備える。図12に示されている例においては、フットプリント440が作成され、これは、選択された候補ノードN3、N2、N8、N6、N5、N4、N1及びN0それぞれのシーケンスに対応する頂点V0-V7と、候補線L2、L10、L12、L5、L4、L8、L0及びL3それぞれに対応する辺E0-E7とを有する。
図11に戻る。ステップ270の例示的な実行は、フットプリントの選択されたノードである、又はフットプリントの選択されたノードに接続されている全ての候補ノードを連結グラフから除去するステップに続く(ブロック282)。特に、プロセッサ108は、フットプリントの選択されたノードである全ての候補ノード、又は、1つ又は複数の候補線及びノードによって、フットプリントを形成するために使用される選択された候補ノードに接続されている全ての候補ノードを、連結グラフから除去するように構成されている。図12に示されている例においては、フットプリントを形成するために使用されるノードに接続されているので、フットプリントを形成するために使用されなかった候補ノードN7を含む候補ノードの全てが除去されている。しかし、多くのケースにおいては、連結グラフは、相互に分離されており、かつ、一般的に、メッシュデータの別個の3D構造体に対応するいくつかの、候補ノードと線のクラスターとを含む。
次に、ステップ270の例示的な実行は、連結グラフ内にいずれかの候補ノードが残存している場合にステップ272~282を繰り返すステップに続く(ブロック284)。特に、プロセッサ108は、連結グラフ内に残存している候補ノードがあるか否かをチェックするように構成されている。これは例えば、作成されたフットプリントに含まれているノード及び線から分離されている候補ノードと線とのクラスターである。このような場合には、プロセッサ108は、メッシュデータにおけるさらなる3D構造体のさらなるフットプリントを作成するために上述したプロセスを繰り返すように構成されている。
最終的に、連結グラフ内に残存している候補ノードがなくなると、ステップ270の例示的な実行は、頂点の繰り返しの接続に対応する、フットプリントの辺を除去することによるフットプリントの後処理のステップに続く(ブロック286)。特に、プロセッサ108は、フットプリントにおける、頂点の繰り返しの接続に対応するあらゆる辺を除去するように構成されている。これによって、フットプリントは2つ以上のフットプリントに分けられる。例として図13は、一連の頂点のA→B→C→D→E→F→D→C→Aから形成されているフットプリント600を示している。この一連の頂点に基づいて、フットプリントは辺C→Dを含み、辺D→Cも含む。2つの頂点CとDとの間のこの接続は繰り返しなので、この経路に対応する全ての辺がフットプリントから除去される。この結果、分解610が生じ、ここでは、フットプリントが2つのフットプリントA→B→C→AとD→E→F→Dとに分けられる。
最後に、図3に戻る。方法200は、少なくとも1つの3D構造体の作成されたフットプリントを出力するステップに続く(ブロック290)。特に、プロセッサ108は、作成されたフットプリントを出力するように、及び/又は、メモリ内に格納するように構成されている。ある実施形態においては、プロセッサ108は、さらに、メッシュデータの少なくとも1つの3D構造体の作成されたフットプリントを使用して、2D又は3Dグラフィックスをレンダリングするように構成されている。ある実施形態においては、プロセッサ108は、2Dフットプリントとして示されている3D構造体を含むマップ領域の2Dプレビューをレンダリングするために、特定されたフットプリントを使用するように構成されている。ある実施形態においては、プロセッサ108は、コンテクスト・アウェアマップ可視化ソリューションをレンダリングするために、特定されたフットプリントを使用するように構成されている(例えば、タイムアウェア及び環境アウェア)。ある実施形態においては、プロセッサ108は、マップ領域に対して占有テストを実行するために、特定されたフットプリントを使用するように構成されている。ある実施形態においては、プロセッサ108は、ソフトシャドウをレンダリングするためにソフトシャドウシミュレーションを実行するために、特定されたフットプリントを使用するように構成されている。ある実施形態においては、プロセッサ108は、表示される細部の可変レベルを伴う2D又は3Dグラフィックスをレンダリングするために、特定されたフットプリントを使用するように構成されている。
図面及びこれまでの明細書において、開示が詳細に図示及び説明されたが、同様のことが例証として考えられるべきであり、特性を制限するものと考えられるべきではない。有利な実施形態だけが提示されており、開示の意図内の全ての変更、修正及びさらなる適用が保護されることが望まれるということを理解されたい。

Claims (20)

  1. 仮想環境における三次元(3D)構造体の二次元(2D)フットプリントを特定する方法であって、
    前記方法は、プロセッサによって、少なくとも1つの3D構造体のためのメッシュデータを受け取ることを含み、前記メッシュデータは、前記少なくとも1つの3D構造体を形成する複数の多角形を形成するために複数の辺によって接続されている複数の頂点の位置を含み、
    前記方法は、前記プロセッサによって、複数の候補ノードと複数の候補線とを含む連結グラフを特定することを含み、これは、(i)高さ閾値を下回る頂点を有する前記複数の辺における全ての辺を識別することと、(ii)識別された前記辺及びその頂点を2D面にマッピングすることにより、前記複数の候補線と前記複数の候補ノードとを特定することとによって行われ、
    前記方法は、前記プロセッサによって、隣接リストを特定することを含み、前記隣接リストは、前記複数の候補ノードにおける各候補ノードに対して、前記複数の候補ノードにおけるどの他の候補ノードが、前記複数の候補線における1つの候補線によって各候補ノードに接続されているのかを示し、
    前記方法は、前記プロセッサによって、前記連結グラフ及び前記隣接リストに基づいて、前記少なくとも1つの3D構造体のフットプリントを作成することを含み、前記フットプリントは、前記複数の候補ノードから選択された候補ノード対応する頂点を含み、かつ、前記複数の候補線から選択された候補線対応する辺を含む、
    仮想環境における3D構造体の2Dフットプリントを特定する方法。
  2. 前記連結グラフを特定することはさらに、
    互いに所定の距離内にある前記複数の候補ノードにおける候補ノードを合併することと、
    互いに所定の距離内にあり、かつ、互いに関して所定の角度未満にある前記複数の候補線における候補線を合併することと、
    のうちの少なくとも1つを含む、
    請求項1に記載の方法。
  3. 前記連結グラフを特定することはさらに、
    各候補線上へ、前記複数の候補線における各候補線から所定の距離内にある前記複数の候補ノードにおける1つの候補ノードを動かすことと、
    前記各候補線を、動かされた前記候補ノードにおいてそれぞれ1つの終端部を有する2つの候補線に分割することと、
    を含む、
    請求項1に記載の方法。
  4. 前記連結グラフを特定することはさらに、
    前記複数の候補線における2つの各候補線の交差点に位置する新たな候補ノードを作成することと、
    前記2つの各候補線の各々を、作成された前記新たな候補ノードにおいてそれぞれ1つの終端部を有する2つの新たな候補線に分割することと、
    を含む、
    請求項1に記載の方法。
  5. 前記連結グラフを特定することはさらに、
    (i)前記複数の候補ノードにおける1つの別の候補ノードに接続されているだけの、前記複数の候補ノードにおける1つの候補ノードと、(ii)前記複数の候補ノードにおける他の候補ノードに接続されていない、前記複数の候補ノードにおける1つの候補ノードとのうちのいずれかを除去することと、
    除去された前記候補ノードに接続されている、前記複数の候補線におけるあらゆる候補線を除去することと、
    を含む、
    請求項1に記載の方法。
  6. 前記少なくとも1つの3D構造体のフットプリントを作成することはさらに、
    前記複数の候補ノードから開始候補ノードを選択することと、
    前記複数の候補ノードから候補ノードの第1のシーケンスを順次選択することと、
    を含み、候補ノードの前記第1のシーケンスにおける第1の候補ノードは、前記開始候補ノードに接続されており、候補ノードの前記第1のシーケンスにおける第1の候補ノード以外の各候補ノードは、候補ノードの前記第1のシーケンスにおける先行する各候補ノードに接続されており、
    前記選択された候補ノード、候補ノードの選択された前記第1のシーケンスとともに、選択された前記開始候補ノードによって形成されている候補ノードの第2のシーケンスを含み、
    前記選択された候補線、候補ノードの前記第2のシーケンスを順次接続する前記複数の候補線における候補線の第1のシーケンスを含む、
    請求項1に記載の方法。
  7. 候補ノードの前記第2のシーケンスの候補ノードの位置は、選択された前記開始候補ノードからスタートして、時計回りに動く、
    請求項6に記載の方法。
  8. 前記プロセッサによって、(i)前記選択された候補ノー及び前記選択された候補ノード接続されている前記複数の候補ノードにおけるあらゆる候補ノードを、前記連結グラフの前記複数の候補ノードから除去し、かつ、(ii)前記選択された候補及び前記選択された候補線接続されている前記複数の候補線におけるあらゆる候補線を、前記連結グラフの前記複数の候補線から除去することと、
    前記プロセッサによって、前記除去後に、複数の候補ノード内に残存している候補ノード及び前記複数の候補線内に残存している候補線に応じて、前記連結グラフ及び前記隣接リストに基づいて、前記少なくとも1つの3D構造体のさらなるフットプリントを作成することと、
    をさらに含む、
    請求項6に記載の方法。
  9. 前記少なくとも1つの3D構造体のフットプリントを作成することはさらに、
    候補ノードの前記第2のシーケンスを順次接続する候補線の前記第1のシーケンスにおいて繰り返される候補線に対応する辺を前記フットプリントから除去することを含む、
    請求項6に記載の方法。
  10. 前記プロセッサによって、前記少なくとも1つの3D構造体の作成された前記フットプリントを用いて、グラフィックスをレンダリングすることと、
    前記プロセッサに動作可能に接続されている表示装置上に、レンダリングされた3Dグラフィックスを表示することと、
    をさらに含む、
    請求項1に記載の方法。
  11. 表示装置と、
    メモリと、
    前記表示装置と前記メモリとに動作可能に接続されているプロセッサと、
    を備えている図形表示システムであって、
    前記プロセッサは、少なくとも1つの三次元(3D)構造体のためのメッシュデータを受け取るように構成されており、前記メッシュデータは、前記少なくとも1つの3D構造体を形成する複数の多角形を形成するために複数の辺によって接続されている複数の頂点の位置を含み、
    前記プロセッサは、複数の候補ノードと複数の候補線とを含む連結グラフを特定するように構成されており、これは、(i)高さ閾値を下回る頂点を有する前記複数の辺における全ての辺を識別することと、(ii)識別された前記辺及びその頂点を二次元(2D)面にマッピングすることにより、前記複数の候補線と前記複数の候補ノードとを特定することとによって行われ、
    前記プロセッサは、隣接リストを特定するように構成されており、前記隣接リストは、前記複数の候補ノードにおける各候補ノードに対して、前記複数の候補ノードにおけるどの他の候補ノードが、前記複数の候補線における1つの候補線によって各候補ノードに接続されているのかを示しており、
    前記プロセッサは、前記連結グラフ及び前記隣接リストに基づいて、前記少なくとも1つの3D構造体のフットプリントを作成するように構成されており、前記フットプリントは、前記複数の候補ノードから選択された候補ノード対応する頂点を含み、かつ、前記複数の候補線から選択された候補線対応する辺を含む、
    図形表示システム。
  12. 前記プロセッサはさらに、
    互いに所定の距離内にある前記複数の候補ノードにおける候補ノードを合併するように構成されており、かつ、
    互いに所定の距離内にあり、かつ、互いに関して所定の角度未満にある前記複数の候補線における候補線を合併するように構成されている、
    請求項11に記載の図形表示システム。
  13. 前記プロセッサはさらに、
    各候補線上へ、前記複数の候補線における各候補線から所定の距離内にある前記複数の候補ノードにおける1つの候補ノードを動かすように構成されており、かつ、
    前記各候補線を、動かされた前記候補ノードにおいてそれぞれ1つの終端部を有する2つの候補線に分割するように構成されている、
    請求項11に記載の図形表示システム。
  14. 前記プロセッサはさらに、
    前記複数の候補線における2つの各候補線の交差点に位置する新たな候補ノードを作成するように構成されており、かつ、
    前記2つの各候補線の各々を、作成された前記新たな候補ノードにおいてそれぞれ1つの終端部を有する2つの新たな候補線に分割するように構成されている、
    請求項11に記載の図形表示システム。
  15. 前記プロセッサはさらに、
    (i)前記複数の候補ノードにおける1つの別の候補ノードに接続されているだけの、前記複数の候補ノードにおける1つの候補ノードと、(ii)前記複数の候補ノードにおける他の候補ノードに接続されていない、前記複数の候補ノードにおける1つの候補ノードとのうちのいずれかを除去するように構成されており、かつ、
    除去された前記候補ノードに接続されている、前記複数の候補線におけるあらゆる候補線を除去するように構成されている、
    請求項11に記載の図形表示システム。
  16. 前記プロセッサはさらに、
    前記複数の候補ノードから開始候補ノードを選択するように構成されており、かつ、
    前記複数の候補ノードから候補ノードの第1のシーケンスを順次選択するように構成されており、候補ノードの前記第1のシーケンスにおける第1の候補ノードは、前記開始候補ノードに接続されており、候補ノードの前記第1のシーケンスにおける第1の候補ノード以外の各候補ノードは、候補ノードの前記第1のシーケンスにおける先行する各候補ノードに接続されており、
    前記選択された候補ノード、候補ノードの選択された前記第1のシーケンスとともに、選択された前記開始候補ノードによって形成されている候補ノードの第2のシーケンスを含み、
    前記選択された候補線、候補ノードの前記第2のシーケンスを順次接続する前記複数の候補線における候補線の第1のシーケンスを含む、
    請求項11に記載の図形表示システム。
  17. 候補ノードの前記第2のシーケンスにおける候補ノードの位置は、選択された前記開始候補ノードからスタートして、時計回りに動く、
    請求項16に記載の図形表示システム。
  18. 前記プロセッサはさらに、(i)前記選択された候補ノー及び前記選択された候補ノード接続されている前記複数の候補ノードにおけるあらゆる候補ノードを、前記連結グラフの前記複数の候補ノードから除去するように、かつ、(ii)前記選択された候補及び前記選択された候補線接続されている前記複数の候補線におけるあらゆる候補線を、前記連結グラフの前記複数の候補線から除去するように構成されており、かつ、
    前記プロセッサはさらに、前記除去後に、複数の候補ノード内に残存している候補ノード及び前記複数の候補線内に残存している候補線に応じて、前記連結グラフ及び前記隣接リストに基づいて、前記少なくとも1つの3D構造体のさらなるフットプリントを作成するように構成されている、
    請求項16に記載の図形表示システム。
  19. 前記プロセッサはさらに、
    候補ノードの前記第2のシーケンスを順次接続する候補線の前記第1のシーケンスにおいて繰り返される候補線に対応する辺を前記フットプリントから除去するように構成されている、
    請求項16に記載の図形表示システム。
  20. 前記プロセッサはさらに、
    前記少なくとも1つの3D構造体の作成された前記フットプリントを用いて、グラフィックスをレンダリングするように構成されており、かつ、
    レンダリングされた3Dグラフィックスを表示するように前記表示装置を動作させるように構成されている、
    請求項11に記載の図形表示システム。
JP2019045849A 2018-03-14 2019-03-13 効率的な建物フットプリント特定のための方法及び装置 Active JP7368950B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/921,072 2018-03-14
US15/921,072 US10553025B2 (en) 2018-03-14 2018-03-14 Method and device for efficient building footprint determination

Publications (2)

Publication Number Publication Date
JP2019164787A JP2019164787A (ja) 2019-09-26
JP7368950B2 true JP7368950B2 (ja) 2023-10-25

Family

ID=67774745

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019045849A Active JP7368950B2 (ja) 2018-03-14 2019-03-13 効率的な建物フットプリント特定のための方法及び装置

Country Status (4)

Country Link
US (1) US10553025B2 (ja)
JP (1) JP7368950B2 (ja)
CN (1) CN110276835A (ja)
DE (1) DE102019203413A1 (ja)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014502388A (ja) 2010-11-01 2014-01-30 キューブ リース インコーポレーテッド 動的データを有する3次元空間オブジェクトの生成及びリンク、及び、当該オブジェクトの地理情報システムにおける視覚化

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6031544A (en) * 1997-02-28 2000-02-29 Adobe Systems Incorporated Vector map planarization and trapping
US20030132932A1 (en) * 2001-09-17 2003-07-17 Xiangheng Yang Method for constructing polygons used to represent geographic features
FR2852128A1 (fr) 2003-03-07 2004-09-10 France Telecom Procede pour la gestion de la representation d'au moins une scene 3d modelisee.
US20150187130A1 (en) * 2011-02-10 2015-07-02 Google Inc. Automatic Generation of 2.5D Extruded Polygons from Full 3D Models
CN102663811A (zh) * 2012-03-23 2012-09-12 北京师范大学 一种基于空间认知的大场景城市建筑实时三维可视化的方法
US9001123B1 (en) * 2012-07-17 2015-04-07 Lockheed Martin Corporation Forming a polygon mesh without shifting vertex positions
US9792724B2 (en) 2013-03-14 2017-10-17 Robert Bosch Gmbh System and method for generation of shadow effects in three-dimensional graphics
US20140267282A1 (en) 2013-03-14 2014-09-18 Robert Bosch Gmbh System And Method For Context Dependent Level Of Detail Adjustment For Navigation Maps And Systems
US9886790B2 (en) 2013-03-14 2018-02-06 Robert Bosch Gmbh System and method of shadow effect generation for concave objects with dynamic lighting in three-dimensional graphics
US20140267273A1 (en) * 2013-03-15 2014-09-18 Janne Kontkanen System and method for overlaying two-dimensional map elements over terrain geometry
US10033570B2 (en) * 2015-01-15 2018-07-24 International Business Machines Corporation Distributed map reduce network
US10288434B2 (en) * 2015-06-26 2019-05-14 Here Global B.V. Map-centric map matching method and apparatus

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014502388A (ja) 2010-11-01 2014-01-30 キューブ リース インコーポレーテッド 動的データを有する3次元空間オブジェクトの生成及びリンク、及び、当該オブジェクトの地理情報システムにおける視覚化

Also Published As

Publication number Publication date
JP2019164787A (ja) 2019-09-26
US20190287300A1 (en) 2019-09-19
US10553025B2 (en) 2020-02-04
DE102019203413A1 (de) 2019-09-19
CN110276835A (zh) 2019-09-24

Similar Documents

Publication Publication Date Title
CN109509138B (zh) 针对射线跟踪系统的减小的加速结构
CN106780709B (zh) 一种确定全局光照信息的方法及装置
US10553013B2 (en) Systems and methods for reducing rendering latency
US10529117B2 (en) Systems and methods for rendering optical distortion effects
US9589386B2 (en) System and method for display of a repeating texture stored in a texture atlas
JP2022091849A (ja) 光線バンドルの光線に対する差分データを決定する方法及びグラフィックス処理ユニット
KR100506822B1 (ko) 3차원 다각형의 화면 표시방법
US10553012B2 (en) Systems and methods for rendering foveated effects
US10699467B2 (en) Computer-graphics based on hierarchical ray casting
CN105556571A (zh) 使用计算着色器作为顶点着色器的前端
US8072456B2 (en) System and method for image-based rendering with object proxies
CN117280387A (zh) 用于光线和路径追踪的位移微网格
US10325403B2 (en) Image based rendering techniques for virtual reality
EP3501012B1 (en) System and method for procedurally generated object distribution in regions of a three-dimensional virtual environment
US9401044B1 (en) Method for conformal visualization
CN114375464A (zh) 使用边界体积表示对虚拟空间中的动态单元进行光线追踪
US9454554B1 (en) View dependent query of multi-resolution clustered 3D dataset
US11100707B2 (en) Computer graphics method for terrain rendering
US6831642B2 (en) Method and system for forming an object proxy
JP7368950B2 (ja) 効率的な建物フットプリント特定のための方法及び装置
KR100624455B1 (ko) 3차원 그래픽스 환경에서의 라이트맵 처리 방법 및 장치
WO2016109768A1 (en) System and method of shadow effect generation for concave objects with dynamic lighting in three-dimensional graphics
CN117745996A (zh) 一种移动三维视图的方法及装置
ビデオゲームアプリケーション et al. Research on Improving Methods for Visualizing Common Elements in Video Game Applications
フォルストマンスヴェン Research on Improving Methods for Visualizing Common Elements in Video Game Applications

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190520

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220311

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230302

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230404

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20230703

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230831

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20231013

R150 Certificate of patent or registration of utility model

Ref document number: 7368950

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150