(57)【特許請求の範囲】
【請求項１】
所定領域の地形を３次元座標で示した地形モデルと、前記所定領域内に位置する構造物を３次元座標で示した構造物モデルとを用いて、前記所定領域の３次元情報を生成する３次元情報処理装置において、
前記構造物モデルの底面を水平面に投影した際に得られる範囲を含む範囲を、前記構造物モデルの底面範囲として決定する構造物底面範囲算出部と、
前記地形モデルのうち前記水平面に投影した際に得られる範囲が前記構造物モデルの底面範囲と重複する地形モデルについて、その地形モデルに含まれる頂点の集合を決定する地形頂点合成部と、
前記頂点の集合の成す線分を前記水平面に投影した際に得られる線分と、前記構造物モデルの底面の外周線分を前記水平面に投影した際に得られる線分との、交点を決定する底面交点算出部と、
前記交点および前記構造物モデルの底面を構成する複数の点における前記地形モデルの高さを決定する全点高さ算出部と、
前記地形モデルの高さから、前記所定領域の３次元情報における基準高さを決定する基準高さ算出部と、
前記基準高さと、前記構造物モデルの底面を構成する複数の点における前記地形モデルの高さとを用いて、前記構造物モデルの高さを補正する構造物高さ補正部とを備えたことを特徴とする３次元情報処理装置。
【請求項２】
前記底面交点算出部は、前記地形頂点合成部が決定した地形モデルを水平面上に投影した頂点集合の成す２次元の線分群と、前記構造物モデルの底面の外周線分を水平面上に投影した２次元の線分群との交点を２次元座標として決定することを特徴とする請求項１記載の３次元情報処理装置。
【請求項３】
前記全点高さ算出部は、前記底面交点算出部が決定した前記交点および前記構造物モデルの底面を構成する前記複数の点の２次元座標が、前記地形モデルを水平面上に投影した頂点集合の成す２次元線分群が形成した三角形集合のうちいずれの三角形に属するかを特定し、特定した三角形を構成する三頂点の高さを用いて線形補間を行い、前記交点および前記複数の点における前記地形モデルの高さを決定することを特徴とする請求項２記載の３次元情報処理装置。
【請求項４】
前記基準高さ算出部は、前記全点高さ算出部が決定した前記地形モデルの高さの最小値、平均値、または中間値のいずれかを基準高さとすることを特徴とする請求項１記載の３次元情報処理装置。
【請求項５】
前記構造物モデルの底面と、前記基準高さ算出部が決定した基準高さとから土台モデルを決定し、決定した土台モデルを前記地形モデルと前記構造物モデルとの間に生じる隙間に付加する土台モデル生成部と、
ユーザによる補正モードの指定を受け付ける補正モード入力部と、
前記補正モード入力部が受け付けた補正モードに応じて、前記構造物高さ補正部による構造物モデルの高さの補正処理、あるいは前記土台モデル生成部による土台モデルの付加処理のいずれかの処理を選択する補正処理選択部とを備えたことを特徴とする請求項１記載の３次元情報処理装置。
【請求項６】
前記土台モデル生成部は、前記構造物モデルの底面を前記土台モデルの上面とし、前記基準高さを構成する各頂点が形成する平面を前記土台モデルの下面とした多角柱を前記土台モデルとして決定することを特徴とする請求項５記載の３次元情報処理装置。
【請求項７】
前記土台モデル生成部は、前記土台モデルのテクスチャを蓄積した土台テクスチャデータベースを参照し、前記決定した多角柱の土台モデルの側面に適用するテクスチャを選択することを特徴とする請求項５記載の３次元情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、建物などの３次元モデルの高さ方向の表示情報を調整する３次元情報処理装置に関するものである。
【背景技術】
【０００２】
例えば、カーナビゲーションなどの地図表示機能を備えた機器は、起伏のある３次元の地形モデル上に商業施設などの建物モデルを配置し、当該地形モデルおよび建物モデルを俯瞰視する３次元地図俯瞰表示機能を備えている。３次元地図俯瞰表示機能を実現するためのデータは、一般的に地図データ作成会社から提供される３次元情報である地形モデルや建物モデルであり、これらの３次元情報は実地測位されたデータに基づいて作成される。しかし、地形や建物の３次元情報の測位には誤差が含まれることから、当該３次元情報に基づく３次元地図を表示した場合に、地形モデルに対して建物モデルが浮く、または地形モデルに対して建物モデルが沈むという問題があった。【０００３】
この対策として、特許文献１では実際の地形に即した標高修正処理として、処理対象となる建物底面の各頂点座標における標高を３次元地形データから抽出し、抽出した標高のうち最大値を当該建物の基準標高として建物底面以外の各頂点の高さ座標に加算し、また抽出した標高のうち最小値を当該建物の底面標高として建物底面の各頂点の高さ座標に加算することにより、建物モデルが地形モデルから浮く、または地形モデルに対して建物モデルが沈むのを抑制している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００１−２６６１７７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述した特許文献１に開示された技術では、建物底面の各頂点座標の標高のみを考慮しているため、建物底面の位置に存在する地形の起伏が大きく、且つ建物底面の頂点間の距離が長い場合には、地形モデルと建物モデルとの間に隙間が生じる、または地形モデルに対して建物モデルが沈み過ぎるという課題があった。
例えば、ある建物底面の２頂点の標高が共に５ｍであり、当該２頂点間で地形の標高が最小で０ｍとなる場合に、本来であれば建物底面の標高を０ｍに合わせるべきであるが、建物底面の標高を５ｍに合わせてしまい、結果として地形モデルに対して建物モデルが浮いてしまう。【０００６】
この発明は上記のような課題を解決するためになされたもので、地形の起伏が大きく、且つ建物底面の頂点間の距離が長い場合であっても、地形モデルに対して建物モデルが浮く、あるいは地形モデルに対して建物モデルが沈み過ぎるのを抑制することを目的とする。
【課題を解決するための手段】
【０００７】
この発明に係る３次元情報処理装置は、構造物モデルの底面を含む範囲を構造物モデルの底面範囲として決定する構造物底面範囲算出部と、構造物モデルの底面範囲を含む地形モデルの頂点集合を決定する地形頂点合成部と、地形モデルの頂点集合の成す線分と、構造物モデルの底面の外周線分との交点を決定する底面交点算出部と、交点および構造物モデルの底面を構成する複数の点における地形モデルの高さを決定する全点高さ算出部と、地形モデルの高さから、所定領域の３次元情報における基準高さを決定する基準高さ算出部と、基準高さと、構造物モデルの底面を構成する複数の点における地形モデルの高さとを用いて、構造物モデルの高さを補正する構造物高さ補正部とを備えるものである。
【発明の効果】
【０００８】
この発明によれば、地形モデルに対して建物モデルが浮く、あるいは地形モデルに対して建物モデルが沈み過ぎるとの不具合の発生を抑制した３次元情報を提供することができる。
【図面の簡単な説明】
【０００９】
【図１】実施の形態１による３次元情報処理装置の構成を示すブロック図である。
【図２】実施の形態１による３次元情報処理装置の動作を示すフローチャートである。
【図３】実施の形態１による３次元情報処理装置の建物データベースに蓄積された建物モデルの一例を示す図である。
【図４】実施の形態１による３次元情報処理装置の建物底面範囲の算出の一例を示す図である。
【図５】実施の形態１による３次元情報処理装置の地形データベースに蓄積された地形モデルの一例を示す図である。
【図６】実施の形態１による３次元情報処理装置の地形モデルの合成を示す説明図である。
【図７】実施の形態１による３次元情報処理装置の経線に平行な線分との交点の算出を示す図である。
【図８】実施の形態１による３次元情報処理装置の緯線に平行な線分との交点の算出を示す図である。
【図９】実施の形態１による３次元情報処理装置の斜め線に平行な線分との交点の算出を示す図である。
【図１０】実施の形態１による３次元情報処理装置の斜め線に平行な線分との交点の算出を示す図である。
【図１１】実施の形態１による３次元情報処理装置の斜め線に平行な線分との交点の算出を示す図である。
【図１２】実施の形態１による３次元情報処理装置の建物底面の外周線分と地形頂点集合の成す線分との交点を示す図である。
【図１３】実施の形態１による３次元情報処理装置の全点高さ算出部の算出例を示す図である。
【図１４】実施の形態２による３次元情報処理装置の構成を示すブロック図である。
【図１５】実施の形態２による３次元情報処理装置の動作を示すフローチャートである。
【図１６】実施の形態２による３次元情報処理装置の土台モデルの取得を示す説明図である。
【発明を実施するための形態】
【００１０】
以下、この発明をより詳細に説明するために、この発明を実施するための形態について、添付の図面に従って説明する。また、以下の各実施の形態では、所定領域の地形を３次元座標で示した地形モデルと、所定領域内に位置する建物を３次元座標で示した建物モデルを用いて説明を行うが、建物に限定されることなく、３次元情報内に含まれる種々の構造物などを対象とすることが可能である。
実施の形態１．
図１は、この発明の実施の形態１による３次元情報処理装置の構成を示すブロック図である。
３次元情報処理装置１００は、建物モデルデータベース１、建物モデル入力部２、建物底面抽出部（構造物底面抽出部）３、建物底面範囲算出部（構造物底面範囲算出部）４、地形モデルデータベース５、地形モデル抽出部６、地形頂点合成部７、底面交点算出部８、全点高さ算出部９、基準高さ算出部１０および建物高さ補正部（構造物高さ補正部）１１で構成されている。
【００１１】
建物モデルデータベース１は、任意の地図範囲に存在する複数の建物を３次元モデル化して表現した建物モデルを蓄積したデータベースである。建物モデル入力部２は、建物モデルデータベース１から１つの建物に関する建物モデルを取得する。建物底面抽出部３は、建物モデル入力部２が取得した建物モデルの底面を構成する頂点を抽出する。建物底面範囲算出部４は、建物モデルの底面の頂点から、地図上の建物の存在する範囲を算出する。地形モデルデータベース５は、地形を３次元モデル化して表現した地形モデルを蓄積したデータベースである。地形モデル抽出部６は、地形モデルデータベース５から、建物底面範囲算出部４が算出した範囲に存在する全ての地形モデルを抽出する。地形頂点合成部７は、地形モデル抽出部６が抽出した地形モデルの中で隣接する地形モデル同士を合成して１つの頂点群にまとめる。
【００１２】
底面交点算出部８は、合成された地形頂点が成す全ての線分を水平面上へ投影した２次元の線分群と、建物底面の外周線分を水平面上へ投影した２次元の線分群の交点を算出する。全点高さ算出部９は、底面交点算出部８が取得した全交点の高さと、建物底面を構成する頂点における高さを算出する。基準高さ算出部１０は、全点高さ算出部９が算出した全ての頂点の高さを用いて、補正後の建物モデルの高さを算出する。建物高さ補正部１１は、基準高さ算出部１０が算出した高さを用いて建物モデルを構成する全頂点の高さを補正し、建物モデルを再構築する。
【００１３】
次に、３次元情報処理装置の動作について図２のフローチャートおよび図３から図１２の説明図を参照しながら説明を行う。
図２は、実施の形態１による３次元情報処理装置の動作を示すフローチャートである。
まず、建物モデル入力部２は、建物モデルデータベース１から建物モデルを１つ取得する（ステップＳＴ１）。図３は建物データベース１に蓄積された建物モデルの一例を示す図であり、図３（ａ）はその俯瞰図を示し、図３（ｂ）はその水平面投影図を示している。建物モデルは、図３（ａ）に示すような六角柱の集合であり、各頂点の３次元座標はＸ，Ｙ座標が緯度経度座標であり、Ｚ座標が標高（ｍ系）である。ステップＳＴ１の処理では、図３に示すような六角柱のデータが取得される。
【００１４】
次に、建物底面抽出部３は、ステップＳＴ１で取得された建物モデルから建物の底面を構成する頂点のみを抽出する（ステップＳＴ２）。詳細には、建物モデルを構成する頂点の中でＺ値（高さ）が最小である頂点のみを抽出する。建物底面範囲算出部４は、ステップＳＴ２で抽出された建物の底面を構成する各頂点のＸ，Ｙ座標から、最小のＸ，Ｙ座標、最大のＸ，Ｙ座標を抽出し（ステップＳＴ３）、抽出した最小のＸ，Ｙ座標、最大のＸ，Ｙ座標を組み合わせて得られる点で囲まれる範囲を建物底面範囲として算出する（ステップＳＴ４）。
【００１５】
図４は、建物底面範囲算出部４による建物底面範囲の算出の一例を示す図であり、建物底面および建物底面範囲を水平面に投影した水平面投影図を示している。
図４を参照しながら建物底面範囲の算出手法を詳細に説明する。ステップＳＴ３として、建物底面抽出部３が抽出した全ての建物底面頂点Ａ１，Ａ２，Ａ３，Ａ４，Ａ５，Ａ６のＸ，Ｙ座標を用いて、その中から最小のＸ座標（ＸｂＭｉｎ）、最小のＹ座標（ＹｂＭｉｎ）、最大のＸ座標（ＸｂＭａｘ）、最大のＹ座標（ＹｂＭａｘ）を抽出する。続いてステップＳＴ４として、抽出した座標を組み合わせて得られる頂点Ｂ１（ＸｂＭｉｎ、ＹｂＭｉｎ）、頂点Ｂ２（ＸｂＭａｘ、ＹｂＭｉｎ）、頂点Ｂ３（ＸｂＭｉｎ、ＹｂＭａｘ）、頂点Ｂ４（ＸｂＭａｘ、ＹｂＭａｘ）の４点で囲まれる範囲Ｂを建物底面範囲Ｂとして算出する。図４に示すように建物底面範囲Ｂは、建物底面を水平面に投影した際に得られる範囲に外接する外接矩形と等価である。
【００１６】
地形モデル抽出部６は、ステップＳＴ４で算出した建物底面範囲に重複する地形モデルを、地形モデルデータベース５から抽出する（ステップＳＴ５）。
図５は、地形データベース５に蓄積された地形モデルの一例を示す図であり、図５（ａ）はその俯瞰図を示し、図５（ｂ）はその水平面投影図を示している。図５（ａ）に示すように、地形モデルは建物モデルと同様に頂点のＸ，Ｙ座標は緯度経度、Ｚ座標は標高（ｍ系）である。また、地形モデルを水平面投影した場合、図５（ｂ）に示すように緯線経線に平行な直線からなる格子を構成する頂点の集合からなるメッシュモデルの集合となる。
【００１７】
図５（ｂ）に示すように、１つの地形モデルを構成する各頂点の座標の中で、最小のＸ座標はＸｌＭｉｎ、最小のＹ座標はＹｌＭｉｎ、最大のＸ座標はＸｌＭａｘ、最大のＹ座標はＹｌＭａｘであり、経度方向の頂点間距離はＸｄｉｖ、緯度方向の頂点間距離はＹｄｉｖであるものとする。また、地形モデルを構成する経度方向の頂点数をＸＮｕｍ、緯度方向の頂点数をＹＮｕｍとした場合に、ＸＮｕｍとＹＮｕｍは各地形モデルにおいて全て同数であるものとする。なお、ＸＮｕｍとＹＮｕｍはそれぞれ異なる数であってもよい。
【００１８】
地形モデルの抽出の詳細としては、ステップＳＴ４で算出した建物モデルの建物底面範囲と、地形モデルデータベース５に蓄積された各地形モデルの最小のＸ，Ｙ座標および最大のＸ，Ｙ座標とを、以下の式（１）を用いて比較し、結果が真のもののみを抽出する。式（１）を用いた抽出を行うことにより建物底面範囲に一部でも重複する地形モデルを全て抽出することができる。
0005933814.tif 000002
【００１９】
地形頂点合成部７は、ステップＳＴ４で抽出された地形モデルの中で隣接する地形モデル同士を合成し、地形頂点集合を生成する（ステップＳＴ６）。
図６は地形頂点合成部７による地形モデルの合成を示す説明図であり、図６（ａ）は合成前の各地形モデルを示し、図６（ｂ）は合成後の地形モデルを示している。
図６（ａ）に示すように、ステップＳＴ５において例えば４つの地形モデルＣ，Ｄ，Ｅ，Ｆが抽出された場合に、４つの地形モデルＣ，Ｄ，Ｅ，Ｆの中で最小のＸｌＭｉｎの値（ＸｌＭｉｎＭｉｎ）、最大のＸｌＭａｘの値（ＸｌＭａｘＭａｘ）、最小のＹｌＭｉｎの値（ＹｌＭｉｎＭｉｎ）、最大のＹｌＭａｘの値（ＹｌＭａｘＭａｘ）を取得する。図６（ａ）の場合、ＸｌＭｉｎＭｉｎは地形モデルＣのＸｌＭｉｎの値、ＸｌＭａｘＭａｘは地形モデルＥのＸｌＭａｘの値、ＹｌＭｉｎＭｉｎは地形モデルＣのＹｌＭｉｎの値、ＹｌＭａｘＭａｘは地形モデルＦのＹｌＭａｘの値となる。
【００２０】
次に、以下の式（２）に基づいて、合成後の頂点集合の経度方向頂点数ＸｃＮｕｍおよび緯度方向頂点ＹｃＮｕｍを算出する。
0005933814.tif 000003
算出後、ＸｃＮｕｍ×ＹｃＮｕｍの頂点を保存する領域を持つ合成頂点保存バッファを作成する。
【００２１】
次に、以下の式（３）を用いて合成頂点保存バッファへ各地形モデルの頂点座標を設定し、地形頂点集合を完成させる。
0005933814.tif 000004
上述した式（３）において、Ｐｃ（ｉ，ｊ）は設定対象である合成頂点保存バッファ内の南西端から経度方向にｉ番目（ｉは０から開始）、緯度方向にｊ番目（ｊは０から開始）の頂点座標であり、Ｐｌ［ｓ，ｔ］（ｍ，ｎ）はＸ，Ｙ座標（ｓ，ｔ）をＸｌＭｉｎ，ＹｌＭｉｎとして持つ地形モデル内の経度方向にｍ番目（ｍは０から開始）、緯度方向にｎ番目（ｎは０から開始）の頂点座標を示し、ｆｌｏｏｒは小数点以下を切り捨てる床関数である。図６（ｂ）に示した合成後の地形モデルでは、地形頂点集合Ｇが生成される。
【００２２】
底面交点算出部８は、ステップＳＴ６で生成された地形頂点集合を水平面へ投影した際にできる頂点の成す線分と、建物底面を水平面へ投影した際の建物底面の外周線分との交点を算出する（ステップＳＴ７）。交点算出は、地形頂点集合の成す線分の中で、経線に平行な線分との交点、緯線に平行な線分との交点、斜め線との交点の３つに分けて算出する。
【００２３】
（ａ）経線に平行な線分との交点算出
建物底面の外周を成す線分ごとに、地形頂点集合の成す線分の中で経線に平行な線分との交点を算出する。建物底面のある外周の線分の両端座標をそれぞれ（Ｘａ，Ｙａ）、（Ｘｂ，Ｙｂ）とする。なお、Ｘａ≦Ｘｂの関係を満たすものとする。まず、以下の式（４）を用いて２頂点を通る直線式を算出する。
ｙ＝（Ｙｂ−Ｙａ）（ｘ−Ｘａ）／（Ｘｂ−Ｘａ）＋Ｙａ    ・・・（４）
【００２４】
次に、ＸａとＸｂの間にある地形頂点集合の成す線分の中で経線に平行な線分のＸ座標を、以下の式（５）を用いて算出する。
0005933814.tif 000005
【００２５】
上述した式（５）を用いて算出したＸｋ全てを、上述した式（４）に代入してＹｋを算出する。この（Ｘｋ，Ｙｋ）の集合が建物底面の２頂点の成す線分と、地形頂点集合の成す線分の中で経線に平行な線分との交点の座標となる。上述した処理はある建物底面の外周の１線分についての処理であるが、これを外周上の全ての線分について行うことにより、経線に平行な線分との交点算出が完了する。
図７は、建物底面Ｈの外周と、地形頂点集合Ｇの成す線分の中で経線に平行な線分との交点を示す図である。図７に示す例では、建物底面Ｈの外周が経線に平行な線分ｇ１，ｇ２と交点Ｈ１，Ｈ２，Ｈ３，Ｈ４で交わる場合を示している。
【００２６】
（ｂ）緯線に平行な線分との交点算出
建物底面の外周を成す線分ごとに、地形頂点集合の成す線分の中で緯線に平行な線分との交点を算出する。建物底面のある外周の線分の両端座標をそれぞれ（Ｘａ，Ｙａ）、（Ｘｂ，Ｙｂ）とする。なお、Ｙａ≦Ｙｂの関係を満たすものとする。まず、ＹａとＹｂの間にある地形頂点集合の成す線分の中で緯線に平行な線分のＹ座標を、以下の式（６）を用いて算出する。
0005933814.tif 000006
【００２７】
上述した式（６）を用いて算出したＹｋ全てを、上述した式（４）に代入してＸｋを算出する。この（Ｘｋ，Ｙｋ）の集合が建物底面の２頂点の成す線分と、地形頂点集合の成す線分の中で緯線に平行な線分との交点の座標となる。上述した処理はある建物底面の外周の１線分についての処理であるが、これを外周上の全ての線分について行うことで、緯線に平行な線分との交点算出が完了する。
図８は、建物底面Ｈの外周と、地形頂点集合Ｇの成す線分の中で緯線に平行な線分との交点を示す図である。図８に示す例では、建物底面Ｈの外周が緯線に平行な線分ｇ３，ｇ４，ｇ５と、交点Ｈ５，Ｈ６，Ｈ７，Ｈ８，Ｈ９，Ｈ１０で交わる場合を示している。
【００２８】
（ｃ）斜め線との交点算出
建物底面の外周を成す線分ごとに、地形頂点集合の成す線分の中で斜め線との交点を算出する。建物底面のある外周の線分の両端座標をそれぞれ（Ｘａ，Ｙａ）、（Ｘｂ，Ｙｂ）とする。ここで、図９では地形頂点集合の格子１つ分の地形頂点を示している。図９で示すように斜め線と緯線とのなす角をθ（０≦θ≦π／２）とし、ｓｉｎθ、ｃｏｓθを算出する。ｔａｎθ＝ＹＤｉｖ／ＸＤｉｖであるため、三角関数を用いて容易に算出できる。次に、斜め線がＸ軸と平行であり、かつ地形頂点集合の南西端点が原点に位置するような空間であるＸ´Ｙ´空間へ座標変換する。座標は以下の式（７）を用いて変換する。行列Ｔにより原点へ平行移動させ、行列Ｒによりｙ軸方向に角度θ回転させる。
0005933814.tif 000007
【００２９】
図１０は上述した式（７）による座標変換を示す図であり、図１０（ａ）は座標変換前の建物底面Ｈおよび地形頂点集合Ｇを示し、図１０（ｂ）は座標変換後の建物底面Ｈ´および地形頂点集合Ｇ´を示している。
図１０（ａ）において地形頂点集合Ｇのうち、最小のＸ座標値および最小のＹ座標値で構成される点Ｇ０（ＸｌＭｉｎＭｉｎ，ＹｌＭｉｎＭｉｎ）を、式（７）の行列Ｔで原点Ｏまで平行移動させ、さらに行列Ｒでｙ軸方向に角度θ回転させる。これにより、地点頂点集合Ｇ´の成す斜め線が、ｘ軸方向と平行となる。
【００３０】
式（７）を用いた座標変換により、建物底面のある外周の線分の両端座標（Ｘａ，Ｙａ）、（Ｘｂ，Ｙｂ）は（Ｘａ´，Ｙａ´）、（Ｘｂ´，Ｙｂ´）に変換される。当該変換された両座標を通る直線式を以下の式（８）を用いて算出する。
0005933814.tif 000008
【００３１】
次に、Ｙａ´とＹｂ´の間にある地形頂点集合の成す線分の中で斜め線のＹ´座標を算出する。これは以下の式（９）で示すＹｋ´により算出することができる。
0005933814.tif 000009
上述した式（９）を用いて算出したＹｋ´全てを、上述した式（８）に代入して、Ｘｋ´を算出する。この（Ｘｋ´，Ｙｋ´）の集合が建物底面の２頂点の成す線分と、地形頂点集合の成す線分の中で斜め線との交点の座標となる。上述した処理はある建物底面の外周の１線分についての処理であるが、この処理を建物底面外周上の全ての線分について行うことにより、Ｘ´Ｙ´空間における斜め線との交点が算出される。
【００３２】
図１１は、建物底面Ｈ´の外周と、地形頂点集合Ｇ´の成す線分の中で斜め線に平行な線分との交点を示す図である。図１１に示す例では、建物底面Ｈ´の外周が斜め線に平行な線分ｇ６，ｇ７，ｇ８，ｇ９と、交点Ｈ１１，Ｈ１２，Ｈ１３，Ｈ１４，Ｈ１５，Ｈ１６，Ｈ１７，Ｈ１８，Ｈ１９で交わる場合を示している。これらの頂点に対してＲ＊Ｔ行列の逆行列を作用させることにより、斜め線に平行な線分との最終的な交点を得ることができる。
図１２は、上述した（１）から（３）で示した３つの交点算出処理により算出された交点すべてを示しており、建物底面Ｈの外周線分と地形頂点集合Ｇの成す線分との交点となる。
【００３３】
次に、全点高さ算出部９は、ステップＳＴ６で算出された交点のＸ，Ｙ座標位置と、建物底面を構成する頂点のＸ，Ｙ座標位置における高さを、地形頂点集合を用いて算出する（図１３参照）。建物底面を構成する頂点のＸ，Ｙ座標位置における高さの算出では、まず各頂点が地形頂点集合のいずれの三角形に存在するか判定する（ステップＳＴ８）。ここで調査対象である頂点のＸ，Ｙ座標を（Ｘｔ，Ｙｔ）とすると、調査対象の頂点が存在する三角形の３つの頂点Ｐｔｒｉ０、Ｐｔｒｉ１、Ｐｔｒｉ２はそれぞれ以下の式（１０）で示す通りとなる。
0005933814.tif 000010
【００３４】
上述の三角形の３つの頂点Ｐｔｒｉ０、Ｐｔｒｉ１、Ｐｔｒｉ２を用いて、以下の式（１１）に従って、調査対象頂点のＸ，Ｙ座標位置における地形の高さＺｌを算出する（ステップＳＴ９）。ステップＳＴ８およびステップＳＴ９の処理を地形頂点集合の成す線分と建物底面の外周線分との交点、および建物底面を構成する頂点に対して実行することにより、それらの地点における地形の高さ集合（頂点高さ集合）が算出される。
0005933814.tif 000011
【００３５】
基準高さ算出部１０は、ステップＳＴ７で算出された頂点高さ集合の中で最も高さの低い点を抽出し、抽出した頂点の高さを基準高さとする（ステップＳＴ１０）。最後に、建物高さ補正部１１は、ステップＳＴ１０で算出された基準高さとステップＳＴ９で算出された頂点高さの差分を算出し、算出した差分値を建物モデルを構成する全ての頂点の高さに加算することにより、建物モデルの高さ補正を行い（ステップＳＴ１１）、処理を終了する。
【００３６】
以上のように、この実施の形態１によれば、建物底面の外周と地形頂点集合とが交わる交点を算出する底面交点算出部８と、底面交点算出部８が算出した交点の中で最も高さの低い点を抽出し、抽出した頂点の高さを基準高さとする基準高さ算出部１０と、基準高さ算出部１０が算出した基準高さに建物底面の高さを合わせて建物モデルの高さを調整する建物高さ補正部１１を備えるように構成したので、地形モデルと建物モデルとの間に隙間を生じさせることなく、且つ必要以上に地形モデルを地形へ埋もれさせることなく埋もれる量も最小に抑制することができる。
【００３７】
なお、上述した実施の形態１では、建物モデルを六角柱で表現する場合を示したが、建物モデルの表現は六角柱に限定することなく全ての多角形を適用することができる。
【００３８】
また、上述した実施の形態１では、地形モデルの斜め線の方向は南東と北西を結ぶ線を示したが、南西と北東を結ぶ線としてもよい。
【００３９】
また、上述した実施の形態１では、基準高さ算出部１０が頂点高さ集合の中で最も高さの低い値を基準高さとする場合を示したが、地形モデルが建物モデルに対して埋もれる埋もれ量を考慮して、例えば頂点高さ集合の平均値や中央値を設定することも可能である。
【００４０】
実施の形態２．
上述した実施の形態１では、地形モデルを構成する頂点の高さを変更することにより地形モデルと建物モデル間に隙間が生じるのを抑制する構成を示したが、この実施の形態２では建物モデルの位置を変えずに地形モデルとの隙間を埋めるために、地形モデルと建物モデルとの間に新たなモデルを作成する構成について説明する。
図１４は、実施の形態２による３次元情報処理装置の構成を示すブロック図である。
図１４で示した３次元情報処理装置１００´は、図１で示した実施の形態１の３次元情報処理装置１００に対して補正モード入力部１２、補正処理選択部１３、土台テクスチャデータベース１４および土台モデル生成部１５を追加して設けている。なお、以下では、実施の形態１で示した３次元情報処理装置１００の構成要素と同一または相当する部分には図１で使用した符号と同一の符号を付して説明を省略または簡略化する。
【００４１】
補正モード入力部１２は、ユーザからの補正モードの入力を受け付ける。補正処理選択部１３は、補正モード入力部１２を介して入力された補正モードに応じて、以降の補正処理を建物高さ補正部１１により行うか、あるいは土台モデル生成部１５により行うか選択する。土台テクスチャデータベース１４は、複数の土台用画像を蓄積するデータベースである。土台モデル生成部１５は、建物底面抽出部３が抽出した建物底面を構成する頂点、基準高さ算出部１０が算出した基準高さ、および土台テクスチャデータベース１４に蓄積された土台テクスチャを用いて土台モデルを生成し、生成した土台モデルを建物モデルに付加する。
【００４２】
次に、実施の形態２による３次元情報処理装置１００´の動作について説明する。図１５は実施の形態２による３次元情報処理装置の動作を示すフローチャートである。なお、以下では実施の形態１による３次元情報処理装置と同一のステップには図２で使用した符号と同一の符号を付し、説明を省略または簡略化する。
この実施の形態２では、補正モード入力部１２を介して入力される入力モードは、高さ補正モードと土台付加モードのいずれかとし、建物モデルの補正に関してユーザの意図に従って建物の高さを調整する、あるいは建物の高さを変えずに土台テクスチャにより隙間を埋めるいずれかを選択可能な機能を有するものとする。
【００４３】
ステップＳＴ１０で基準高さ算出部１０が基準高さを算出すると、補正モード入力部１２はユーザからの補正モードの入力を受け付ける（ステップＳＴ２１）。補正処理選択部１３は、ステップＳＴ２１で受け付けた補正モードが高さ補正モードであるか、土台付加モードであるか判定を行う（ステップＳＴ２２）。高さ補正モードであると判定された場合、建物高さ補正部１１は建物モデルの高さ補正を行い（ステップＳＴ１１）、処理を終了する。
【００４４】
一方、土台付加モードであると判定された場合、土台モデル生成部１５はステップＳＴ２で抽出した建物底面を構成する頂点と、それらの頂点の高さをステップＳＴ１０で算出した基準高さに変更した頂点とによる頂点群を生成する（ステップＳＴ２３）。次に、建物底面の各頂点と、基準高さに変更後の頂点をそれぞれ線分で結ぶことで多角柱を生成し、土台モデルを取得する（ステップＳＴ２４）。
【００４５】
図１６は、土台モデルの取得を示す説明図であり、図１６（ａ）は建物底面を構成する頂点の基準高さへの変更を示す俯瞰図であり、図１６（ｂ）は土台モデルである多角柱の生成を示す俯瞰図である。
図１６（ａ）に示す例では、まずステップＳＴ２３として、建物底面を構成する頂点Ｉ１，Ｉ２，Ｉ３，Ｉ４，Ｉ５，Ｉ６を、基準高さへの変更を行い、変更した頂点Ｊ１，Ｊ２，Ｊ３，Ｊ４，Ｊ５，Ｊ６を生成する。次に、図１６（ｂ）に示すように、ステップＳＴ２４として、頂点Ｉ１と頂点Ｊ１を線分Ｋ１で、頂点Ｉ２と頂点Ｊ２を線分Ｋ２で、頂点Ｉ３と頂点Ｊ３を線分Ｋ３で、頂点Ｉ４と頂点Ｊ４を線分Ｋ４で、頂点Ｉ５と頂点Ｊ５を線分Ｋ５で、頂点Ｉ６と頂点Ｊ６を線分Ｋ６で結び、六角柱Ｌを生成して土台モデルを取得する。
【００４６】
なお、ステップＳＴ２４で取得した土台モデルは複数の頂点情報のみであり、多面中の表示色は不確定であるため、土台モデル生成部１５は土台テクスチャデータベース１４に蓄積された土台テクスチャの中から１つの土台テクスチャを選択する（ステップＳＴ２５）。土台モデル生成部１５は、ステップＳＴ２５で選択した土台テクスチャをステップＳＴ２４で取得した土台モデルのマッピング用テクスチャとし、土台モデルを建物モデルへ付加し（ステップＳＴ２６）、処理を終了する。
【００４７】
なお、ステップＳＴ２５の土台テクスチャの選択では、適当な１つの土台テクスチャをランダムに選択してもよいし、あらかじめ建物の存在する都市や建物の素材などと一対一で対応するテクスチャのセットを用意しておき、建物の場所や素材に応じて当該セットを検索してテクスチャを選択して土地の雰囲気に合わせた見た目とした土台モデルを選択するように構成することもできる。
【００４８】
以上のように、この実施の形態２によれば、受け付けた補正モードが土台付加モードである場合に、建物底面を構成する頂点が形成する多角形を多角柱の上面とし、建物底面の外周と地形が交わる交点の中で最小の高さの頂点が形成する多角形を多角柱の下面とした多角柱を作成して土台モデルとし、当該土台モデルを建物モデルに付加するように構成したので、ユーザが建物自体の位置の変更を避けたい場合に、建物の位置を動かすことなく、地形と建物間の隙間をなくすことができる。
【００４９】
なお、この実施の形態２によれば、土台モデル作成部１５は、土台モデルの上面および下面の形状を建物底面と同様の形状とする構成を示したが、例えば建物底面の外接矩形である四角形形状を用いた直方体として生成することも可能であり、Ｘ−Ｙ方向に建物を包含する形状であり、且つ上面の高さが建物底面の高さ、下面の高さが基準高さである多角柱であればどのような形状のものでも同様の効果を有する土台モデルを作成することができる。
【００５０】
なお、本願発明はその発明の範囲内において、各実施の形態の自由な組み合わせ、あるいは各実施の形態の任意の構成要素の変形、もしくは各実施の形態において任意の構成要素の省略が可能である。
【産業上の利用可能性】
【００５１】
以上のように、この発明に係る３次元情報処理装置は、起伏のある３次元の地形モデル上に商業施設などの建物モデルを配置し、それらを俯瞰視するような３次元地図俯瞰表示機能を備えたナビゲーション装置などに適用可能であり、実地測位されたデータに含まれる測位誤差により発生する表示データの不整合を抑制することができる。
【符号の説明】
【００５２】
１  建物モデルデータベース、２  建物モデル入力部、３  建物底面抽出部、４  建物底面範囲算出部、５  地形モデルデータベース、６  地形モデル抽出部、７  地形頂点合成部、８  底面交点算出部、９  全点高さ算出部、１０  基準高さ算出部、１１  建物高さ補正部、１２  補正モード入力部、１３  補正処理選択部、１４  土台テクスチャデータベース、１５  土台モデル生成部、１００，１００´  ３次元情報処理装置。
【図１】
0005933814.tif 000012
【図２】
0005933814.tif 000013
【図３】
0005933814.tif 000014
【図４】
0005933814.tif 000015
【図５】
0005933814.tif 000016
【図６】
0005933814.tif 000017
【図７】
0005933814.tif 000018
【図８】
0005933814.tif 000019
【図９】
0005933814.tif 000020
【図１０】
0005933814.tif 000021
【図１１】
0005933814.tif 000022
【図１２】
0005933814.tif 000023
【図１３】
0005933814.tif 000024
【図１４】
0005933814.tif 000025
【図１５】
0005933814.tif 000026
【図１６】
0005933814.tif 000027