JP4291360B2 - 地図データ処理方法、コンピュータグラフィック処理方法およびコンピュータグラフィック処理装置 - Google Patents
地図データ処理方法、コンピュータグラフィック処理方法およびコンピュータグラフィック処理装置 Download PDFInfo
- Publication number
- JP4291360B2 JP4291360B2 JP2006343124A JP2006343124A JP4291360B2 JP 4291360 B2 JP4291360 B2 JP 4291360B2 JP 2006343124 A JP2006343124 A JP 2006343124A JP 2006343124 A JP2006343124 A JP 2006343124A JP 4291360 B2 JP4291360 B2 JP 4291360B2
- Authority
- JP
- Japan
- Prior art keywords
- building
- map data
- bounding box
- intersection
- surround
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Instructional Devices (AREA)
- Processing Or Creating Images (AREA)
- Image Generation (AREA)
Description
本研究では、街並みを構築する各3次元オブジェクトを、数値地図及び単純なテクスチャから作成する手法を述べる。目的はデジタルシティとバーチャルシティの中間点に位置するような2次元オブジェクトを作成することである。このシステムにより複数の建物オブジェクトが立ち並ぶ仮想空間の生成が誰にでも容易に短時間で可能となる。
図1は、本研究でのシステム構成と処理の流れを示している。本研究では数値地図データを扱うために、GeoBaseと呼ばれるGISに必要な各種の機能が凝縮された32ビットWINDOWS DLLのツールライブラリを用いる。 本システムは、始めに2次元数値地図からデータを読みこむ。この数値地図はGeoBaseが読み込める形式のものでなければならない。その後、読み込んだ図形群に対し高さ変更及び新たなオブジェクトの追加を行う。この段階でもGeoBaseの機能を活かして仮の3次元表示が可能である。その後高さ情報を持った2次元データを書き出し、別プログラムへ処理を移す。
3.1 GeoBaseアプリケーションおよび基本的な処理
このアプリケーションに用いたGeoBaseのイメージを図2に示す。このアプリケーションでは数値地図の読み込み、建物オブジェクトの追加・削除、及び高さの変更が行える。また、3次元に加工するとどのような概観になるのかを、プリミティブなオブジェクトの状態でプレビューできる。その後、範囲を指定し2次元のベクトルデータを書き出す。
GeoBase自体にはマウスで高さを変更できる機能は無いため、ピック処理と図形データ変更機能を組み合わせ実現した。図5を参照すると、高さを変更したいオブジェクトを選択し、その状態でマウスをドラッグすることでリアルタイムな高さ変更が可能となった。図5では途中経過がないが、実際の実行画面では滑らかに高さが変化する。
4.1 2次元データから3次元データの生成
4章ではGeoBaseアプリケーションによって吐き出された2次元データから3次元データを生成する手法を述べる。始めに、その書き出されたデータの一部を図6に示す。
今回は建物のオブジェクトの形状を、側面は平らであることに限定しているので、側面ポリゴンの生成は上面に比べ難易度は低く、非常に簡単である。面を上に引っ張るようなイメージそのままで作成できる。
上面の形状は、単純で無い多角形の場合が多いため、側面に比べ三角形分割が複雑になる。多角形の分割アルゴリズムには「ボロノイ多角形とドロネー三角形分割」、「デローニ三角形分割」などがあるが、今回は描画プログラムにOpenGLを使用しているということもあり、OpenGLのライブラリの一つであるGLUライブラリのタイリングルーチンを利用した(Mark J.Kigard, OpenGL Programing for the X Window System(日本語版)、p58、1997)。
static GLUtriangulatorObj *tobj = NULL;
タイリングオブジェクト格納用のポインタを宣言する;
tobj = gluNewTess();
新しくタイリングオブジェクトを作成し、先ほど作成したポインタに代入する;
次にコールバックを指定する;
gluTessCallback(tobj,GLU_BEGIN, (void (__stdcall *) (void))glBegin);
gluTessCallback(tobj,GLU_VERTEX, (void (__stdcall *) (void))GetVertex);
gluTessCallback(tobj,GLU_EDGE_FLAG,(void (__stdcall *) (void))GetFlag);
gluTessCallback(tobj,GLU_END, (void (__stdcall *) (void))glEnd);
この4つの指定の中でもGLU_VERTEX、GLU_EDGEが重要となる。GLU_VERTEXはgluTessVertex()ルーチンによって登録された凹型多角形の頂点が三角形に分割されるごとに呼び出されるコールバックルーチンを指定する。ここではGetVertexとしているが、この関数は _stdcall void GetVertex(void *data) の様に定義され、void型のポインタによりGLdouble型の3つの頂点の値を受け取る。それをメンバ変数などで保持することで、三角形分割ができる。ただし、このコールバックと共にGLU_EDGEについても指定しなければ正しい値を受け取ることはできない。ここでのコールバック関数は _stdcall void GetFlag(GLboolean b) の様に記述したが、このフラグはこのGetFlagの次に呼ばれるGetVertexに渡される頂点の値が、始めに登録した凹型の多角形の頂点の中にあるかどうかを示すものである。今回の処理においてこの値は必要としないが、正しく分割された頂点の値を得るにはこのコールバックを指定しなければならない。
for(int i=0; i<VerNum++)
{
gluTessVertex(tobj, vertex[i], vertex[i]);
}
gluEndPolygon(tobj);
その後、gluBeginPolugon(tobj)でタイリングを開始し、自分の多角形の頂点数ループを繰り返し、gluTessVertexでfloat[3]やdouble[3]の形で頂点の値を渡す。2、3番目の引数は同じもので良い。そして最後にgluEndPolygonを実行することで、先ほど指定したコールバック関数が連続で呼ばれ、タイリングされた頂点が取得できる。
本研究では自動的に正面を判定することで様々な自動処理の実現を図る。その判定項目は、周囲の建物との距離(距離が遠い面を正面とする)、面の大きさを用いるのだが、始めに前者の方法について説明する。
バウンディングボックスとはオブジェクトを囲む衝突判定領域のことである。最も単純な作成方法は、あるオブジェクトの最大・最小のX,Y座標を用いるもので、非常に簡単に作成できる反面、判定が曖昧になってしまうという欠点がある。例えば図9左側に示される様なバウンディングボックスを作る時、右下に大き空間ができてしまう。
オブジェクト周囲スペース計算の具体的な方法として、前述したバウンディングボックスに密着した長方形を作成する。その長方形(以後サラウンドボックスと呼ぶ)と、他の建物オブジェクトのバウンディングボックスとの交点を求め、その交点から自分のバウンディングボックスまでの距離を求める。ここでは、上述の交点、及び長方形内側にあるバウンディングボックスの頂点(以下内包点)を求め、その求められた点までの距離が求められる。この距離が、建物オブジェクトの一面からの他の建物オブジェクトまでの距離となる。
数値地図では様々な大きさ・高さの建物オブジェクトが存在し、かつ動的に高さの変更も行えるため、あらかじめテクスチャを用意することができない。そこで、多様な建物オブジェクトのために数多くのテクスチャを動的に生成する必要がある。今回はビルに対象を絞った手法を述べる。
5.1 実験環境
本システム作成環境はDELL社のDimension4300を用いた.CPUはDual Pentium IV 1.7GHz、Memoryは256MB、OSはWindows2000を使用し、Visual C++6.0でビルドした.3次元グラフィクス表示ライブラリにOpenGLを使用している。動作環境はOpenGLランタイムライブラリを導入しているWindows9x、WindowsNT、Windows2000で実行可能である.
図17および図18は同じ数値地図から作成したデータを描画したものである。テクスチャ自動生成の手法により、このような多くの建物オブジェクトが存在する空間を非常に手軽に作成することができた。
以下、上述の研究の発明が適用されたコンピュータグラフィックス処理装置の実施形態を説明する。
12 地図データ取得部
14 高さ情報取得部
16 3次元データ生成部
18 正面判定部
20 テキスチャ生成部
22 出力処理部
30 バウンディングボックス生成部
32 長方形生成部
34 交点・内包点検出部
36 最大面判定部
38 正面決定部
40 補正部
Claims (17)
- プログラムされたコンピュータによって地図データに含まれる建物の正面を判定する地図データ処理方法であって、
地図データ取得部が、地図データを記憶する記録媒体もしくは外部から地図データを取得するステップと、
バウンディングボックス生成部が、前記地図データに含まれる建物を取り囲むバウンディングボックスを作成するステップと、
長方形生成部が、前記バウンディングボックスの各辺に対応するサラウンドボックスを作成するステップと、
交点・内包点検出部が、前記サラウンドボックスごとに、サラウンドボックスの辺と他の建物のバウンディングボックスの辺とが交差する交点を検出するステップと、
前記交点が検出された場合に、正面決定部が、その交点から前記バウンディングボックスまでの距離を算出し、前記各サラウンドボックスについての前記距離を基に、前記距離が最大となるサラウンドボックスを判定し、前記距離が最大となるサラウンドボックスに対応する前記バウンディングボックスの辺を基に、建物の正面を判定するステップと、
を備えることを特徴とする地図データ処理方法。 - 前記交点・内包点検出部により前記バウンディングボックスにおける全てのサラウンドボックスについて前記交点が検出されなかった場合、
最大面判定部が、建物の最も大きい面を判定するステップと、
前記正面決定部が、建物の最も大きい面が正面であると判定するステップと、
をさらに備えることを特徴とする請求項1に記載の地図データ処理方法。 - 前記サラウンドボックスは、長方形であり、その長方形の高さは一定であることを特徴とする請求項1または2に記載の地図データ処理方法。
- 補正部が、前記正面決定部により判定された建物の正面の判定結果を、その建物の近傍に位置する建物の正面判定結果に基づいて補正するステップをさらに備えることを特徴とする請求項1から3のいずれかに記載の地図データ処理方法。
- 前記補正部が建物の正面の判定結果を補正するステップは、
補正の対象として着目している建物の両隣に位置する建物を求めるステップと、
着目している建物の正面方向を両隣の建物の正面方向と比較するステップと、
両隣の建物の正面方向が一致し、着目している建物の正面方向のみが異なる場合に、着目している建物の正面方向を、両隣の建物の正面方向と同じ方向となるよう変更するステップと、
を備えることを特徴とする請求項4に記載の地図データ処理方法。 - プログラムされたコンピュータによって地図データからコンピュータグラフィック画像を生成するコンピュータグラフィック処理方法であって、
地図データ取得部が、地図データを記憶する記録媒体もしくは外部から地図データを取得するステップと、
バウンディングボックス生成部が、前記地図データに含まれる建物を取り囲むバウンディングボックスを作成するステップと、
長方形生成部が、前記バウンディングボックスの各辺に対応するサラウンドボックスを作成するステップと、
交点・内包点検出部が、前記サラウンドボックスごとに、サラウンドボックスの辺と他の建物のバウンディングボックスの辺とが交差する交点を検出するステップと、
前記交点が検出された場合に、正面決定部が、その交点から前記バウンディングボックスまでの距離を算出し、前記各サラウンドボックスについての前記距離を基に、前記距離が最大となるサラウンドボックスを判定し、前記距離が最大となるサラウンドボックスに対応する前記バウンディングボックスの辺を基に、建物の正面を判定するステップと、
前記正面決定部による建物の正面の判定結果を用いて、3次元データ生成部が、地図データからコンピュータグラフィック画像を生成するステップと、
を備えることを特徴とするコンピュータグラフィック処理方法。 - 前記正面決定部により建物の正面であると判定された面に対して、テクスチャ生成部が、建物の出入口のテクスチャを張り付けるステップをさらに備えることを特徴とする請求項6に記載のコンピュータグラフィック処理方法。
- 地図データを記憶する記録媒体もしくは外部から地図データを取得する地図データ取得部と、
前記地図データに含まれる建物を取り囲むバウンディングボックスを作成するバウンディングボックス生成部と、
前記バウンディングボックスの各辺に対応するサラウンドボックスを作成する長方形生成部と、
前記サラウンドボックスごとに、サラウンドボックスの辺と他の建物のバウンディングボックスの辺とが交差する交点を検出する交点・内包点検出部と、
前記交点が検出された場合に、その交点から前記バウンディングボックスまでの距離を算出し、前記各サラウンドボックスについての前記距離を基に、前記距離が最大となるサラウンドボックスを判定し、前記距離が最大となるサラウンドボックスに対応する前記バウンディングボックスの辺を基に、建物の正面を判定する正面決定部と、
前記正面決定部による建物の正面の判定結果を用いて、前記地図データからコンピュータグラフィック画像を生成する3次元データ生成部と、
を備えることを特徴とするコンピュータグラフィック処理装置。 - 前記交点・内包点検出部により前記バウンディングボックスにおける全てのサラウンドボックスについて前記交点が検出されなかった場合、建物の最も大きい面を判定する最大面判定部をさらに備え、
前記交点が検出されなかった場合に、前記正面決定部は、前記建物の最も大きい面が正面であると判定することを特徴とする請求項8に記載のコンピュータグラフィック処理装置。 - 前記サラウンドボックスは、長方形であり、その長方形の高さは一定であることを特徴とする請求項8または9に記載のコンピュータグラフィック処理装置。
- 前記正面決定部により判定された建物の正面の判定結果を、その建物の近傍に位置する建物の正面判定結果に基づいて補正する補正部をさらに備えることを特徴とする請求項8から10のいずれかに記載のコンピュータグラフィック処理装置。
- 前記補正部は、
補正の対象として着目している建物の両隣に位置する建物を求める手段と、
着目している建物の正面方向を両隣の建物の正面方向と比較する手段と、
両隣の建物の正面方向が一致し、着目している建物の正面方向のみが異なる場合に、着目している建物の正面方向を、両隣の建物の正面方向と同じ方向となるよう変更する手段と、
を備えることを特徴とする請求項11に記載のコンピュータグラフィック処理装置。 - 建物の2次元形状および配置を含む地図データを記憶する記録媒体もしくは外部から地図データを取得する地図データ取得部と、
前記地図データに含まれる建物の高さの情報を取得する高さ情報取得部と、
前記地図データに含まれる建物を取り囲むバウンディングボックスを作成するバウンディングボックス生成部と、
前記バウンディングボックスの各辺に対応するサラウンドボックスを作成する長方形生成部と、
前記サラウンドボックスごとに、サラウンドボックスの辺と他の建物のバウンディングボックスの辺とが交差する交点を検出する交点・内包点検出部と、
前記交点が検出された場合に、その交点から前記バウンディングボックスまでの距離を算出し、各サラウンドボックスについての前記距離を基に、前記距離が最大となるサラウンドボックスを判定し、前記距離が最大となるサラウンドボックスに対応する前記バウンディングボックスの辺を基に、建物の正面を判定する正面決定部と、
前記高さ情報取得部により取得された高さまで前記2次元形状を引き上げることにより得られる3次元形状を有し、前記正面決定部の判定結果に従って正面が表現された建物を含む3次元コンピュータグラフィック画像を生成する3次元データ生成部と、
を備えることを特徴とするコンピュータグラフィック処理装置。 - 前記正面決定部により建物の正面であると判定された面に対して、建物の出入口のテクスチャを張り付けるテクスチャ生成部をさらに備えることを特徴とする請求項13に記載のコンピュータグラフィック処理装置。
- コンピュータに地図データの処理を実行させるためのプログラムであって、
地図データ取得部が、地図データを記憶する記録媒体もしくは外部から地図データを取得する機能と、
バウンディングボックス生成部が、前記地図データに含まれる建物を取り囲むバウンディングボックスを作成する機能と、
長方形生成部が、前記バウンディングボックスの各辺に対応するサラウンドボックスを作成する機能と、
交点・内包点検出部が、前記サラウンドボックスごとに、サラウンドボックスの辺と他の建物のバウンディングボックスの辺とが交差する交点を検出する機能と、
前記交点が検出された場合に、正面決定部が、その交点から前記バウンディングボックスまでの距離を算出し、前記各サラウンドボックスについての前記距離を基に、前記距離が最大となるサラウンドボックスを判定し、前記距離が最大となるサラウンドボックスに対応する前記バウンディングボックスの辺を基に、建物の正面を判定する機能と、
を実行させるためのプログラム。 - 建物を含む3次元コンピュータグラフィックス画像を生成する処理をコンピュータに行わせるためのプログラムであって、
地図データ取得部が、地図データを記憶する記録媒体もしくは外部から地図データを取得する機能と、
バウンディングボックス生成部が、前記地図データに含まれる建物を取り囲むバウンディングボックスを作成する機能と、
長方形生成部が、前記バウンディングボックスの各辺に対応するサラウンドボックスを作成する機能と、
交点・内包点検出部が、前記サラウンドボックスごとに、サラウンドボックスの辺と他の建物のバウンディングボックスの辺とが交差する交点を検出する機能と、
前記交点が検出された場合に、正面決定部が、その交点から前記バウンディングボックスまでの距離を算出し、前記各サラウンドボックスについての前記距離を基に、前記距離が最大となるサラウンドボックスを判定し、前記距離が最大となるサラウンドボックスに対応する前記バウンディングボックスの辺を基に、建物の正面を判定する機能と、
前記正面決定部による建物の正面の判定結果を用いて、3次元データ生成部が、前記地図データからコンピュータグラフィック画像を生成する機能と、
をコンピュータに行わせるためのプログラム。 - 請求項15または16に記載のプログラムを記録した、コンピュータにて読取可能な記録媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006343124A JP4291360B2 (ja) | 2006-12-20 | 2006-12-20 | 地図データ処理方法、コンピュータグラフィック処理方法およびコンピュータグラフィック処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006343124A JP4291360B2 (ja) | 2006-12-20 | 2006-12-20 | 地図データ処理方法、コンピュータグラフィック処理方法およびコンピュータグラフィック処理装置 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002086532A Division JP3911182B2 (ja) | 2002-03-26 | 2002-03-26 | 地図データ処理方法、コンピュータグラフィック処理方法および装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2007149108A JP2007149108A (ja) | 2007-06-14 |
JP4291360B2 true JP4291360B2 (ja) | 2009-07-08 |
Family
ID=38210381
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006343124A Expired - Fee Related JP4291360B2 (ja) | 2006-12-20 | 2006-12-20 | 地図データ処理方法、コンピュータグラフィック処理方法およびコンピュータグラフィック処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4291360B2 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9464914B1 (en) | 2015-09-01 | 2016-10-11 | International Business Machines Corporation | Landmark navigation |
KR101696610B1 (ko) * | 2015-11-26 | 2017-01-16 | 케이아이티밸리(주) | 인접건물 결정방법 |
CN113449687B (zh) * | 2021-07-19 | 2023-08-01 | 北京百度网讯科技有限公司 | 兴趣点出入口的识别方法、装置及电子设备 |
CN115906206B (zh) * | 2022-10-24 | 2023-12-12 | 陈辉 | 一种基于gis的空间计算设备及空间规划分析方法 |
-
2006
- 2006-12-20 JP JP2006343124A patent/JP4291360B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2007149108A (ja) | 2007-06-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5592011B2 (ja) | マルチスケール3次元配向 | |
JP4447865B2 (ja) | 地図表示システム、地図データ加工装置、地図表示装置及び地図表示方法 | |
US9149309B2 (en) | Systems and methods for sketching designs in context | |
JP4948218B2 (ja) | 画像処理装置及びその制御方法 | |
EP2643822B1 (en) | Guided navigation through geo-located panoramas | |
JP5299173B2 (ja) | 画像処理装置および画像処理方法、並びにプログラム | |
US20130057550A1 (en) | Three-dimensional map drawing system | |
US20100085350A1 (en) | Oblique display with additional detail | |
US9250093B2 (en) | Navigation device, method of predicting a visibility of a triangular face in an electronic map view, and method for generating a database | |
CN116051713B (zh) | 渲染方法、电子设备和计算机可读存储介质 | |
JP2007132972A (ja) | 情報処理装置、情報処理方法、およびプログラム | |
JP4291360B2 (ja) | 地図データ処理方法、コンピュータグラフィック処理方法およびコンピュータグラフィック処理装置 | |
KR20230164545A (ko) | 3D 기하 객체 정보를 이용한 CityGML 기반의 빌딩 객체 정보 생성 방법, 빌딩 객체 정보 생성 시스템, 이를 위한 컴퓨터 프로그램 | |
US7116341B2 (en) | Information presentation apparatus and method in three-dimensional virtual space and computer program therefor | |
JP4636741B2 (ja) | 画像処理装置および立体形状表示プログラム | |
JP2005182207A (ja) | 画像描画装置及び方法、プログラム並びに記録媒体 | |
JP3911182B2 (ja) | 地図データ処理方法、コンピュータグラフィック処理方法および装置 | |
KR102454180B1 (ko) | 3차원 지형 데이터를 생성 장치 및 방법 | |
Virtanen et al. | Browser based 3D for the built environment | |
CN116647657A (zh) | 响应式视频画布生成 | |
Greenwood et al. | Using game engine technology to create real-time interactive environments to assist in planning and visual assessment for infrastructure | |
Virtanen et al. | INTERACTIVE GEO-INFORMATION IN VIRTUAL REALITY–OBSERVATIONS AND FUTURE CHALLENGES | |
CN114037792A (zh) | 一种Unreal Engine平台下的百万量级地下管线模型动态生成方法 | |
Ehtemami et al. | Review of Visualizing Historical Architectural Knowledge through Virtual Reality | |
JP4017351B2 (ja) | 3次元モデル生成装置および3次元モデル生成プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
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: 20090331 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20090402 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120410 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130410 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |