説明

二次元線形データリアルタイム三次元変換方法及び二次元線形データリアルタイム三次元変換装置並びに二次元線形データリアルタイム三次元画像表示方法及び二次元線形データリアルタイム三次元画像表示装置

【課題】二次元線形データのリアルタイム三次元変換方法及び装置と二次元線形データのリアルタイム三次元画像表示方法及び装置とを提供する。
【解決手段】本発明に係る二次元線形データを三次元地形データの表現形式に従ってリアルタイムに三次元変換する方法は、前記三次元地形データを構成する三角形のうち、前記二次元線形データを構成するそれぞれの頂点が属する三角形を検索する三角形検索ステップと、前記検索した二次元線形データを構成する頂点が属する三角形の三次元座標を利用し、前記二次元線形データを構成する頂点の高度を計算する頂点高度計算ステップと、前記三次元地形データを構成するそれぞれの三角形と前記二次元線形データを構成するそれぞれの直線との交点の二次元座標を求める交点計算ステップと、前記二次元座標を求めた交点の高度を計算する交点高度計算ステップとを含む二次元線形データのリアルタイム三次元変換方法である。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、車両ナビゲーションに係り、より詳細には二次元線形データを三次元地形データの表現形式に従ってリアルタイムで三次元データに変換する方法及び装置と、それを利用して二次元線形データを三次元地形データと一緒にリアルタイムで三次元画像に表示する方法及び装置とに関する。
【背景技術】
【0002】
最近、道路上の車両の増加に伴い、深刻な交通渋滞が問題となっている。このような交通渋滞を解決するための方法として、車両航法システム、すなわちナビゲーションシステムが開発された。このナビゲーションシステムには、基本的な機能として、運行中の車両の位置を追跡して道路地図上に正確に表示する機能があり、追加機能としては、他の道路の交通状況を監視しその交通状況の情報を提供する機能や、ガソリンスタンドなどについての情報を提供する機能などがある。
【0003】
ところで、ナビゲーションシステムの地図の画像が高精度であれば、運転手はナビゲーションシステムの地図上で自分の行きたい場所を正確に見つけることができる。さらに、高速で車両を運行する場合、平面の地図で探すより、三次元画像の地図で探す方が、ユーザにとって便利であり安全である。なぜなら、周囲の建物や地形などの地形地物を三次元で見ることによって、直観的に把握することができるからである。
【0004】
しかし、現在提供されているナビゲーションシステムには、二次元データしか保有されず、それを二次元画像で表示するにすぎない。
【0005】
二次元地図データに遠近感を加えて三次元画像で表示する方式が提示されている。それを図1で示す。図1で示す方式では、二次元データにおける長さをユーザの視点によって変化させて表示することによって遠近感を与えている。例えば、S平面上ではb1とb2の長さが同じであっても、ユーザの視点Bから近いか遠いかによってP平面上での長さが異なるため、d1とd2の長さを異ならせて表示する。この場合、二次元線形データを実際の三次元地形データに変換することは不可能であり、三次元地形データに応じて変化する道路データなどについて考慮していないという問題点がある。
【0006】
現在のナビゲーションシステムで三次元データを扱うことができないのは、ナビゲーションシステムで利用する地形地物の地図用データの収集方法が原因である。つまり、地形地物の地図用データを収集する一般的な方法では、飛行機などで航空写真を撮影し、それを平面地図化するからである。
【0007】
地形データを収集して管理する大韓民国の国土地理院では、地形データについては三次元データに変換する作業を行い、三次元地形データ(数値地図)を提供している。しかし、建物や道路などについては、三次元データを提供していない。従って、すべての地形地物を完全に三次元画像に表示するためには、道路や建物などの二次元データを三次元地形データの表現形式に従ってリアルタイムで三次元データに変換し、三次元画像に表示する方法を提供する必要がある。
【発明の開示】
【発明が解決しようとする課題】
【0008】
本発明が解決しようとする技術的課題は、二次元形式で提供される道路などの二次元線形データを三次元地形データの表現形式に従ってリアルタイムで三次元データに変換する方法及び装置と、これを利用して二次元線形データを三次元地形データと一緒にリアルタイムで三次元画像に表示する方法及び装置と、を提供することである。
【0009】
本発明が解決しようとする他の技術的課題は、前記二次元形式で提供される道路などの二次元線形データを三次元地形データの表現形式に従ってリアルタイムで三次元データに変換する方法と、これを利用して二次元線形データを三次元地形データと一緒にリアルタイムで三次元画像に表示する方法と、をコンピュータで実行するためのプログラムを記録したコンピュータで読み取り可能な記録媒体を提供することである。
【課題を解決するための手段】
【0010】
本発明に係る二次元線形データを三次元地形データの表現形式に従ってリアルタイムで三次元データに変換する方法は、前記三次元地形データを構成する三角形のうち、前記二次元線形データを構成するそれぞれの頂点が属する三角形を検索する三角形検索ステップと、前記検索した二次元線形データを構成する頂点が属する三角形の三次元座標を利用し、前記二次元線形データを構成する頂点の高度を計算する頂点高度計算ステップと、前記三次元地形データを構成するそれぞれの三角形と前記二次元線形データを構成するそれぞれの直線との交点の二次元座標を求める交点計算ステップと、前記二次元座標を求めた交点の高度を計算する交点高度計算ステップと、を含んで構成される。
【0011】
前記三次元地形データの表現形式を判断する地形データ判断ステップと、前記三次元地形データの表現形式が数値標高モデル形式である場合、前記三次元地形データを構成する三角形の座標を含む三角形ストリップを生成する三角形ストリップ生成ステップと、をさらに含むことが好ましい。
【0012】
前記頂点高度計算ステップは、前記検索した二次元線形データを構成する頂点が属する三角形が含まれる三次元平面の方程式ax+by+cz+d=0を求める平面方程式計算ステップと、前記二次元線形データを構成する頂点のx座標値とy座標値と、を前記三次元平面の方程式に代入し、前記二次元線形データを構成する頂点のz座標値を求めるz座標計算ステップと、を含むことが好ましい。
【0013】
前記平面方程式計算ステップは、前記検索した二次元線形データを構成する頂点が属する三角形の三つの頂点のうち、一つの頂点を選択するステップと、前記検索した二次元線形データを構成する頂点が属する三角形の三つの頂点のうち、前記選択した一つの頂点から残りの二つの頂点へのそれぞれのベクトルを求めるステップと、前記求めたベクトルの外積を計算し、前記三次元平面の方程式のaの値とbの値とcの値とを求めるステップと、前記検索した二次元線形データを構成する頂点が属する三角形の三つの頂点のうち、一つの頂点の座標値を前記三次元平面の方程式に代入し、前記dの値を求めるステップと、を含むことが好ましい。
【0014】
前記三次元地形データの表現形式は、不規則三角網形式であることが好ましい。
【0015】
前記三角形検索ステップは、前記三次元地形データを構成するすべての三角形について、それぞれの三角形に外接する最小外接矩形を求める最小外接矩形計算ステップと、前記求めた三角形に外接する最小外接矩形のうち、前記二次元線形データを構成する頂点を内部に含むすべての最小外接矩形を検索する最小外接矩形検索ステップと、前記検索した二次元線形データを構成する頂点を内部に含む最小外接矩形の数が一つである場合、前記検索した二次元線形データを構成する頂点を内部に含む最小外接矩形に対応する三角形を、前記二次元線形データを構成する頂点が属する三角形として決定し、前記検索した二次元線形データを構成する頂点を内部に含む最小外接矩形の数が二つ以上である場合、前記検索した二次元線形データを構成する頂点を内部に含むそれぞれの最小外接矩形に対応する三角形について、前記二次元線形データを構成する頂点が属するか否かを判断し、前記二次元線形データを構成する頂点が属する三角形を決定する三角形決定ステップと、を含むことが好ましい。
【0016】
前記最小外接矩形検索ステップは、前記求めた三角形に外接する最小外接矩形を、最小外接矩形の頂点のx座標値の大きさを基準として整列する第1整列ステップと、前記x座標値の大きさを基準として整列した最小外接矩形のうち、前記二次元線形データを構成する頂点のx座標値が、最小外接矩形の頂点が有するx座標値の範囲内であるすべての最小外接矩形を検索する第1検索ステップと、前記求めた三角形に外接する最小外接矩形を、最小外接矩形の頂点のy座標値の大きさを基準として整列する第2整列ステップと、前記y座標値の大きさを基準として整列した最小外接矩形のうち、前記二次元線形データを構成する頂点のy座標値が、最小外接矩形の頂点が有するy座標値の範囲内であるすべての最小外接矩形を検索する第2検索ステップと、を含むことが好ましい。
【0017】
前記交点計算ステップは、前記三次元地形データを構成するすべての三角形について、それぞれの三角形に外接する最小外接矩形を求めるステップと、前記求めた三角形に外接する最小外接矩形のうち、前記二次元線形データを構成する直線の少なくとも一部を含むすべての最小外接矩形を検索するステップと、前記検索した前記二次元線形データを構成する直線の少なくとも一部を含むそれぞれの最小外接矩形に対応する三角形と、前記二次元線形データを構成する直線との交点の二次元座標を求めるステップと、を含むことが好ましい。
【0018】
前記三次元地形データの表現形式は、数値標高モデル形式であることが好ましい。
【0019】
前記交点計算ステップは、前記三次元地形データを構成する三角形の底辺の端点のx座標値を決定するx座標決定ステップと、前記二次元線形データを構成する直線の方程式に前記決定した三角形の底辺の端点のx座標値をそれぞれ代入し、前記三次元地形データを構成する三角形のそれぞれの垂辺と前記二次元線形データを構成する直線との交点のy座標値を計算して前記交点の二次元座標を求めるy座標計算ステップと、前記三次元地形データを構成する三角形の底辺のy座標値を決定するy座標決定ステップと、前記二次元線形データを構成する直線の方程式に前記決定した三角形の底辺のy座標値をそれぞれ代入し、前記三次元地形データを構成する三角形のそれぞれの底辺と前記二次元線形データを構成する直線との交点のx座標値を計算して前記交点の二次元座標を求めるx座標計算ステップと、前記三次元地形データを構成する三角形のそれぞれの斜辺と前記二次元線形データを構成する直線との交点の二次元座標を求める斜辺交点計算ステップと、を含むことが好ましい。
【0020】
前記二次元座標を求めた交点を前記二次元線形データを構成する直線の一方の端点からの距離を基準として整列する交点整列ステップをさらに含むことが好ましい。
【0021】
前記交点高度計算ステップは、前記二次元座標を求めた交点に対応する三次元地形データを構成する三角形の頂点の座標を利用して補間法を適用し、前記二次元座標を求めた交点の高度を計算する補間計算ステップを含むことが好ましい。
【0022】
前記二次元線形データを構成する頂点のうち、前記三次元地形データを構成するセルの外部に位置する頂点に対し、前記セルの外部に位置する頂点に最も近いセルの頂点の座標を利用して補間法を適用し、前記セルの外部に位置する頂点の高度を計算する外部頂点計算ステップをさらに含むことが好ましい。
【0023】
前記二次元線形データは、道路、鉄道、又は川を表現するデータであることが好ましい。
【0024】
本発明に係る二次元線形データを三次元地形データの表現形式に従ってリアルタイムで三次元データに変換する装置は、前記三次元地形データを構成する三角形のうち、前記二次元線形データを構成するそれぞれの頂点が属する三角形を検索する三角形検索部と、前記検索した二次元線形データを構成する頂点が属する三角形の三次元座標を利用し、前記二次元線形データを構成する頂点の高度を計算する頂点高度計算部と、前記三次元地形データを構成するそれぞれの三角形と前記二次元線形データを構成するそれぞれの直線との交点の二次元座標を求める交点計算部と、前記二次元座標を求めた交点の高度を計算する交点高度計算部と、を備えて構成される。
【0025】
前記三次元地形データの表現形式を判断する地形データ判断部と、前記三次元地形データの表現形式が数値標高モデル形式である場合、前記三次元地形データを構成する三角形の座標を含む三角形ストリップを生成する三角形ストリップ生成部と、をさらに含むことが好ましい。
【0026】
前記頂点高度計算部は、前記検索した二次元線形データを構成する頂点が属する三角形が含まれる三次元平面の方程式ax+by+cz+d=0を求める平面方程式計算部と、前記二次元線形データを構成する頂点のx座標値とy座標値とを前記三次元平面の方程式に代入し、前記二次元線形データを構成する頂点のz座標値を求めるz座標計算部と、を備えることが好ましい。
【0027】
前記三次元地形データの表現形式は、不規則三角網形式であることが好ましい。
【0028】
前記三角形検索部は、前記三次元地形データを構成するすべての三角形について、それぞれの三角形に外接する最小外接矩形を求める最小外接矩形計算部と、前記求めた三角形に外接する最小外接矩形のうち、前記二次元線形データを構成する頂点を内部に含むすべての最小外接矩形を検索する最小外接矩形検索部と、前記検索した二次元線形データを構成する頂点を内部に含む最小外接矩形の数が一つである場合、前記検索した二次元線形データを構成する頂点を内部に含む最小外接矩形に対応する三角形を、前記二次元線形データを構成する頂点が属する三角形として決定し、前記検索した二次元線形データを構成する頂点を内部に含む最小外接矩形の数が二つ以上である場合、前記検索した二次元線形データを構成する頂点を内部に含むそれぞれの最小外接矩形に対応する三角形について、前記二次元線形データを構成する頂点が属するか否かを判断し、前記二次元線形データを構成する頂点が属する三角形を決定する三角形決定部と、を備えることが好ましい。
【0029】
前記最小外接矩形検索部は、前記求めた三角形に外接する最小外接矩形を、最小外接矩形の頂点のx座標値の大きさを基準として整列する第1整列部と、前記x座標値の大きさを基準として整列した最小外接矩形のうち、前記二次元線形データを構成する頂点のx座標値が、最小外接矩形の頂点が有するx座標値の範囲内であるすべての最小外接矩形を検索する第1検索部と、前記求めた三角形に外接する最小外接矩形を、最小外接矩形の頂点のy座標値の大きさを基準として整列する第2整列部と、前記y座標値の大きさを基準として整列した最小外接矩形のうち、前記二次元線形データを構成する頂点のy座標値が、最小外接矩形の頂点が有するy座標値の範囲内であるすべての最小外接矩形を検索する第2検索部と、を備えることが好ましい。
【0030】
前記三次元地形データの表現形式は、数値標高モデル形式であることが好ましい。
【0031】
前記交点計算部は、前記三次元地形データを構成する三角形の底辺の端点のx座標値を決定するx座標決定部と、前記二次元線形データを構成する直線の方程式に前記決定した三角形の底辺の端点のx座標値をそれぞれ代入し、前記三次元地形データを構成する三角形のそれぞれの垂辺と前記二次元線形データを構成する直線との交点のy座標値を計算して前記交点の二次元座標を求めるy座標計算部と、前記三次元地形データを構成する三角形の底辺のy座標値を決定するy座標決定部と、前記二次元線形データを構成する直線の方程式に前記決定した三角形の底辺のy座標値をそれぞれ代入し、前記三次元地形データを構成する三角形のそれぞれの底辺と前記二次元線形データを構成する直線との交点のx座標値を計算して前記交点の二次元座標を求めるx座標計算部と、前記三次元地形データを構成する三角形のそれぞれの斜辺と前記二次元線形データを構成する直線との交点の二次元座標を求める斜辺交点計算部と、を備えることが好ましい。
【0032】
前記二次元座標を求めた交点を前記二次元線形データを構成する直線の一方の端点からの距離を基準として整列する交点整列部をさらに含むことが好ましい。
【0033】
前記交点高度計算部は、前記二次元座標を求めた交点に対応する三次元地形データを構成する三角形の頂点の座標を利用して補間法を適用し、前記二次元座標を求めた交点の高度を計算する補間計算部を備えることが好ましい。
【0034】
前記二次元線形データを構成する頂点のうち、前記三次元地形データを構成するセルの外部に位置する頂点に対し、前記セルの外部に位置する頂点に最も近いセルの頂点の座標を利用して補間法を適用し、前記セルの外部に位置する頂点の高度を計算する外部頂点計算部をさらに含むことが好ましい。
【0035】
前記二次元線形データは、道路、鉄道、又は川を表現するデータであることが好ましい。
【0036】
本発明に係る二次元線形データを三次元地形データと一緒にリアルタイムで三次元画像に表示する方法は、前記三次元地形データを構成する三角形のうち、前記二次元線形データを構成するそれぞれの頂点が属する三角形を検索する三角形検索ステップと、前記検索した二次元線形データを構成する頂点が属する三角形の三次元座標を利用し、前記二次元線形データを構成する頂点の高度を計算する頂点高度計算ステップと、前記三次元地形データを構成するそれぞれの三角形と前記二次元線形データを構成するそれぞれの直線との交点の二次元座標を求める交点計算ステップと、前記二次元座標を求めた交点の高度を計算する交点高度計算ステップと、前記高度を計算した二次元線形データを構成する頂点の三次元座標と前記高度を計算した二次元座標を求めた交点の三次元座標とを利用して、前記二次元線形データを三次元画像で出力するデータ出力ステップと、を含んで構成される。
【0037】
前記三次元地形データの表現形式を判断する地形データ判断ステップと、前記三次元地形データの表現形式が数値標高モデル形式である場合、前記三次元地形データを構成する三角形の座標を含む三角形ストリップを生成する三角形ストリップ生成ステップと、をさらに含むことが好ましい。
【0038】
前記データ出力ステップは、前記三角形ストリップを構成するすべての座標値を出力装置に一度に送る三角形座標出力ステップを含むことが好ましい。
【0039】
前記頂点高度計算ステップは、前記検索した二次元線形データを構成する頂点が属する三角形が含まれる三次元平面の方程式ax+by+cz+d=0を求める平面方程式計算ステップと、前記二次元線形データを構成する頂点のx座標値とy座標値とを前記三次元平面の方程式に代入し、前記二次元線形データを構成する頂点のz座標値を求めるz座標計算ステップと、を含むことが好ましい。
【0040】
前記平面方程式計算ステップは、前記検索した二次元線形データを構成する頂点が属する三角形の三つの頂点のうち、一つの頂点を選択するステップと、前記検索した二次元線形データを構成する頂点が属する三角形の三つの頂点のうち、前記選択した一つの頂点から残りの二つの頂点へのそれぞれのベクトルを求めるステップと、前記求めたベクトルの外積を計算し、前記三次元平面の方程式のaの値とbの値とcの値とを求めるステップと、前記検索した二次元線形データを構成する頂点が属する三角形の三つの頂点のうち、一つの頂点の座標値を前記三次元平面の方程式に代入し、前記dの値を求めるステップと、を含むことが好ましい。
【0041】
前記三次元地形データの表現形式は、不規則三角網形式であることが好ましい。
【0042】
前記三角形検索ステップは、前記三次元地形データを構成するすべての三角形について、それぞれの三角形に外接する最小外接矩形を求める最小外接矩形計算ステップと、前記求めた三角形に外接する最小外接矩形のうち、前記二次元線形データを構成する頂点を内部に含むすべての最小外接矩形を検索する最小外接矩形検索ステップと、前記検索した二次元線形データを構成する頂点を内部に含む最小外接矩形の数が一つである場合、前記検索した二次元線形データを構成する頂点を内部に含む最小外接矩形に対応する三角形を、前記二次元線形データを構成する頂点が属する三角形として決定し、前記検索した二次元線形データを構成する頂点を内部に含む最小外接矩形の数が二つ以上である場合、前記検索した二次元線形データを構成する頂点を内部に含むそれぞれの最小外接矩形に対応する三角形について、前記二次元線形データを構成する頂点が属するか否かを判断し、前記二次元線形データを構成する頂点が属する三角形を決定する三角形決定ステップと、を含むことが好ましい。
【0043】
前記最小外接矩形検索ステップは、前記求めた三角形に外接する最小外接矩形を、最小外接矩形の頂点のx座標値の大きさを基準として整列する第1整列ステップと、前記x座標値の大きさを基準として整列した最小外接矩形のうち、前記二次元線形データを構成する頂点のx座標値が、最小外接矩形の頂点が有するx座標値の範囲内であるすべての最小外接矩形を検索する第1検索ステップと、前記求めた三角形に外接する最小外接矩形を、最小外接矩形の頂点のy座標値の大きさを基準として整列する第2整列ステップと、前記y座標値の大きさを基準として整列した最小外接矩形のうち、前記二次元線形データを構成する頂点のy座標値が、最小外接矩形の頂点が有するy座標値の範囲内であるすべての最小外接矩形を検索する第2検索ステップと、を含むことが好ましい。
【0044】
前記交点計算ステップは、前記三次元地形データを構成するすべての三角形について、それぞれの三角形に外接する最小外接矩形を求めるステップと、前記求めた三角形に外接する最小外接矩形のうち、前記二次元線形データを構成する直線の少なくとも一部を含むすべての最小外接矩形を検索するステップと、前記検索した前記二次元線形データを構成する直線の少なくとも一部を含むそれぞれの最小外接矩形に対応する三角形と、前記二次元線形データを構成する直線との交点の二次元座標を求めるステップと、を含むことが好ましい。
【0045】
前記三次元地形データの表現形式は、数値標高モデル形式であることが好ましい。
【0046】
前記交点計算ステップは、前記三次元地形データを構成する三角形の底辺の端点のx座標値を決定するステップと、前記二次元線形データを構成する直線の方程式に前記決定した三角形の底辺の端点のx座標値をそれぞれ代入し、前記三次元地形データを構成する三角形のそれぞれの垂辺と前記二次元線形データを構成する直線との交点のy座標値を計算して前記交点の二次元座標を求めるステップと、前記三次元地形データを構成する三角形の底辺のy座標値を決定するステップと、前記二次元線形データを構成する直線の方程式に前記決定した三角形の底辺のy座標値をそれぞれ代入し、前記三次元地形データを構成する三角形のそれぞれの底辺と前記二次元線形データを構成する直線との交点のx座標値を計算して前記交点の二次元座標を求めるステップと、前記三次元地形データを構成する三角形のそれぞれの斜辺と前記二次元線形データを構成する直線との交点の二次元座標を求めるステップと、を含むことが好ましい。
【0047】
前記二次元座標を求めた交点を前記二次元線形データを構成する直線の一方の端点からの距離を基準として整列するステップをさらに含むことが好ましい。
【0048】
前記交点高度計算ステップは、前記二次元座標を求めた交点に対応する三次元地形データを構成する三角形の頂点の座標を利用して補間法を適用し、前記二次元座標を求めた交点の高度を計算する補間計算ステップを含むことが好ましい。
【0049】
前記二次元線形データを構成する頂点のうち、前記三次元地形データを構成するセルの外部に位置する頂点に対し、前記セルの外部に位置する頂点に最も近いセルの頂点の座標を利用して補間法を適用し、前記セルの外部に位置する頂点の高度を計算するステップをさらに含むことが好ましい。
【0050】
前記二次元線形データは、道路、鉄道、又は川を表現するデータであることが好ましい。
【0051】
本発明に係る二次元線形データを三次元地形データと一緒にリアルタイムで三次元画像に表示する装置は、前記三次元地形データを構成する三角形のうち、前記二次元線形データを構成するそれぞれの頂点が属する三角形を検索する三角形検索部と、前記検索した二次元線形データを構成する頂点が属する三角形の三次元座標を利用し、前記二次元線形データを構成する頂点の高度を計算する頂点高度計算部と、前記三次元地形データを構成するそれぞれの三角形と前記二次元線形データを構成するそれぞれの直線との交点の二次元座標を求める交点計算部と、前記二次元座標を求めた交点の高度を計算する交点高度計算部と、前記高度を計算した二次元線形データを構成する頂点の三次元座標と前記高度を計算した二次元座標を求めた交点の三次元座標とを利用して、前記二次元線形データを三次元画像で出力するデータ出力部と、を備えることが好ましい。
【0052】
前記三次元地形データの表現形式を判断する地形データ判断部と、前記三次元地形データの表現形式が数値標高モデル形式である場合、前記三次元地形データを構成する三角形の座標を含む三角形ストリップを生成する三角形ストリップ生成部と、をさらに含むことが好ましい。
【0053】
前記データ出力部は、前記三角形ストリップを構成するすべての座標値を出力装置に一度に送る三角形座標出力部を備えることが好ましい。
【0054】
前記頂点高度計算部は、前記検索した二次元線形データを構成する頂点が属する三角形が含まれる三次元平面の方程式ax+by+cz+d=0を求める平面方程式計算部と、前記二次元線形データを構成する頂点のx座標値とy座標値とを前記三次元平面の方程式に代入し、前記二次元線形データを構成する頂点のz座標値を求めるz座標計算部と、を備えることが好ましい。
【0055】
前記三次元地形データの表現形式は、不規則三角網形式であることが好ましい。
【0056】
前記三角形検索部は、前記三次元地形データを構成するすべての三角形について、それぞれの三角形に外接する最小外接矩形を求める最小外接矩形計算部と、前記求めた三角形に外接する最小外接矩形のうち、前記二次元線形データを構成する頂点を内部に含むすべての最小外接矩形を検索する最小外接矩形検索部と、前記検索した二次元線形データを構成する頂点を内部に含む最小外接矩形の数が一つである場合、前記検索した二次元線形データを構成する頂点を内部に含む最小外接矩形に対応する三角形を、前記二次元線形データを構成する頂点が属する三角形として決定し、前記検索した二次元線形データを構成する頂点を内部に含む最小外接矩形の数が二つ以上である場合、前記検索した二次元線形データを構成する頂点を内部に含むそれぞれの最小外接矩形に対応する三角形について、前記二次元線形データを構成する頂点が属するか否かを判断し、前記二次元線形データを構成する頂点が属する三角形を決定する三角形決定部と、を備えることが好ましい。
【0057】
前記最小外接矩形検索部は、前記求めた三角形に外接する最小外接矩形を、最小外接矩形の頂点のx座標値の大きさを基準として整列する第1整列部と、前記x座標値の大きさを基準として整列した最小外接矩形のうち、前記二次元線形データを構成する頂点のx座標値が、最小外接矩形の頂点が有するx座標値の範囲内であるすべての最小外接矩形を検索する第1検索部と、前記求めた三角形に外接する最小外接矩形を、最小外接矩形の頂点のy座標値の大きさを基準として整列する第2整列部と、前記y座標値の大きさを基準として整列した最小外接矩形のうち、前記二次元線形データを構成する頂点のy座標値が、最小外接矩形の頂点が有するy座標値の範囲内であるすべての最小外接矩形を検索する第2検索部と、を備えることが好ましい。
【0058】
前記三次元地形データの表現形式は、数値標高モデル形式であることが好ましい。
【0059】
前記交点計算部は、前記三次元地形データを構成する三角形の底辺の端点のx座標値を決定するx座標決定部と、前記二次元線形データを構成する直線の方程式に前記決定した三角形の底辺の端点のx座標値をそれぞれ代入し、前記三次元地形データを構成する三角形のそれぞれの垂辺と前記二次元線形データを構成する直線との交点のy座標値を計算して前記交点の二次元座標を求めるy座標計算部と、前記三次元地形データを構成する三角形の底辺のy座標値を決定するy座標決定部と、前記二次元線形データを構成する直線の方程式に前記決定した三角形の底辺のy座標値をそれぞれ代入し、前記三次元地形データを構成する三角形のそれぞれの底辺と前記二次元線形データを構成する直線との交点のx座標値を計算して前記交点の二次元座標を求めるx座標計算部と、前記三次元地形データを構成する三角形のそれぞれの斜辺と前記二次元線形データを構成する直線との交点の二次元座標を求める斜辺交点計算部と、を備えることが好ましい。
【0060】
前記二次元座標を求めた交点を前記二次元線形データを構成する直線の一方の端点からの距離を基準として整列する交点整列部をさらに含むことが好ましい。
【0061】
前記交点高度計算部は、前記二次元座標を求めた交点に対応する三次元地形データを構成する三角形の頂点の座標を利用して補間法を適用し、前記二次元座標を求めた交点の高度を計算する補間計算部を備えることが好ましい。
【0062】
前記二次元線形データを構成する頂点のうち、前記三次元地形データを構成するセルの外部に位置する頂点に対し、前記セルの外部に位置する頂点に最も近いセルの頂点の座標を利用して補間法を適用し、前記セルの外部に位置する頂点の高度を計算する外部頂点計算部をさらに含むことが好ましい。
【0063】
前記二次元線形データは、道路、鉄道、又は川を表現するデータであることが好ましい。
【0064】
本発明に係る二次元線形データリアルタイム三次元変換方法をコンピュータで実行するためのプログラムを記録したコンピュータで読み取り可能な記録媒体は、三次元地形データを構成する三角形のうち、二次元線形データを構成するそれぞれの頂点が属する三角形を検索する三角形検索ステップと、前記検索した二次元線形データを構成する頂点が属する三角形の三次元座標を利用し、前記二次元線形データを構成する頂点の高度を計算する頂点高度計算ステップと、前記三次元地形データを構成するそれぞれの三角形と前記二次元線形データを構成するそれぞれの直線との交点の二次元座標を求める交点計算ステップと、前記二次元座標を求めた交点の高度を計算する交点高度計算ステップと、を含んで構成される。
【0065】
本発明に係る二次元線形データリアルタイム三次元画像表示方法をコンピュータで実行するためのプログラムを記録したコンピュータで読み取り可能な記録媒体は、三次元地形データを構成する三角形のうち、二次元線形データを構成するそれぞれの頂点が属する三角形を検索する三角形検索ステップと、前記検索した二次元線形データを構成する頂点が属する三角形の三次元座標を利用し、前記二次元線形データを構成する頂点の高度を計算する頂点高度計算ステップと、前記三次元地形データを構成するそれぞれの三角形と前記二次元線形データを構成するそれぞれの直線との交点の二次元座標を求める交点計算ステップと、前記二次元座標を求めた交点の高度を計算する交点高度計算ステップと、前記高度を計算した二次元線形データを構成する頂点の三次元座標と、前記高度を計算した二次元座標を求めた交点の三次元座標と、を利用して、前記二次元線形データを三次元画像で出力するデータ出力ステップと、を含んで構成される。
【発明の効果】
【0066】
本発明に係る二次元線形データリアルタイム三次元変換方法及び二次元線形データリアルタイム三次元変換装置と、これを利用する二次元線形データリアルタイム三次元画像表示方法及び二次元線形データリアルタイム三次元画像表示装置とによれば、二次元線形データを三次元地形データの表現形式に従ってリアルタイムで三次元データに変換し、これを三次元地形データと一緒にリアルタイムで三次元画像に表示するため、ユーザが地図の情報を直感的に捉えることができ、ユーザに利便性をもたらす。また数値標高モデル(DEM)で表現される三次元地形データを画像で表示する場合、三角形ストリップを生成することによって冗長な頂点の画像処理は行わないため、レンダリング速度を向上させることが可能である。
【発明を実施するための最良の形態】
【0067】
以下、添付した図面を参照しながら、本発明に係る二次元線形データリアルタイム三次元変換方法及び二次元線形データリアルタイム三次元変換装置と、これを利用する二次元線形データリアルタイム三次元画像表示方法及び二次元線形データリアルタイム三次元画像表示装置とについて詳細に説明する。
【0068】
図2は、ナビゲーションシステムの構成を示すブロック図である。
【0069】
図2に示すように、通常、ナビゲーションシステムは、GPSシステム受信機20、インターフェース入力部30、ナビゲーション制御部40、地図データ管理部50、三次元地形データベース60、二次元データベース70、三次元データ変換部80、地図データ出力部90及びナビゲーションディスプレイ100を備える。
【0070】
GPS受信機20は、人工衛星10から、位置情報システム(GPS:Global Positioning System)の位置情報が伝送されると、人工衛星10から伝送された位置情報を受信してナビゲーション制御部40に転送する。
【0071】
インターフェース入力部30は、ユーザとのインターフェースを提供するものであり、ユーザからの要求が入力される。
ナビゲーション制御部40は、システム全体を制御する。
【0072】
地図データ管理部50は、三次元地形データベース60に保存されている三次元地形データと、二次元データベース70に保存されている二次元線形データと、を管理し、三次元データ変換部80へ転送する。
【0073】
三次元データ変換部80は、二次元線形データを三次元地形データの表現形式に従ってリアルタイムで三次元データに変換する。
地図データ出力部90は、変換したデータを三次元地形データと一緒にナビゲーションディスプレイ100に出力する。
【0074】
図3は、本発明に係る二次元線形データリアルタイム三次元変換装置、すなわち二次元線形データを三次元地形データの表現形式に従ってリアルタイムで三次元データに変換する装置の一実施例を示すブロック図である。
【0075】
図3に示すように、本発明に係る二次元線形データリアルタイム三次元変換装置200は、地形データ判断部210と、DEM三角形ストリップ生成部220と、三角形検索部230、240と、頂点高度計算部250、260と、交点計算部270、280と、交点高度計算部290、300と、を含む。この構成において、三角形検索部、頂点高度計算部、交点計算部、及び交点高度計算部は、三次元地形データの表現形式によって異なる構成を有する場合があるので、図3には、三次元地形データがTIN形式である場合(230、250、270、290)と、三次元地形データがDEM形式である場合(240、260、280、300)と、をそれぞれ示す。
【0076】
地形データ判断部210は、三次元地形データの表現形式が何であるかを判断する。三次元地形データの表現形式としては、主に、数値標高モデル(DEM:Digital Elevation Model)形式と不規則三角網(TIN:Triangulated Irregular Network)形式の二種類が使われる。
【0077】
図4A及び図4Bは、それぞれDEM形式とTIN形式とを示す図である。
【0078】
図4Aに示すように、DEM形式では、一定の長さの底辺と垂辺を有する直角三角形が反復して配列される。直角三角形のそれぞれの頂点には、その頂点に対応する地点の位置や高度(高さ)などの情報が保存される。
【0079】
図4Bに示すように、TIN形式は、ほぼ同じ高度の三点を結ぶ三角形からなる。ほぼ同じ高度の三点を結んで三角形を形成するため、三角形の形は不規則になる。
【0080】
このように、DEMとTIN形式は、それぞれ三次元地形データを構成する三角形の形が異なるため、それに対応して二次元線形データを三次元データに変換する方法にも違いが出る。
【0081】
以下では、二次元線形データの三次元変換方法の各ステップについて共通な事項をまず説明し、その後それぞれの表現形式によって異なる事項を説明する。
【0082】
まず、地形データ判断部210は、三次元地形データの表現形式を判断する。
【0083】
地形データ判断部210において三次元地形データがDEM形式であると判断した場合、三角形ストリップ生成部220で、三次元地形データを構成する三角形を三角形ストリップに変換する。
【0084】
三角形ストリップとは、一連の連結された三角形の座標を表す方式の一つであり、新たに追加される頂点がそれぞれ新しい三角形を一つ形成する方式である。図5及び図6を参照し、三角形ストリップについて説明する。
【0085】
図5は、一般的な三角形座標の表現方式を示す図である。一般的に、三角形を表現するためには、それぞれの三角形の三つの頂点を順に列記する方法がある。図5の例では、頂点0、頂点4、頂点1によって一つの三角形が構成され、頂点1、頂点4、頂点5によって二つめの三角形が構成される。頂点を列記する順序によって、三角形の面が表であるか裏であるかを表すことができる。例えば、三角形の頂点を反時計回りに列記した場合、三角形の面が表であることを表すため、ユーザからは三角形の表の面が見える。図5の例では、すべての三角形の頂点を反時計回りに列記することによって、三角形の面が表であることを表している。
【0086】
図5の三角形表現方式をレンダリング言語で表すと、次の数式(1)の通りである。
【0087】
【数1】

【0088】
数式(1)に示すように、同じ頂点についての情報が重複している。レンダリング言語で表現される三角形の情報は、グラフィック加速器などのハードウェアに直接転送されるため、同じ三角形の頂点の情報が重複してハードウェアに転送されてしまう。このように同じ三角形の頂点の情報が重複して転送されることによって、同じ三角形の頂点や辺が重複して描画されることになる。結果として、ハードウェアの速度が低下してしまうという問題がある。
【0089】
このため、重複する三角形の頂点の情報のうち一つだけ転送するために、三角形ストリップという形式が提示された。図6は、三角形ストリップで表現した一連の連結された三角形を示す図である。
【0090】
図6に示すように、三角形ストリップ方式では、まず、一つの三角形を構成する頂点を列記し、新しい頂点を一つ追加するごとに、新しい三角形を一つずつ表現する。例えば、最初の三角形を頂点0、頂点4、頂点1を列記することによって表現する。その後は、頂点5だけを追加することによって、頂点4、頂点1、頂点5によって構成される三角形を表現することができる。
【0091】
これをレンダリング言語で表すと、次の数式(2)の通りである。
【0092】
【数2】

【0093】
数式(2)に示すように、頂点を一つずつ追加することによって、三角形を一つずつ追加して表現することができることが分かる。このような方式によって、ハードウェアに情報を転送する頂点の数が減り、三角形ストリップすべてをハードウェアで一度にレンダリングすることができるため、レンダリング速度を大幅に速くすることができる。
【0094】
三角形ストリップ形式で問題になるのは、ある行の最後の三角形と次行の最初の三角形との連結部分である。例えば、上の行に位置する頂点3、頂点6、頂点7の次に頂点4を列記すると、頂点3、頂点6、頂点7から構成される三角形を描いた後に、頂点6、頂点7、頂点4から構成される三角形を描くことになる。しかし、図6で示すように、頂点6、頂点7、頂点4は、三角形を構成することができない。この問題を回避するために、三角形ストリップ形式では、3個の頂点の中に同じものがある場合、三角形を描かないようにする。よって、数式(2)では、頂点7と頂点4とを二回ずつ列記している。これらの重複する頂点によって、全体のデータ量は若干増加する。しかし、一般的には、一行に含まれる三角形の数が十分に多いため、この若干の増加は無視することができる。
【0095】
三角形ストリップ生成部220で、三次元地形データを構成する三角形の座標を含む三角形ストリップを生成した後、二次元線形データを三次元地形データの表現形式に従って変換する。
【0096】
本発明では、二次元データのうちでも、二次元線形データを三次元データに変換し三次元画像で表示する方式を提供する。図7A及び図7Bは、本発明に係る三次元変換及び三次元画像表示システムで扱う二次元線形データの一例を示す図である。本発明に係る二次元線形データの三次元変換及び三次元画像表示方法で使用する線形データには、道路、鉄道、川などの地図上の対象物が含まれる。
【0097】
図7Aに示すように、道路は細い実線で、鉄道は点線で、川は太い実線で表現される。また、地図上の対象物は、線の種類や太さ以外にも、色の違いによって識別することが可能である。
【0098】
図7Bは、これらの二次元線形データを二次元画像で表示した一例を示す。このように、二次元画像で表示される場合、地図で表される情報を直観的に把握することは困難であり、地図が複雑になれば、識別することさえ困難になる。
【0099】
一方、図8は、二次元線形データを三次元地形データの表現形式に従って三次元データに変換し、三次元地形データと一緒に三次元画像で表示した一実施例を示す図である。
【0100】
図8に示すように、三次元地形データと一緒に、青色と赤色の二次元線形データが三次元に変換されて描画されていることが分かる。青色の太線は川を表し、赤色の細い線は道路を表している。このように、二次元線形データを三次元地形データと一緒に三次画像で表示することによって、地図が表す情報を直観的に認識することができるため、ユーザに利便性と安全性とを提供することができる。
【0101】
二次元線形データを三次元地形データに変換するためには、二次元線形データの二次元座標値に三次元地形データにおける高度の値、すなわちz座標の値を追加しなければならない。二次元線形データは、頂点の二次元平面上の位置とそれらの連結関係とを表す情報を含む。従って、二次元線形データを構成する各頂点について高度を計算する必要がある。
【0102】
三角形検索部230、240は、二次元線形データを構成する各頂点について高度を計算するため、三次元地形データを構成する三角形のうち、高度を計算する頂点がどの三角形に含まれるかを検索する。DEM形式の場合、三角形のx座標とy座標とは規則的に列記されているので、高度を計算する頂点が含まれる三角形を容易に探し出すことができる。
【0103】
しかし、三次元地形データがTIN形式で表現される場合、高度を計算する頂点が含まれる三角形を検索することは、容易ではない。TIN形式の場合、三次元地形データを構成する三角形を直接扱うことは不便なので、最小外接矩形(BR:Bounding Rectangle)という概念を導入する。
【0104】
最小外接矩形とは、三角形に外接する長方形のうち最小のものである。図9に、三角形とこれに外接する最小外接矩形(BR)の一例を図示する。
【0105】
図9に示すように、最小外接矩形は、左上端の頂点の座標が(x1、y1)であり、右下端の頂点の座標が(x2、y2)であるので、x座標がx1からx2までの値を有しかつy座標がy2からy1までの値を有するすべての点を含む。
【0106】
三次元地形データがTIN形式で表現される場合、まず、三次元地形データを構成するすべての三角形について、それぞれの三角形に外接する最小外接矩形を求める。これは、三角形の三つの頂点のx座標値のうち、最小値をx1、最大値をx2とし、三角形の三つの頂点のy座標値のうち、最小値をy2、最大値をy1とすることによって、容易に求めることができる。
【0107】
次に、最小外接矩形のうち、高度を計算する頂点を内部に含むすべての最小外接矩形を検索する。
【0108】
これは、基本的には、高度を計算する頂点の座標を最小外接矩形の左上端の頂点の座標及び右下端の頂点の座標と比較することによって検索することができる。しかし、高度を計算する頂点をすべての最小外接矩形と比較すると、膨大な処理が必要になるため、最小外接矩形を順序付けて整列してから二分検索を行うことによって処理量を減らすことが望ましい。
【0109】
まず、最小外接矩形を順序付けて整列するための処理について説明する。例えば、最小外接矩形をx座標値の大きさを基準に順序付けて整列する。より詳細に説明すると、最小外接矩形の左上端の頂点のx座標値の大きさを基準として順に整列した最小外接矩形の集合を一つ生成し、さらに、最小外接矩形の右下端の頂点のx座標値の大きさを基準として順に整列した最小外接矩形の集合をもう一つ生成することによって、最小外接矩形の集合を二つ生成する。前者をBR1、後者をBR2とする。
【0110】
最小外接矩形をx座標値の大きさを基準として整列するための計算複雑度は、最小外接矩形すべての数をNとすると、O(NlogN)である。ところで、最小外接矩形をx座標値の大きさを基準に一度だけ整列すれば、すべての高度を計算する頂点、すなわち、すべての二次元線形データを構成する頂点に対してこの整列済の最小外接矩形を利用することができるので、すべての二次元線形データを構成する頂点について、それぞれすべての最小外接矩形を直接比較する方式に比べて効率的である。
【0111】
x座標値の大きさを基準として整列した最小外接矩形の中から、高度を計算する頂点のx座標値が、左上端の頂点のx座標値と右下端の頂点のx座標値との間の値である最小外接矩形をすべて探し出す。
【0112】
これは、二分検索方式によって効率的に行うことができる。二分検索の計算複雑度は、O(logN)である。まず、左上端の頂点のx座標値の大きさを基準に整列した最小外接矩形の集合BR1で、左上端の頂点のx座標値が高度を計算する頂点のx座標値より小さい最小外接矩形のうち、最も大きいx座標値を有する最小外接矩形を、左上端の頂点のx座標値について二分検索を適用して求める。求めた最小外接矩形より左上端の頂点のx座標値が小さい最小外接矩形は、すべて、左上端の頂点のx座標値が高度を計算する頂点のx座標値より小さい。これらの最小外接矩形の集合をS1とする。
【0113】
次に、右下端の頂点のx座標値の大きさを基準として整列した最小外接矩形の集合BR2で、右下端の頂点のx座標値が、高度を計算する頂点のx座標値より大きい最小外接矩形のうち、最も小さい値を有する最小外接矩形を、右下端の頂点のx座標値について二分検索を適用して求める。求めた最小外接矩形より右下端の頂点のx座標値が大きい最小外接矩形は、すべて、右下端の頂点のx座標値が高度を計算する頂点のx座標値より大きい。これらの最小外接矩形の集合をS2とする。
【0114】
高度を計算する頂点のx座標値が、左上端の頂点のx座標値と右下端の頂点のx座標値との間の値である最小外接矩形は、集合S1と集合S2との両方に共通して属する最小外接矩形である。
【0115】
次に、y座標についても、同じ処理を行う。まず、最小外接矩形を順序付けて整列する処理について説明する。最小外接矩形をy座標値の大きさを基準に順序付けて整列する。x座標の場合と同様に、右下端の頂点のy座標値の大きさを基準として順に整列した最小外接矩形の集合を一つ生成し、さらに、左上端の頂点のy座標値の大きさを基準として順に整列した最小外接矩形の集合をもう一つ生成する。前者をBR3、後者をBR4とする。
【0116】
BR3に二分検索を適用し、右下端の頂点のy座標値が、高度を計算する頂点のy座標値より小さい最小外接矩形をすべて求める。これらの最小外接矩形の集合をS3とする。そして、BR4に二分検索を適用し、左上端の頂点のy座標値が、高度を計算する頂点のy座標値より大きい最小外接矩形をすべて求める。これらの最小外接矩形の集合をS4とする。
【0117】
高度を計算する頂点のy座標値が、右下端の頂点のy座標値と左上端の頂点のy座標値との間の値である最小外接矩形は、集合S3と集合S4との両方に共通して属する最小外接矩形である。
こうして求められた、高度を計算する頂点のx座標値が左上端の頂点のx座標値と右下端の頂点のx座標値との間の値である最小外接矩形の集合と、高度を計算する頂点のy座標値が右下端の頂点のy座標値と左上端の頂点のy座標値との間の値である最小外接矩形の集合との両方に共通に属する最小外接矩形が少なくとも一つ存在する。この少なくとも一つの最小外接矩形、すなわち、集合S1、集合S2、集合S3及び集合S4に共通に属する最小外接矩形が、最終的に検索した高度を計算する頂点が含まれる最小外接矩形である。
【0118】
また、データ構造を適切に構成することによって、各処理における処理対象の最小外接矩形の数を減らすことも可能である。例えば、BR1及びBR2を生成するとき、互いに同じ最小外接矩形間でリンクを設定しておいてもよい。これによって、S1を生成した後、S1に含まれない最小外接矩形をBR2から除外することができる。S1に含まれる最小外接矩形の数がp個である場合、BR2からS2を生成するための計算複雑度は、O(logN)ではなくO(logp)となり、処理量を減らすことができる。
【0119】
また、x座標についての処理とy座標についての処理の順序を変えたり、これらの処理を同時に行ったりすることも可能である。
【0120】
こうして、x座標及びy座標に対する最小外接矩形の検索がすべて完了すると、最終的に検索した少なくとも一つの最小外接矩形は、すべて、自体の内部に高度を計算する頂点を含む。しかし、ここで求めたいのは、自体の内部に高度を計算する頂点を含む三角形であるから、最終的に検索した最小外接矩形に対応する三角形について、高度を計算する頂点が含まれているか否かを確認しなければならない。
【0121】
もし、最終的に検索した最小外接矩形の数が一つならば、これに対応する三角形は、必ず高度を計算する頂点を含んでいる。従って、最終的に検索した最小外接矩形に対応する三角形を、高度を計算する頂点が属する三角形として決定することができる。しかし、最終的に検索した最小外接矩形の数が二つ以上であれば、それぞれの最小外接矩形に対応する三角形について、高度を計算する頂点が内部に属しているか否かを判断しなければならない。
【0122】
三角形内部に頂点が含まれているか否かを判断するため、ベクトルの外積の性質を利用する。
【0123】
三角形の三つの頂点をそれぞれp0、p1及びp2とし、高度を計算する頂点をvとする。それぞれベクトルの外積c1、c2及びc3を次の数式(3)のように定義する。
【0124】
【数3】

【0125】
三角形の頂点p0から三角形の頂点p1へのベクトルと三角形の頂点p0から高度を計算する頂点vへのベクトルとの外積の値は、高度を計算する頂点vが三角形の頂点p0から三角形の頂点p1へのベクトルの左側に位置するとき正であり、右側に位置するとき負である。三角形の頂点p1から三角形の頂点p2へのベクトルと三角形の頂点p1から高度を計算する頂点vへのベクトルとの外積の値は、高度を計算する頂点vが三角形の頂点p1から三角形の頂点p2へのベクトルの左側に位置するとき正、右側に位置するとき負である。三角形の頂点p2から三角形の頂点p0へのベクトルと三角形の頂点p2から高度を計算する頂点vへのベクトルとの外積の値は、高度を計算する頂点vが三角形の頂点p2から三角形の頂点p0へのベクトルの左側に位置するとき正であり、右側に位置するとき負である。従って、高度を計算する頂点が含まれる最小外接矩形において、数式(3)の三つの外積の値がすべて正であれば、高度を計算する頂点vは三角形p0p1p2の内部に位置し、数式(3)の三つの外積の値のうち一つが負であれば、高度を計算する頂点vは三角形p0p1p2の外部に位置する。これを簡単に求めるために、数式(3)の三つの外積の値を求めた後でそれらを乗じ、正であるか負であるかを検査する。
【0126】
三角形検索部230、240(図3参照)で、二次元線形データを構成する頂点が属する三次元地形データを構成する三角形を検索した後、頂点高度計算部250、260(図3参照)で、検索した三角形の三次元座標を利用して、この頂点の高度を計算する。
【0127】
頂点の高度を計算するためには、まず、検索した三角形を含む三次元平面の方程式を求め、高度を計算する頂点の二次元座標の値を三次元平面の方程式に代入し、未知数であるz値を計算する。
【0128】
三次元平面は、ax+by+cz+d=0という形の方程式で表すことができる。ここで、係数a、係数b及び係数cは、この三次元平面に対して垂直である法線ベクトルの各成分の値である。従って、三次元平面の方程式を求めるためには、その三次元平面に垂直である法線ベクトルを求めなければならない。三次元平面とその法線との関係を図10に図示する。
【0129】
法線ベクトルを求めるため、まず、検索した三角形の三つの頂点のうち一つを選択し、選択した頂点から残りの二つの頂点へのベクトルをそれぞれ求め、これらの二つのベクトルの外積を計算する。計算した外積のベクトルが法線ベクトルとなる。
【0130】
法線ベクトルの各成分の値を係数a、係数b及び係数cに代入し、三角形の三つの頂点のうちの一つの頂点のx座標値、y座標値及びz座標値を平面の方程式ax+by+cz+d=0に代入して解くことによって、定数dの値を計算することができる。この結果、係数a、係数b、係数c及び定数dの値を計算することができる。
【0131】
次に、この平面の方程式に高度を計算する頂点のx座標値及びy座標値を代入して解くことによって、未知数zの値を計算することができる。このzの値が高度を計算する頂点の高度である。
【0132】
三次元地形データがDEMで表現される場合、計算量を減らすため、より簡単な計算方法を利用することができる。図11及び図12に、簡単な高度計算方法の例を図示した。
【0133】
図11は、DEMで表現される三次元地形データを構成する各三角形に含まれる頂点の高度を、頂点が含まれるセルにおける平均高度を利用して計算する方法を図示したものである。図11に示すように、セルにおける平均高度とは、セルの四つの頂点1、頂点2、頂点3、頂点4における高度の平均を計算したものである。計算したセルにおける平均高度をセルに含まれる頂点の高度とする。この場合、図11に示す同一のセルに含まれる二つの頂点は、同じ高度を有する。
【0134】
図12は、DEMで表現される三次元地形データを構成する各三角形に含まれる頂点の高度を、頂点を含む三角形における平均高度、又は頂点を含む平面の高度を利用して計算する方法を図示したものである。図12に示すように、一つのセルをセルの右上端から左下端に引かれた線分Aによって、二つの三角形に分ける。このとき、上側の頂点の高度は、頂点1、頂点2、頂点3からなる上側の三角形の平面における平均高度になり、下側の頂点の高度は、頂点2、頂点3、頂点4からなる下側の三角形の平面における平均高度となる。
【0135】
二次元線形データを構成するすべての頂点に対して高度を計算した後、二次元線形データを構成する直線とそれらが属する三次元地形データを構成する三角形との交点を求める必要がある。その理由を説明する。
【0136】
三次元地形データを構成するそれぞれの三角形の境界では、三角形の平面の方程式が変わる。二次元線形データを構成する直線は、三次元地形データを構成する各三角形の境界で三角形の平面の傾斜角度が変わるため、折れ曲がる。従って、二次元線形データを現実感のある画像で表示するためには、二次元線形データを構成する直線と三次元地形データを構成する三角形との交点の二次元座標を求め、その交点における高度を計算する必要がある。
【0137】
交点計算部270、280(図3参照)において、二次元線形データを構成する直線と三次元地形データを構成する三角形との交点を求める方法は次の通りである。
【0138】
三次元地形データがDEM形式で表現される場合、三次元地形データを構成する三角形は規則的に配列されるため、これらの三角形の境界線も規則的に配列される。
【0139】
図13は、三次元地形データがDEM形式である場合の三次元地形データを構成する三角形と二次元線形データを構成する直線との交点の二次元座標を求める一例を示す図である。図13によると、基準となる左下端の点の座標を(x、y)とし、一つのセルの幅をcとする。
【0140】
図14Aは、図13の例において、三次元地形データを構成する三角形のカラム(列)方向つまり垂辺方向の境界線と二次元線形データを構成する直線との交点を求める例を示す図である。図14Bは、図13の例において、三次元地形データを構成する三角形のロー(行)方向つまり底辺方向の境界線と二次元線形データを構成する直線との交点を求める例を示す図である。図14Cは、図13の例において、三次元地形データを構成する三角形の斜辺方向の境界線と二次元線形データを構成する直線との交点を求める例を示す図である。それぞれの境界線のx座標値及びy座標値と斜辺を表す直線の方程式とを利用することによって、三次元地形データを構成する三角形と二次元線形データを構成する直線との交点の二次元座標を容易に求めることができる。
【0141】
図14Aは、三次元地形データを構成する三角形のカラム方向、すなわちy軸方向のそれぞれの境界線と二次元線形データを構成する直線との交点を求める例を示す図である。図14Aに示すように、境界線のx座標は、それぞれx+c、x+2c、x+3c、x+4c、x+5cの値を有する。これらの値は、それぞれ三次元地形データを構成する三角形の底辺の端点のx座標値である。各境界線のx座標値を二次元線形データを構成する直線の方程式ax+by+c=0に代入すれば、各カラム方向の境界線と二次元線形データを構成する直線との交点のy座標値を計算することができる。
【0142】
図14Bは、三次元地形データを構成する三角形のロー方向、すなわちx軸方向のそれぞれの境界線と二次元線形データを構成する直線との交点を求める例を示す図である。図14Bに示すように、境界線のy座標は、それぞれy+c、y+2cの値を有する。これらの値は、それぞれ三次元地形データを構成する三角形の底辺のy座標値、すなわち底辺の端点のy座標値である。各境界線のy座標値を二次元線形データを構成する直線の方程式ax+by+c=0に代入すれば、各ロー方向の境界線と二次元線形データを構成する直線との交点のx座標値を計算することができる。
【0143】
図14Cは、三次元地形データを構成する三角形の対角線(斜辺)方向のそれぞれの境界線と二次元線形データを構成する直線との交点を求める例を示す図である。図14Cの例では、点bと点2とを通る直線、点cと点3とを通る直線、点dと点4とを通る直線、点eと点5とを通る直線、点fと点6とを通る直線、点gと点7とを通る直線の6本の直線が二次元線形データを構成する直線と交わっている。これらの6本の直線と二次元線形データを構成する直線との交点を求めるのは、図14A又は図14Bの例ほど簡単ではないが、各斜辺方向の境界線を含む直線の方程式と二次元線形データを構成する直線の方程式との連立方程式を解くことによって、簡単に求めることができる。
【0144】
図15は、三次元地形データを構成する三角形の各境界線と二次元線形データを構成する直線との交点を、二次元線形データを構成する直線の一方の端点から近い順に整列したものを示す図である。交点の数をnとすると、この計算複雑度は、O(nlogn)になる。
【0145】
三次元地形データがTIN形式で表現される場合、三次元地形データを構成する三角形が規則的ではないので、最小外接矩形を使用する必要がある。
【0146】
図16は、三次元地形データがTIN形式で表現される場合、三次元地形データを構成する三角形と二次元線形データを構成する直線との交点を求めるため使用する最小外接矩形を求める方法を示す図である。図16に図示した例では、二次元線形データを構成する直線は、三次元地形データを構成する三角形T1、T2、T3、T4、T5及びT6の境界線と交差している。
【0147】
まず、三次元地形データを構成するすべての三角形について、それぞれの三角形に外接する最小外接矩形を求める。このとき、三角形検索部230(図3参照)で最小外接矩形を求めたものがあれば、それらをそのまま使用することができる。
【0148】
求めた最小外接矩形のうち、二次元線形データを構成する直線の少なくとも一部を含む最小外接矩形をすべて検索する。この場合、順序付けて整列した最小外接矩形を利用して二分検索を行うことも可能である。そして、検索した最小外接矩形に対応するそれぞれの三角形について、二次元線形データを構成する直線との交点の二次元座標を計算する。
【0149】
交点計算部270、280(図3参照)で、二次元線形データを構成するそれぞれの直線と三次元地形データを構成するそれぞれの三角形との交点をすべて求めた後、交点高度計算部290、300(図3参照)でその交点における高度を計算する。
【0150】
交点高度計算部290、300で三次元地形データを構成する三角形と二次元線形データを構成する直線との交点の高度を計算する方法は、頂点高度計算部250、260で二次元線形データを構成する頂点の高度を計算する方法と同じである。ただし、交点は、三次元地形データを構成する三角形の内部ではなく、三角形の境界線上に位置するため、これを考慮して交点に対応する三角形を求め、その三角形の座標を利用して、交点の座標を次のように求めることもできる。
【0151】
三次元地形データがDEM形式で表現される場合、補間法を利用して交点の高度を計算することができる。図17A及び図17Bは、補間法を利用して交点の高度を計算する例を示す図である。
【0152】
図17Aに示すように、三次元地形データを構成する三角形と二次元線形データを構成する直線との交点p1の高度は、上側の三次元地形データを構成する三角形の頂点1の高度と頂点2の高度とから補間して計算することができ、三次元地形データを構成する三角形と二次元線形データを構成する直線との交点p2の高度は、上側及び下側の三次元地形データを構成する三角形の頂点2の高度と頂点3の高度とから補間して計算することができ、三次元地形データを構成する三角形と二次元線形データを構成する直線との交点p3の高度は、下側の三次元地形データを構成する三角形の頂点3の高度と頂点4の高度とから補間して計算することができる。
【0153】
図17Bを参照しながら、三次元地形データを構成する三角形の頂点1の高度と頂点2の高度とから、三次元地形データを構成する三角形と二次元線形データを構成する直線との交点p1の高度を補間する場合について述べる。交点p1から頂点1までの距離をd1、交点p1から頂点2までの距離をd2、頂点1の高度をh1、頂点2の高度をh2とすれば、頂点p1の高度は、次の数式(4)により計算することができる。
【0154】
【数4】

【0155】
三次元地形データがDEMで表現される場合で、二次元線形データを構成する頂点が三次元地形データを構成するセルの外部に位置する場合、この頂点の高度も、補間法を適用して計算することができる。このような場合が起きるのは、地図メーカーが地図を誤って製作した場合であり、例外処理の一つとして行われる。
【0156】
図18はこのように、実際のセルの外部に位置する二次元線形データを構成する頂点の高度を実際のセルの頂点1の高度と頂点2の高度とを補間して計算する方法を示す図である。図18に示すように、実際のセルの外部に位置する二次元線形データを構成する頂点は、頂点1、頂点2、頂点3及び頂点4からなる仮想のセルの内部に含まれる。この仮想のセルは、高度情報を有しないため、この仮想のセルを利用して実際の頂点の高度を直接計算することはできない。従って、この二次元線形データを構成する頂点が、実際のセルの頂点1と頂点2とを通る直線上に位置すると仮定し、補間法を利用して高度を計算し、これを二次元線形データを構成する頂点の高度として使用する。
【0157】
三次元変換部80(図2参照)で、前に述べたように、二次元線形データに対応する高度を計算して追加することによって三次元変換を行い、地図データ出力部90(図2参照)で、これらを三次元地形データと一緒に三次元画像で表示する。
【0158】
三次元地形データがDEM形式で表現される場合、データ出力部90は、三角形ストリップ生成部220(図3参照)で生成される三角形ストリップを構成するすべての座標値を出力装置に一度に送る。
【0159】
図19Aないし図19Cは、三次元地形データがTIN形式で表現される場合、二次元線形データを三次元地形データの表現形式(TIN形式)に従ってリアルタイムで三次元データに変換し、三次元地形データと一緒に三次元画像で表示する一例を示す図である。図19Aに示す二次元線形データを三次元変換し、図19Bに示すTIN形式の三次元地形データと一緒に出力することによって、図19Cに示すように、地形地物を三次元画像で表示するので直観的に認識することができる。
【0160】
図20Aないし図20Cは、三次元地形データがDEM形式で表現される場合、二次元線形データを三次元地形データの表現形式(DEM形式)に従ってリアルタイムで三次元データに変換し、三次元地形データと一緒に三次元画像で表示する一例を示す図である。図20Aに示す二次元線形データを三次元変換し、図20Bに示すDEM形式の三次元地形データと一緒に出力することによって、図20Cに示すように、地形地物を三次元画像で表示するので直観的に認識することができる。
【0161】
本発明は、コンピュータ(情報処理機能を有するすべての装置を含む)で読み取り可能な記録媒体にコンピュータで読み取り可能なコードとして具現することが可能である。コンピュータで読み取り可能な記録媒体とは、コンピュータシステムによって読み取り可能なデータを保存するすべての種類の記憶装置を含む。コンピュータで読み取り可能な記憶装置の例としては、ROM(Read−Only Memory)、RAM(Random−Access Memory)、CD−ROM、磁気テープ、フレキシブルディスク、光データ記憶装置などがある。
【0162】
以上、多様な実施形態に適用される本発明の新規な特徴に焦点を合わせて説明してきたが、当業者であれば、本発明の範囲を外れることなく、上記で説明された装置及び方法の形態及び細部事項に多様に渡って削除、代替、及び変更が可能であることは理解するであろう。従って、本発明の技術的範囲は、特許請求の範囲により定義される。特許請求の範囲の均等範囲内のすべての変形は、本発明の範囲に包摂される。
【産業上の利用可能性】
【0163】
本発明は、運行中の車両の位置を追跡し、道路地図上に正確に表示する車両ナビゲーションシステムに適用可能である。
【図面の簡単な説明】
【0164】
【図1】従来のナビゲーションシステムにおける画像表示方法を示す図である。
【図2】本発明に係るナビゲーションシステムの構成を示すブロック図である。
【図3】本発明に係る二次元線形データリアルタイム三次元変換装置の一実施例を示すブロック図である。
【図4A】DEM形式を示す図である。
【図4B】TIN形式を示す図である。
【図5】一般的な三角形座標の表現方式を示す図である。
【図6】三角形ストリップで表現された三角形を示す図である。
【図7A】本発明に係る二次元線形データの三次元変換及び三次元画像表示システムで扱う二次元線形データの一例を示す図である。
【図7B】本発明に係る二次元線形データの三次元変換及び三次元画像表示システムで扱う二次元線形データの一例を示す図である。
【図8】二次元線形データを三次元地形データの表現形式に従って三次元変換し、三次元画像で表示する一実施例を示す図である。
【図9】三角形とこれに外接する最小外接矩形の一例を示す図である。
【図10】三次元平面とその法線ベクトルとの関係を示す図である。
【図11】頂点の高度を、頂点が含まれるセルの高度の平均を利用して計算する方法を示す図である。
【図12】頂点の高度を、頂点が含まれる三角形の高度の平均又は頂点が含まれる平面上の高度を利用して計算する方法を示す図である。
【図13】三次元地形データがDEM形式である場合、三角形と直線との交点を求める一例を示す図である。
【図14A】カラム(列)方向の境界線と直線との交点を求める例を示す図である。
【図14B】ロー(行)方向の境界線と直線との交点を求める例を示す図である。
【図14C】三角形の斜辺方向の境界線と直線との交点を求める例を示す図である。
【図15】各境界線と直線との交点を、二次元直線の一方の端点からの距離の順に並べたものを示す図である。
【図16】三次元地形データがTIN形式で表現される場合、三次元地形データを構成する三角形に対応する最小外接矩形の求め方を示す図である。
【図17A】補間法を利用して交点の高度を計算する実施例を示す図である。
【図17B】補間法を利用して交点の高度を計算する実施例を示す図である。
【図18】セルの外部に位置する頂点の高度を、セルの頂点の高度を補間して計算する方法を示す図である。
【図19A】三次元地形データがTIN形式で表現される場合、二次元線形データを三次元変換して三次元画像で表示する一例を示す図である。
【図19B】三次元地形データがTIN形式で表現される場合、二次元線形データを三次元変換して三次元画像で表示する一例を示す図である。
【図19C】三次元地形データがTIN形式で表現される場合、二次元線形データを三次元変換して三次元画像で表示する一例を示す図である。
【図20A】三次元地形データがDEM形式で表現される場合、二次元線形データを三次元変換して三次元画像で表示する一例を示す図である。
【図20B】三次元地形データがDEM形式で表現される場合、二次元線形データを三次元変換して三次元画像で表示する一例を示す図である。
【図20C】三次元地形データがDEM形式で表現される場合、二次元線形データを三次元変換して三次元画像で表示する一例を示す図である。
【符号の説明】
【0165】
10 人工衛星
20 GPS受信機
30 インターフェース入力部
40 ナビゲーション制御部
50 地図データ管理部
60 三次元地形データベース
70 二次元データベース
80 三次元データ変換部
90 地図データ出力部
100 ナビゲーションディスプレイ
110 車両
200 二次元線形データリアルタイム三次元変換装置
210 地形データ判断部
220 DEM三角形ストリップ生成部
230 二次元データの頂点の属するTINの三角形検索部
240 二次元データの頂点の属するDEMの三角形検索部
250,260 二次元データの頂点高度計算部
270 TINでの二次元データの交点計算部
280 DEMでの二次元データの交点計算部
290,300 二次元データの交点高度計算部
310 参照三次元地形
320 入力二次元データ
330 出力三次元データ

【特許請求の範囲】
【請求項1】
二次元線形データを三次元地形データの表現形式に従ってリアルタイムで三次元データに変換する方法において、
(a)前記三次元地形データを構成する三角形のうち、前記二次元線形データを構成するそれぞれの頂点が属する三角形を検索するステップと、
(b)前記検索した二次元線形データを構成する頂点が属する三角形の三次元座標を利用し、前記二次元線形データを構成する頂点の高度を計算するステップと、
(c)前記三次元地形データを構成するそれぞれの三角形と前記二次元線形データを構成するそれぞれの直線との交点の二次元座標を求めるステップと、
(d)前記二次元座標を求めた交点の高度を計算するステップと、
を含むことを特徴とする二次元線形データリアルタイム三次元変換方法。
【請求項2】
前記三次元地形データの表現形式を判断するステップと、
前記三次元地形データの表現形式が数値標高モデル形式である場合、前記三次元地形データを構成する三角形の座標を含む三角形ストリップを生成するステップと、
をさらに含むことを特徴とする請求項1に記載の二次元線形データリアルタイム三次元変換方法。
【請求項3】
前記(b)ステップは、
(b1)前記検索した二次元線形データを構成する頂点が属する三角形が含まれる三次元平面の方程式ax+by+cz+d=0を求めるステップと、
(b2)前記二次元線形データを構成する頂点のx座標値とy座標値とを前記三次元平面の方程式に代入し、前記二次元線形データを構成する頂点のz座標値を求めるステップと、
を含むことを特徴とする請求項1に記載の二次元線形データリアルタイム三次元変換方法。
【請求項4】
前記(b1)ステップは、
前記検索した二次元線形データを構成する頂点が属する三角形の三つの頂点のうち、一つの頂点を選択するステップと、
前記検索した二次元線形データを構成する頂点が属する三角形の三つの頂点のうち、前記選択した一つの頂点から残りの二つの頂点へのそれぞれのベクトルを求めるステップと、
前記求めたベクトルの外積を計算し、前記三次元平面の方程式のaの値とbの値とcの値とを求めるステップと、
前記検索した二次元線形データを構成する頂点が属する三角形の三つの頂点のうち、一つの頂点の座標値を前記三次元平面の方程式に代入し、前記dの値を求めるステップと、
を含むことを特徴とする請求項3に記載の二次元線形データリアルタイム三次元変換方法。
【請求項5】
前記三次元地形データの表現形式は、不規則三角網形式であることを特徴とする請求項1に記載の二次元線形データリアルタイム三次元変換方法。
【請求項6】
前記(a)ステップは、
(a1)前記三次元地形データを構成するすべての三角形について、それぞれの三角形に外接する最小外接矩形を求めるステップと、
(a2)前記求めた三角形に外接する最小外接矩形のうち、前記二次元線形データを構成する頂点を内部に含むすべての最小外接矩形を検索するステップと、
(a3)前記検索した二次元線形データを構成する頂点を内部に含む最小外接矩形の数が一つである場合、前記検索した二次元線形データを構成する頂点を内部に含む最小外接矩形に対応する三角形を、前記二次元線形データを構成する頂点が属する三角形として決定するステップと、
(a4)前記検索した二次元線形データを構成する頂点を内部に含む最小外接矩形の数が二つ以上である場合、前記検索した二次元線形データを構成する頂点を内部に含むそれぞれの最小外接矩形に対応する三角形について、前記二次元線形データを構成する頂点が属するか否かを判断し、前記二次元線形データを構成する頂点が属する三角形を決定するステップと、
を含むことを特徴とする請求項5に記載の二次元線形データリアルタイム三次元変換方法。
【請求項7】
前記(a2)ステップは、
前記求めた三角形に外接する最小外接矩形を、最小外接矩形の頂点のx座標値の大きさを基準として整列するステップと、
前記x座標値の大きさを基準として整列した最小外接矩形のうち、前記二次元線形データを構成する頂点のx座標値が、最小外接矩形の頂点が有するx座標値の範囲内であるすべての最小外接矩形を検索するステップと、
前記求めた三角形に外接する最小外接矩形を、最小外接矩形の頂点のy座標値の大きさを基準として整列するステップと、
前記y座標値の大きさを基準として整列した最小外接矩形のうち、前記二次元線形データを構成する頂点のy座標値が、最小外接矩形の頂点が有するy座標値の範囲内であるすべての最小外接矩形を検索するステップと、
を含むことを特徴とする請求項6に記載の二次元線形データリアルタイム三次元変換方法。
【請求項8】
前記(c)ステップは、
(c1)前記三次元地形データを構成するすべての三角形について、それぞれの三角形に外接する最小外接矩形を求めるステップと、
(c2)前記求めた三角形に外接する最小外接矩形のうち、前記二次元線形データを構成する直線の少なくとも一部を含むすべての最小外接矩形を検索するステップと、
(c3)前記検索した前記二次元線形データを構成する直線の少なくとも一部を含むそれぞれの最小外接矩形に対応する三角形と、前記二次元線形データを構成する直線との交点の二次元座標を求めるステップと、
を含むことを特徴とする請求項5に記載の二次元線形データリアルタイム三次元変換方法。
【請求項9】
前記三次元地形データの表現形式は、数値標高モデル形式であることを特徴とする請求項1に記載の二次元線形データリアルタイム三次元変換方法。
【請求項10】
前記(c)ステップは、
前記三次元地形データを構成する三角形の底辺の端点のx座標値を決定するステップと、
前記二次元線形データを構成する直線の方程式に前記決定した三角形の底辺の端点のx座標値をそれぞれ代入し、前記三次元地形データを構成する三角形のそれぞれの垂辺と前記二次元線形データを構成する直線との交点のy座標値を計算して前記交点の二次元座標を求めるステップと、
前記三次元地形データを構成する三角形の底辺のy座標値を決定するステップと、
前記二次元線形データを構成する直線の方程式に前記決定した三角形の底辺のy座標値をそれぞれ代入し、前記三次元地形データを構成する三角形のそれぞれの底辺と前記二次元線形データを構成する直線との交点のx座標値を計算して前記交点の二次元座標を求めるステップと、
前記三次元地形データを構成する三角形のそれぞれの斜辺と前記二次元線形データを構成する直線との交点の二次元座標を求めるステップと、
を含むことを特徴とする請求項9に記載の二次元線形データリアルタイム三次元変換方法。
【請求項11】
前記二次元座標を求めた交点を前記二次元線形データを構成する直線の一方の端点からの距離を基準として整列するステップをさらに含むことを特徴とする請求項10に記載の二次元線形データリアルタイム三次元変換方法。
【請求項12】
前記(d)ステップは、
前記二次元座標を求めた交点に対応する三次元地形データを構成する三角形の頂点の座標を利用して補間法を適用し、前記二次元座標を求めた交点の高度を計算するステップを含む
ことを特徴とする請求項9に記載の二次元線形データリアルタイム三次元変換方法。
【請求項13】
前記二次元線形データを構成する頂点のうち、前記三次元地形データを構成するセルの外部に位置する頂点に対し、前記セルの外部に位置する頂点に最も近いセルの頂点の座標を利用して補間法を適用し、前記セルの外部に位置する頂点の高度を計算するステップをさらに含むことを特徴とする請求項9に記載の二次元線形データリアルタイム三次元変換方法。
【請求項14】
前記二次元線形データは、道路、鉄道、又は川を表現するデータであることを特徴とする請求項1に記載の二次元線形データリアルタイム三次元変換方法。
【請求項15】
二次元線形データを三次元地形データの表現形式に従ってリアルタイムで三次元データに変換する装置において、
前記三次元地形データを構成する三角形のうち、前記二次元線形データを構成するそれぞれの頂点が属する三角形を検索する三角形検索部と、
前記検索した二次元線形データを構成する頂点が属する三角形の三次元座標を利用し、前記二次元線形データを構成する頂点の高度を計算する頂点高度計算部と、
前記三次元地形データを構成するそれぞれの三角形と前記二次元線形データを構成するそれぞれの直線との交点の二次元座標を求める交点計算部と、
前記二次元座標を求めた交点の高度を計算する交点高度計算部と、
を備えることを特徴とする二次元線形データリアルタイム三次元変換装置。
【請求項16】
前記三次元地形データの表現形式を判断する地形データ判断部と、
前記三次元地形データの表現形式が数値標高モデル形式である場合、前記三次元地形データを構成する三角形の座標を含む三角形ストリップを生成する三角形ストリップ生成部と、
をさらに含むことを特徴とする請求項15に記載の二次元線形データリアルタイム三次元変換装置。
【請求項17】
前記頂点高度計算部は、
前記検索した二次元線形データを構成する頂点が属する三角形が含まれる三次元平面の方程式ax+by+cz+d=0を求める平面方程式計算部と、
前記二次元線形データを構成する頂点のx座標値とy座標値とを前記三次元平面の方程式に代入し、前記二次元線形データを構成する頂点のz座標値を求めるz座標計算部と、
を備えることを特徴とする請求項15に記載の二次元線形データリアルタイム三次元変換装置。
【請求項18】
前記三次元地形データの表現形式は、不規則三角網形式であることを特徴とする請求項15に記載の二次元線形データリアルタイム三次元変換装置。
【請求項19】
前記三角形検索部は、
前記三次元地形データを構成するすべての三角形について、それぞれの三角形に外接する最小外接矩形を求める最小外接矩形計算部と、
前記求めた三角形に外接する最小外接矩形のうち、前記二次元線形データを構成する頂点を内部に含むすべての最小外接矩形を検索する最小外接矩形検索部と、
前記検索した二次元線形データを構成する頂点を内部に含む最小外接矩形の数が一つである場合、前記検索した二次元線形データを構成する頂点を内部に含む最小外接矩形に対応する三角形を、前記二次元線形データを構成する頂点が属する三角形として決定し、前記検索した二次元線形データを構成する頂点を内部に含む最小外接矩形の数が二つ以上である場合、前記検索した二次元線形データを構成する頂点を内部に含むそれぞれの最小外接矩形に対応する三角形について、前記二次元線形データを構成する頂点が属するか否かを判断し、前記二次元線形データを構成する頂点が属する三角形を決定する三角形決定部と、
を備えることを特徴とする請求項18に記載の二次元線形データリアルタイム三次元変換装置。
【請求項20】
前記最小外接矩形検索部は、
前記求めた三角形に外接する最小外接矩形を、最小外接矩形の頂点のx座標値の大きさを基準として整列する第1整列部と、
前記x座標値の大きさを基準として整列した最小外接矩形のうち、前記二次元線形データを構成する頂点のx座標値が、最小外接矩形の頂点が有するx座標値の範囲内であるすべての最小外接矩形を検索する第1検索部と、
前記求めた三角形に外接する最小外接矩形を、最小外接矩形の頂点のy座標値の大きさを基準として整列する第2整列部と、
前記y座標値の大きさを基準として整列した最小外接矩形のうち、前記二次元線形データを構成する頂点のy座標値が、最小外接矩形の頂点が有するy座標値の範囲内であるすべての最小外接矩形を検索する第2検索部と、
を備えることを特徴とする請求項19に記載の二次元線形データリアルタイム三次元変換装置。
【請求項21】
前記三次元地形データの表現形式は、数値標高モデル形式であることを特徴とする請求項15に記載の二次元線形データリアルタイム三次元変換装置。
【請求項22】
前記交点計算部は、
前記三次元地形データを構成する三角形の底辺の端点のx座標値を決定するx座標決定部と、
前記二次元線形データを構成する直線の方程式に前記決定した三角形の底辺の端点のx座標値をそれぞれ代入し、前記三次元地形データを構成する三角形のそれぞれの垂辺と前記二次元線形データを構成する直線との交点のy座標値を計算して前記交点の二次元座標を求めるy座標計算部と、
前記三次元地形データを構成する三角形の底辺のy座標値を決定するy座標決定部と、
前記二次元線形データを構成する直線の方程式に前記決定した三角形の底辺のy座標値をそれぞれ代入し、前記三次元地形データを構成する三角形のそれぞれの底辺と前記二次元線形データを構成する直線との交点のx座標値を計算して前記交点の二次元座標を求めるx座標計算部と、
前記三次元地形データを構成する三角形のそれぞれの斜辺と前記二次元線形データを構成する直線との交点の二次元座標を求める斜辺交点計算部と、
を備えることを特徴とする請求項21に記載の二次元線形データリアルタイム三次元変換装置。
【請求項23】
前記二次元座標を求めた交点を前記二次元線形データを構成する直線の一方の端点からの距離を基準として整列する交点整列部をさらに含むことを特徴とする請求項22に記載の二次元線形データリアルタイム三次元変換装置。
【請求項24】
前記交点高度計算部は、
前記二次元座標を求めた交点に対応する三次元地形データを構成する三角形の頂点の座標を利用して補間法を適用し、前記二次元座標を求めた交点の高度を計算する補間計算部を備える
ことを特徴とする請求項21に記載の二次元線形データリアルタイム三次元変換装置。
【請求項25】
前記二次元線形データを構成する頂点のうち、前記三次元地形データを構成するセルの外部に位置する頂点に対し、前記セルの外部に位置する頂点に最も近いセルの頂点の座標を利用して補間法を適用し、前記セルの外部に位置する頂点の高度を計算する外部頂点計算部をさらに含むことを特徴とする請求項21に記載の二次元線形データリアルタイム三次元変換装置。
【請求項26】
前記二次元線形データは、道路、鉄道、又は川を表現するデータであることを特徴とする請求項15に記載の二次元線形データリアルタイム三次元変換装置。
【請求項27】
二次元線形データを三次元地形データと一緒にリアルタイムで三次元画像に表示する方法において、
(a)前記三次元地形データを構成する三角形のうち、前記二次元線形データを構成するそれぞれの頂点が属する三角形を検索するステップと、
(b)前記検索した二次元線形データを構成する頂点が属する三角形の三次元座標を利用し、前記二次元線形データを構成する頂点の高度を計算するステップと、
(c)前記三次元地形データを構成するそれぞれの三角形と前記二次元線形データを構成するそれぞれの直線との交点の二次元座標を求めるステップと、
(d)前記二次元座標を求めた交点の高度を計算するステップと、
(e)前記高度を計算した二次元線形データを構成する頂点の三次元座標と、前記高度を計算した二次元座標を求めた交点の三次元座標と、を利用して、前記二次元線形データを三次元画像で出力するステップと、
を含むことを特徴とする二次元線形データリアルタイム三次元画像表示方法。
【請求項28】
前記三次元地形データの表現形式を判断するステップと、
前記三次元地形データの表現形式が数値標高モデル形式である場合、前記三次元地形データを構成する三角形の座標を含む三角形ストリップを生成するステップと、
をさらに含むことを特徴とする請求項27に記載の二次元線形データリアルタイム三次元画像表示方法。
【請求項29】
前記(e)ステップは、
前記三角形ストリップを構成するすべての座標値を出力装置に一度に送るステップを含むことを特徴とする請求項28に記載の二次元線形データリアルタイム三次元画像表示方法。
【請求項30】
前記(b)ステップは、
(b1)前記検索した二次元線形データを構成する頂点が属する三角形が含まれる三次元平面の方程式ax+by+cz+d=0を求めるステップと、
(b2)前記二次元線形データを構成する頂点のx座標値とy座標値とを前記三次元平面の方程式に代入し、前記二次元線形データを構成する頂点のz座標値を求めるステップと、
を含むことを特徴とする請求項27に記載の二次元線形データリアルタイム三次元画像表示方法。
【請求項31】
前記(b1)ステップは、
前記検索した二次元線形データを構成する頂点が属する三角形の三つの頂点のうち、一つの頂点を選択するステップと、
前記検索した二次元線形データを構成する頂点が属する三角形の三つの頂点のうち、前記選択した一つの頂点から残りの二つの頂点へのそれぞれのベクトルを求めるステップと、
前記求めたベクトルの外積を計算し、前記三次元平面の方程式のaの値とbの値とcの値とを求めるステップと、
前記検索した二次元線形データを構成する頂点が属する三角形の三つの頂点のうち、一つの頂点の座標値を前記三次元平面の方程式に代入し、前記dの値を求めるステップと、
を含むことを特徴とする請求項30に記載の二次元線形データリアルタイム三次元画像表示方法。
【請求項32】
前記三次元地形データの表現形式は、不規則三角網形式であることを特徴とする請求項27に記載の二次元線形データリアルタイム三次元画像表示方法。
【請求項33】
前記(a)ステップは、
(a1)前記三次元地形データを構成するすべての三角形について、それぞれの三角形に外接する最小外接矩形を求めるステップと、
(a2)前記求めた三角形に外接する最小外接矩形のうち、前記二次元線形データを構成する頂点を内部に含むすべての最小外接矩形を検索するステップと、
(a3)前記検索した二次元線形データを構成する頂点を内部に含む最小外接矩形の数が一つである場合、前記検索した二次元線形データを構成する頂点を内部に含む最小外接矩形に対応する三角形を、前記二次元線形データを構成する頂点が属する三角形として決定するステップと、
(a4)前記検索した二次元線形データを構成する頂点を内部に含む最小外接矩形の数が二つ以上である場合、前記検索した二次元線形データを構成する頂点を内部に含むそれぞれの最小外接矩形に対応する三角形について、前記二次元線形データを構成する頂点が属するか否かを判断し、前記二次元線形データを構成する頂点が属する三角形を決定するステップと、
を含むことを特徴とする請求項32に記載の二次元線形データリアルタイム三次元画像表示方法。
【請求項34】
前記(a2)ステップは、
前記求めた三角形に外接する最小外接矩形を、最小外接矩形の頂点のx座標値の大きさを基準として整列するステップと、
前記x座標値の大きさを基準として整列した最小外接矩形のうち、前記二次元線形データを構成する頂点のx座標値が、最小外接矩形の頂点が有するx座標値の範囲内であるすべての最小外接矩形を検索するステップと、
前記求めた三角形に外接する最小外接矩形を、最小外接矩形の頂点のy座標値の大きさを基準として整列するステップと、
前記y座標値の大きさを基準として整列した最小外接矩形のうち、前記二次元線形データを構成する頂点のy座標値が、最小外接矩形の頂点が有するy座標値の範囲内であるすべての最小外接矩形を検索するステップと、
を含むことを特徴とする請求項33に記載の二次元線形データリアルタイム三次元画像表示方法。
【請求項35】
前記(c)ステップは、
(c1)前記三次元地形データを構成するすべての三角形について、それぞれの三角形に外接する最小外接矩形を求めるステップと、
(c2)前記求めた三角形に外接する最小外接矩形のうち、前記二次元線形データを構成する直線の少なくとも一部を含むすべての最小外接矩形を検索するステップと、
(c3)前記検索した前記二次元線形データを構成する直線の少なくとも一部を含むそれぞれの最小外接矩形に対応する三角形と、前記二次元線形データを構成する直線との交点の二次元座標を求めるステップと、
を含むことを特徴とする請求項32に記載の二次元線形データリアルタイム三次元画像表示方法。
【請求項36】
前記三次元地形データの表現形式は、数値標高モデル形式であることを特徴とする請求項27に記載の二次元線形データリアルタイム三次元画像表示方法。
【請求項37】
前記(c)ステップは、
前記三次元地形データを構成する三角形の底辺の端点のx座標値を決定するステップと、
前記二次元線形データを構成する直線の方程式に前記決定した三角形の底辺の端点のx座標値をそれぞれ代入し、前記三次元地形データを構成する三角形のそれぞれの垂辺と前記二次元線形データを構成する直線との交点のy座標値を計算して前記交点の二次元座標を求めるステップと、
前記三次元地形データを構成する三角形の底辺のy座標値を決定するステップと、
前記二次元線形データを構成する直線の方程式に前記決定した三角形の底辺のy座標値をそれぞれ代入し、前記三次元地形データを構成する三角形のそれぞれの底辺と前記二次元線形データを構成する直線との交点のx座標値を計算して前記交点の二次元座標を求めるステップと、
前記三次元地形データを構成する三角形のそれぞれの斜辺と前記二次元線形データを構成する直線との交点の二次元座標を求めるステップと、
を含むことを特徴とする請求項36に記載の二次元線形データリアルタイム三次元画像表示方法。
【請求項38】
前記二次元座標を求めた交点を前記二次元線形データを構成する直線の一方の端点からの距離を基準として整列するステップをさらに含むことを特徴とする請求項37に記載の二次元線形データリアルタイム三次元画像表示方法。
【請求項39】
前記(d)ステップは、
前記二次元座標を求めた交点に対応する三次元地形データを構成する三角形の頂点の座標を利用して補間法を適用し、前記二次元座標を求めた交点の高度を計算するステップを含む
ことを特徴とする請求項36に記載の二次元線形データリアルタイム三次元画像表示方法。
【請求項40】
前記二次元線形データを構成する頂点のうち、前記三次元地形データを構成するセルの外部に位置する頂点に対し、前記セルの外部に位置する頂点に最も近いセルの頂点の座標を利用して補間法を適用し、前記セルの外部に位置する頂点の高度を計算するステップをさらに含むことを特徴とする請求項36に記載の二次元線形データリアルタイム三次元画像表示方法。
【請求項41】
前記二次元線形データは、道路、鉄道、又は川を表現するデータであることを特徴とする請求項27に記載の二次元線形データリアルタイム三次元画像表示方法。
【請求項42】
二次元線形データを三次元地形データと一緒にリアルタイムで三次元画像に表示する装置において、
前記三次元地形データを構成する三角形のうち、前記二次元線形データを構成するそれぞれの頂点が属する三角形を検索する三角形検索部と、
前記検索した二次元線形データを構成する頂点が属する三角形の三次元座標を利用し、前記二次元線形データを構成する頂点の高度を計算する頂点高度計算部と、
前記三次元地形データを構成するそれぞれの三角形と前記二次元線形データを構成するそれぞれの直線との交点の二次元座標を求める交点計算部と、
前記二次元座標を求めた交点の高度を計算する交点高度計算部と、
前記高度を計算した二次元線形データを構成する頂点の三次元座標と、前記高度を計算した二次元座標を求めた交点の三次元座標と、を利用して、前記二次元線形データを三次元画像で出力するデータ出力部と、
を備えることを特徴とする二次元線形データリアルタイム三次元画像表示装置。
【請求項43】
前記三次元地形データの表現形式を判断する地形データ判断部と、
前記三次元地形データの表現形式が数値標高モデル形式である場合、前記三次元地形データを構成する三角形の座標を含む三角形ストリップを生成する三角形ストリップ生成部と、
をさらに含むことを特徴とする請求項42に記載の二次元線形データリアルタイム三次元画像表示装置。
【請求項44】
前記データ出力部は、
前記三角形ストリップを構成するすべての座標値を出力装置に一度に送る三角形座標出力部を備えることを特徴とする請求項43に記載の二次元線形データリアルタイム三次元画像表示装置。
【請求項45】
前記頂点高度計算部は、
前記検索した二次元線形データを構成する頂点が属する三角形が含まれる三次元平面の方程式ax+by+cz+d=0を求める平面方程式計算部と、
前記二次元線形データを構成する頂点のx座標値とy座標値とを前記三次元平面の方程式に代入し、前記二次元線形データを構成する頂点のz座標値を求めるz座標計算部と、
を備えることを特徴とする請求項42に記載の二次元線形データリアルタイム三次元画像表示装置。
【請求項46】
前記三次元地形データの表現形式は、不規則三角網形式であることを特徴とする請求項42に記載の二次元線形データリアルタイム三次元画像表示装置。
【請求項47】
前記三角形検索部は、
前記三次元地形データを構成するすべての三角形について、それぞれの三角形に外接する最小外接矩形を求める最小外接矩形計算部と、
前記求めた三角形に外接する最小外接矩形のうち、前記二次元線形データを構成する頂点を内部に含むすべての最小外接矩形を検索する最小外接矩形検索部と、
前記検索した二次元線形データを構成する頂点を内部に含む最小外接矩形の数が一つである場合、前記検索した二次元線形データを構成する頂点を内部に含む最小外接矩形に対応する三角形を、前記二次元線形データを構成する頂点が属する三角形として決定し、前記検索した二次元線形データを構成する頂点を内部に含む最小外接矩形の数が二つ以上である場合、前記検索した二次元線形データを構成する頂点を内部に含むそれぞれの最小外接矩形に対応する三角形について、前記二次元線形データを構成する頂点が属するか否かを判断し、前記二次元線形データを構成する頂点が属する三角形を決定する三角形決定部と、
を備えることを特徴とする請求項46に記載の二次元線形データリアルタイム三次元画像表示装置。
【請求項48】
前記最小外接矩形検索部は、
前記求めた三角形に外接する最小外接矩形を、最小外接矩形の頂点のx座標値の大きさを基準として整列する第1整列部と、
前記x座標値の大きさを基準として整列した最小外接矩形のうち、前記二次元線形データを構成する頂点のx座標値が、最小外接矩形の頂点が有するx座標値の範囲内であるすべての最小外接矩形を検索する第1検索部と、
前記求めた三角形に外接する最小外接矩形を、最小外接矩形の頂点のy座標値の大きさを基準として整列する第2整列部と、
前記y座標値の大きさを基準として整列した最小外接矩形のうち、前記二次元線形データを構成する頂点のy座標値が、最小外接矩形の頂点が有するy座標値の範囲内であるすべての最小外接矩形を検索する第2検索部と、
を備えることを特徴とする請求項47に記載の二次元線形データリアルタイム三次元画像表示装置。
【請求項49】
前記三次元地形データの表現形式は、数値標高モデル形式であることを特徴とする請求項42に記載の二次元線形データリアルタイム三次元画像表示装置。
【請求項50】
前記交点計算部は、
前記三次元地形データを構成する三角形の底辺の端点のx座標値を決定するx座標決定部と、
前記二次元線形データを構成する直線の方程式に前記決定した三角形の底辺の端点のx座標値をそれぞれ代入し、前記三次元地形データを構成する三角形のそれぞれの垂辺と前記二次元線形データを構成する直線との交点のy座標値を計算して前記交点の二次元座標を求めるy座標計算部と、
前記三次元地形データを構成する三角形の底辺のy座標値を決定するy座標決定部と、
前記二次元線形データを構成する直線の方程式に前記決定した三角形の底辺のy座標値をそれぞれ代入し、前記三次元地形データを構成する三角形のそれぞれの底辺と前記二次元線形データを構成する直線との交点のx座標値を計算して前記交点の二次元座標を求めるx座標計算部と、
前記三次元地形データを構成する三角形のそれぞれの斜辺と前記二次元線形データを構成する直線との交点の二次元座標を求める斜辺交点計算部と、
を備えることを特徴とする請求項49に記載の二次元線形データリアルタイム三次元画像表示装置。
【請求項51】
前記二次元座標を求めた交点を前記二次元線形データを構成する直線の一方の端点からの距離を基準として整列する交点整列部をさらに含むことを特徴とする請求項50に記載の二次元線形データリアルタイム三次元画像表示装置。
【請求項52】
前記交点高度計算部は、
前記二次元座標を求めた交点に対応する三次元地形データを構成する三角形の頂点の座標を利用して補間法を適用し、前記二次元座標を求めた交点の高度を計算する補間計算部を備えることを特徴とする請求項49に記載の二次元線形データリアルタイム三次元画像表示装置。
【請求項53】
前記二次元線形データを構成する頂点のうち、前記三次元地形データを構成するセルの外部に位置する頂点に対し、前記セルの外部に位置する頂点に最も近いセルの頂点の座標を利用して補間法を適用し、前記セルの外部に位置する頂点の高度を計算する外部頂点計算部をさらに含むことを特徴とする請求項49に記載の二次元線形データリアルタイム三次元画像表示装置。
【請求項54】
前記二次元線形データは、道路、鉄道、又は川を表現するデータであることを特徴とする請求項42に記載の二次元線形データリアルタイム三次元画像表示装置。
【請求項55】
(a)三次元地形データを構成する三角形のうち、二次元線形データを構成するそれぞれの頂点が属する三角形を検索するステップと、
(b)前記検索した二次元線形データを構成する頂点が属する三角形の三次元座標を利用し、前記二次元線形データを構成する頂点の高度を計算するステップと、
(c)前記三次元地形データを構成するそれぞれの三角形と前記二次元線形データを構成するそれぞれの直線との交点の二次元座標を求めるステップと、
(d)前記二次元座標を求めた交点の高度を計算するステップと、
を含むことを特徴とする二次元線形データリアルタイム三次元変換方法をコンピュータで実行するためのプログラムを記録したコンピュータで読み取り可能な記録媒体。
【請求項56】
(a)三次元地形データを構成する三角形のうち、二次元線形データを構成するそれぞれの頂点が属する三角形を検索するステップと、
(b)前記検索した二次元線形データを構成する頂点が属する三角形の三次元座標を利用し、前記二次元線形データを構成する頂点の高度を計算するステップと、
(c)前記三次元地形データを構成するそれぞれの三角形と前記二次元線形データを構成するそれぞれの直線との交点の二次元座標を求めるステップと、
(d)前記二次元座標を求めた交点の高度を計算するステップと、
(e)前記高度を計算した二次元線形データを構成する頂点の三次元座標と、前記高度を計算した二次元座標を求めた交点の三次元座標と、を利用して、前記二次元線形データを三次元画像で出力するステップと、
を含むことを特徴とする二次元線形データリアルタイム三次元画像表示方法をコンピュータで実行するためのプログラムを記録したコンピュータで読み取り可能な記録媒体。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4A】
image rotate

【図4B】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7A】
image rotate

【図7B】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14A】
image rotate

【図14B】
image rotate

【図14C】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17A】
image rotate

【図17B】
image rotate

【図18】
image rotate

【図8】
image rotate

【図19A】
image rotate

【図19B】
image rotate

【図19C】
image rotate

【図20A】
image rotate

【図20B】
image rotate

【図20C】
image rotate


【公開番号】特開2006−172471(P2006−172471A)
【公開日】平成18年6月29日(2006.6.29)
【国際特許分類】
【出願番号】特願2005−360326(P2005−360326)
【出願日】平成17年12月14日(2005.12.14)
【出願人】(390019839)三星電子株式会社 (8,520)
【氏名又は名称原語表記】Samsung Electronics Co.,Ltd.
【住所又は居所原語表記】416,Maetan−dong,Yeongtong−gu,Suwon−si Gyeonggi−do,Republic of Korea
【Fターム(参考)】