一种三维道路模型化方法及装置转让专利

申请号 : CN200910108470.9

文献号 : CN101930623B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 刘兴国唐远流邓高伟

申请人 : 比亚迪股份有限公司

摘要 :

本发明公开了一种三维道路模型化方法,所述方法包括以下步骤:A)获取二维道路坐标数据;B)根据道路宽度和所述二维道路坐标数据获取与所述二维道路坐标数据相对应的道路边缘特征点;C)根据所述道路边缘特征点确定三维道路的路面区域;以及D)对所述路面区域进行网格化,以获得三维道路模型。本发明可以根据二维的地图道路数据实时动态地生成具有高仿真度的3D虚拟道路模型,大大加快3D道路模型化的速度。因此,极大提高了地图道路的可使用性和3D道路建模的工作效率。

权利要求 :

1.一种三维道路模型化方法,其特征在于:所述方法包括以下步骤:获取二维道路坐标数据的步骤;

根据道路宽度和所述二维道路坐标数据获取与所述二维道路坐标数据相对应的道路边缘特征点的步骤;

根据所述道路边缘特征点确定三维道路的路面区域的步骤;以及对所述路面区域进行网格化,以获得三维道路模型的步骤;

其中,所述二维道路坐标数据通过以下步骤获得:

以道路中心线为基准,从道路的起点开始采集道路多个位置点的坐标信息;

在采集中判断当前位置点相对前一个位置点的偏转方位角是否不小于预定角度;以及在所述偏转方位角不小于所述预定角度时,记录所述当前位置点的坐标信息以及距离前一个位置点的距离,以作为所述二维道路坐标数据。

2.根据权利要求1所述的方法,其特征在于,在所述偏转方位角不小于所述预定角度时,进一步判断所述当前位置点距离前一个位置点的距离是否不小于预定值,在所述距离不小于所述预定值时,执行所述当前位置点的坐标信息和所述距离的记录。

3.根据权利要求1所述的方法,其特征在于,所述根据道路宽度和所述二维道路坐标数据获取与所述二维道路坐标数据相对应的道路边缘特征点的步骤包括:经过二维道路坐标数据中的位置点,垂直所述位置点以及该位置点相邻的后一位置点之间的连线作垂线;以及记录在所述垂线上,距离所述位置点为道路宽度一半的坐标信息,以作为所述二维道路坐标数据相对应的道路边缘特征点。

4.根据权利要求1所述的方法,其特征在于,对于二维道路坐标数据为非道路起点和终点所对应的道路边缘特征点通过以下步骤获得:依次连接所述二维道路坐标数据中的位置点,以形成多个线段;

在各线段的两侧,平行每一线段分别作相应于该线段的一对平行线,记录相邻各对平行线之间交点的坐标信息,以作为道路边缘特征点;

其中所述相应于该线段的一对平行线中的任一平行线与该线段之间的距离为道路宽度的一半。

5.根据权利要求1所述的方法,其特征在于,所述根据所述道路边缘特征点确定三维道路的路面区域的步骤包括:依次连接位于所述二维道路坐标数据同一侧的道路边缘特征点,记录所形成的两条连线,以作为所述路面区域的边界。

6.根据权利要求1-5任一项所述的方法,其特征在于,对所述路面区域进行网格化的步骤包括:以相邻的两个道路边缘特征点、与上述任一道路边缘特征点相对应的二维道路坐标数据为三角形顶点,形成三角形的网格。

7.根据权利要求1所述的方法,其特征在于,对所述路面区域进行网格化以获得三维道路模型的步骤之后还包括纹理铺装步骤,所述纹理铺装步骤包括:利用道路属性数据对所述三维道路模型进行纹理铺装。

8.根据权利要求1所述的方法,其特征在于,在所述获取二维道路坐标数据的步骤之后还包括数据预处理步骤,所述数据预处理步骤包括修正二维道路坐标数据密集的步骤;

所述修正二维道路坐标数据密集通过以下步骤获得:

分别过二维道路坐标数据中相邻两位置点c点、b点,作c点和与c点相邻的后一位置点之间连线的第一垂线c1c2以及上述相邻两位置点c点、b点之间连线的第二垂线b1b2,该两垂线相交形成虚拟转弯点;

分别计算上述虚拟转弯点与上述两位置点之间的距离,记录距离大的一者为虚拟转弯距离;

判断所述虚拟转弯距离是否小于二分之一的道路宽度,如果小于,则删除所述虚拟转弯距离对应的二维道路坐标数据。

9.根据权利要求8所述的方法,其特征在于,所述数据预处理步骤包括修正二维道路坐标数据稀疏的步骤;所述修正二维道路坐标数据稀疏通过以下步骤获得:记录当前二维道路坐标数据的位置点与前一个二维道路坐标数据的位置点所构成的前向量;

记录当前二维道路坐标数据的后一个二维道路坐标数据的位置点与当前二维道路坐标数据的位置点所构成的后向量;

计算前向量与后向量夹角的角度值,并判断该角度值是否大于一预定阈值,如果大于,标记所述当前二维道路坐标数据为稀疏二维道路坐标数据;

在与上述稀疏二维道路坐标数据相邻的两二维道路坐标数据之间添加若干修正的位置点,记录所述修正的位置点的坐标信息以及距离前一个位置点的距离,以作为修正的二维道路坐标数据。

10.根据权利要求1所述的方法,其特征在于,对所述路面区域进行网格化以获得三维道路模型的步骤之后还包括存储步骤,所述存储步骤包括:将所述三维道路模型对应的数据进行存储。

11.一种三维道路模型化装置,其特征在于,所述装置包括:数据单元,所述数据单元获得二维道路坐标数据;

确定单元,根据道路宽度和所述二维道路坐标数据获得与所述二维道路坐标数据相对应的道路边缘特征点,并根据所述道路边缘特征点确定三维道路的路面区域;以及网格化单元,所述网格化单元对所述三维道路的路面区域进行网格化,以获得三维道路模型;

其中,所述数据单元通过以下步骤获得二维道路坐标数据:

以道路中心线为基准,从道路的起点开始采集道路多个位置点的坐标信息;

在采集中判断当前位置点相对前一个位置点的偏转方位角是否不小于预定角度;以及在所述偏转方位角不小于所述预定角度时,记录所述当前位置点的坐标信息以及距离前一个位置点的距离,以作为所述二维道路坐标数据。

12.如权利要求11所述的装置,其特征在于,还包括纹理铺装单元,所述纹理铺装单元利用道路属性数据对所述三维道路模型进行纹理铺装。

13.如权利要求12所述的装置,其特征在于,还包括显示单元,所述显示单元将纹理铺装的所述三维道路模型进行显示。

14.如权利要求11所述的装置,其特征在于,还包括存储单元,所述存储单元将所述三维道路模型对应的数据进行存储。

说明书 :

一种三维道路模型化方法及装置

技术领域

[0001] 本发明涉及三维导航和建模领域,尤其涉及一种三维道路模型化的方法及装置。

背景技术

[0002] 在很多应用领域,传统的二维地图是采用点和线结合的方法来描绘客观世界,这中方法虽然能快速及时地提供用户基本需求,但是它反映的是一个平面的信息,传统的二维地图已经越来越不能满足需求了,取而代之的是能产生身临其境之感的3D地图。随着电子产品硬件的升级,地图三维化已经成为可能。3D地图不仅能够提供二维地图所需的一切信息,更重要的是它能反应一个立体的世界,能够给用户提供更加丰富直观的视觉效果,让人产生身临其境之感。
[0003] 3D地图包括地形、道路、建筑、景观等多个层次的信息,其中3D道路是3D地图最重要的组成部分,而不具有岔口的路面是道路最基本的、重要的组成部分。现有的3D道路一般都采用手工建模的方法,通过使用一些例如maya、3dmax等3D建模软件人工手动地建立道路的网格模型。人工手动建模的方法能够是模型非常细腻真实,但其最大的缺点是手动建模工作量大,效率极其低下,严重影响了3D道路模型在各个领域中应用。同时模型的存储需要很大的容量空间,这样就大大的限制了3D地图的发展。

发明内容

[0004] 本发明的目的旨在至少解决现有技术中的上述问题之一。
[0005] 为此,本发明的实施例提出一种自动、快速地实现三维道路的模型化方法和装置。
[0006] 根据本发明的一个方面,本发明实施例提出了一种三维道路的模型化方法,所述方法包括以下步骤:A)获取二维道路坐标数据;B)根据道路宽度和所述二维道路坐标数据获取与所述二维道路坐标数据相对应的道路边缘特征点;C)根据所述道路边缘特征点确定三维道路的路面区域;以及D)对所述路面区域进行网格化,以获得三维道路模型。
[0007] 根据本发明的另一方面,本发明的实施例提出一种三维道路模型化装置,所述装置包括:数据单元,所述数据单元获得二维道路坐标数据;确定单元,根据道路宽度和所述二维道路坐标数据获得与所述二维道路坐标数据相对应的道路边缘特征点,并根据所述道路边缘特征点确定三维道路的路面区域;以及网格化单元,所述网格化单元对所述三维道路的路面区域进行网格化,以获得三维道路模型。
[0008] 本发明可以根据二维的地图道路数据实时动态地生成具有高仿真度的3D虚拟道路模型,大大加快3D道路模型化的速度。因此,极大提高了地图道路的可使用性和3D道路建模的工作效率。
[0009] 本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。

附图说明

[0010] 本发明的上述和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
[0011] 图1为本发明实施例的三维道路的模型化装置结构图;
[0012] 图2为本发明实施例的三维道路的模型化方法步骤流程图;
[0013] 图3为本发明具体实施例的二维道路示意图;
[0014] 图4(a)为本发明具体实施例的一种获取道路边缘特征点的处理示意图;
[0015] 图4(b)为本发明具体实施例的另一种一种获取道路边缘特征点的处理示意图;
[0016] 图5为本发明具体实施例的三维道路的路面区域模型示意图;
[0017] 图6为图4(a)所示本发明具体实施例的三维模型化中后道路边缘特征点坐标计算示意图;
[0018] 图7为图4(b)所示本发明具体实施例的三维模型化中后道路边缘特征点坐标计算示意图;
[0019] 图8(a)和图8(b)为本发明具体实施例的三维道路路面区域三角网格化示意图;
[0020] 图9为本发明具体实施例的三维道路纹理铺装后的效果示意图;
[0021] 图10为本发明实施例的二维道路坐标数据密集时,一种修正二维道路坐标数据密集的处理示意图;
[0022] 图11为本发明实施例的二维道路坐标数据稀疏密集时,一种修正二维道路坐标数据稀疏的过程示意图;
[0023] 图12为图11所示修正二维道路坐标数据稀疏后的效果示意图。
[0024] 图13为本发明实施例的二维道路坐标数据不合格时,三维道路模型畸形的示意图;
[0025] 图14为相应于图13的本发明实施例的二维道路坐标数据合格时,三维道路模型正常的示意图;

具体实施方式

[0026] 下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
[0027] 首先参考图1,该图为本发明实施例的三维道路的模型化装置结构图。
[0028] 如图所示,本发明的模型化装置包括数据单元12、确定单元14以及网格化单元16。数据单元12获得二维道路坐标数据。
[0029] 二维道路一般用点和线段来表示,二维道路坐标数据中至少包括道路的起点和终点的坐标信息,除此以外,二维道路坐标数据还可以包括道路的一些其他关键位置,例如道路交叉点、道路的转折点等的坐标信息等。
[0030] 如图3所示,表示的二维道路中,曲线ABCDE表示一条道路,曲线FDG表示另一条道路,两条道路相交于中心一点D,本发明所涉及的三维道路建模是指单独建立道路ABCDE或者道路FDG的三维道路模型,不涉及上述两条道路交叉点模型的建立。
[0031] 二维道路坐标数据可以通过从实际道路上采集获得,或者可以通过其它的途径获得,例如从其它的地图/道路数据中提取或直接从地图数据供应商购买等。
[0032] 确定单元14根据道路宽度和所述二维道路坐标数据获得与所述二维道路坐标数据相对应的道路边缘特征点,并根据所述道路边缘特征点确定三维道路的路面区域。网格化单元16则对所述三维道路的路面区域进行网格化,以获得三维道路模型。
[0033] 在一个实施例中,本发明的模型化装置还可以包括纹理铺装单元18以及显示单元22。纹理铺装单元18可利用道路属性数据对上述三维道路模型进行纹理铺装,给三维网格道路模型贴上相应的纹理就形成了简单的具有较好视觉效果的道路。
[0034] 道路属性数据包括道路的名称、等级、性质、宽度、车道数、任务、功能等信息。此外,道路属性还包括了一些点,这些点可以用来表示地图中餐馆、邮政、银行、服务区等功能区,也可以包括道路的立体交叉点、平面交叉点、道路出口入口等道路中的特殊点。纹理铺装单元18主要利用例如公路等级、车道数等道路属性数据对上述三维道路模型进行纹理铺装
[0035] 本发明的模型化装置将上述处理后的三维道路模型输入到显示单元22中,利用网格和对应的纹理,显示单元22能够非常细腻真实的反映现实客观的物体。
[0036] 网格反映道路的位置形状,材质纹理则反映了道路的颜色信息和材质,如反射、透射等信息。通过网格化的模型,道路能够非常清晰地在计算机屏幕中显示出来,从而达到浏览3D场景的目的。
[0037] 在一个实施例中,模型化装置还可以包括存储单元20,利用存储单元20将三维道路模型对应的数据进行静态存储。
[0038] 由道路边缘特征点和二维道路坐标数据中的位置点构成的网格模型是三维模型的外观表现,输入显示单元22或存储单元20的三维模型数据是模型中所有网格顺序组织起来的数据块。
[0039] 另外,本发明还提供了一种三维道路模型化方法,该方法的具体实施例如图2所示。
[0040] 首先,获得二维道路坐标数据(步骤102)。然后,根据道路宽度和所述二维道路坐标数据获取与所述二维道路坐标数据相对应的道路边缘特征点(步骤104)。根据所述道路边缘特征点确定三维道路的路面区域的步骤(步骤106)。最后,对所述路面区域进行网格化,从而获得三维道路模型(步骤108)。
[0041] 如上文所述,二维道路坐标数据可以通过从实际道路上采集获得,或者可以通过其它的途径获得,例如从其它的道路数据中提取或直接从地图数据供应商购买等。
[0042] 在一个实施例中,本发明提供了一种二维道路坐标数据的获得方法。
[0043] 对二维道路坐标数据的采集是指从道路的起点开始,以道路中心线为基准开始采点,若道路方向有偏转且偏转的方位角绝对值大于等于预定角度,例如α,则在方位角绝对值偏转至α处时记录所处位置点的坐标信息和此点距上一点的距离d,然后,进行道路数据的下一点采集。本发明的二维道路坐标数据获得方法还可在上述步骤的基础上加入距离确定的步骤,即若道路方向有偏转且偏转的方位角绝对值大于等于预定角度,例如α,则在方位角绝对值偏转至α处时记录所处位置点的坐标信息和此点距上一点的距离d,若距离d的值大于或等于某一事先确定的阈值λ(d≥λ),则将此点与前一点之间的线段及其长度存储起来,同时将方位偏转角清零。然后,进行道路数据的下一点采集。
[0044] 此外,对二维道路坐标数据的采集还可以是指从道路的起点开始,以道路中心线为基准开始采点,若道路方向有偏转且偏转的方位角绝对值大于等于α,则在方位角绝对值偏转至α处时记录所处位置的坐标信息和此点距上一点的距离d,若距离d的值小于某一事先确定的阈值λ(d<λ),则舍弃此点,并不对方位偏转角做任何改变,继续监听方位角偏转的变化和与前一点的距离d,一旦方位角大于或等于α且d的值大于或等于λ,则将此点与前一点之间的线段及其长度存储起来,同时将方位偏转角清零,再进行下一点的采集。
[0045] 重复上面的操作以采集足够多的道路信息。
[0046] 通过上述在道路的中心线上取点(即位置点),然后连成线,可以将实际的道路抽象化模型化成虚拟的二维道路。
[0047] 下面,将结合具体实施例对本发明的三维道路模型化方法和装置做出详细描述。
[0048] 如图5所示为本发明实施例三维道路的路面区域模型示意图,该三维道路的路面区域是通过依次连接道路中心线同一侧的道路边缘特征点形成。具体地,如图5所示依次连接位于道路中心线ABCDE一侧的a1、b1、c1、d1、e1以及道路中心线ABCDE另一侧的a2、b2、c2、d2、e2形成道路ABCDE的三维道路的路面区域。
[0049] 下面详细介绍获得道路边缘特征点a1、a2、b1、b2、c1、c2……的具体步骤。
[0050] 一种方法是可以经过二维道路坐标数据中的位置点,垂直所述位置点以及该位置点相邻的后一位置点之间的连线作垂线;记录下在所述垂线上,距离所述位置点为道路宽度一半的坐标点,这些坐标点作为道路边缘特征点。请参阅图4(a),图4(a)是示意采用上述方法获得的道路边缘特征点a1、a2、b1、b2、c1、c2。具体做法在位置点A上,作该位置点与相邻的另一位置点B之间的连线AB的垂线a1a2,a1a2可与水平面平行;同样地,在位置点B上作连线BC的垂线b1b2,b1b2也可与水平面平行,在位置点C 上作连线CD的垂线c1c2……,并分别使上述垂线的中点与A、B、C点重合。假设道路宽度为2b,则道路边缘特征点a1、a2到与其相应的位置点A的距离为道路宽度的一半,即a1A=a2A=b;其他道路边缘特征点b1、b2、c1、c2亦如此,即b1B=b2B=b,c1C=c2C=b,……
[0051] 另一种方法可利用一对平行线和二维道路坐标数据获取道路边缘特征点,具体地,依次连接所述二维道路坐标数据中的位置点,以形成由多个线段构成的二维虚拟道路;在所述二维虚拟道路的两侧,以预定距离分别平行所述多个线段的每一线段作一对平行线,记录相邻各对平行线之间的交点,以作为道路边缘特征点;其中预定距离为道路宽度的一半。以图4(b)为例,具体做法是作二维虚拟道路ABC的各段平行线,即道路AB段的一对平行线a1b1、a2b2,道路BC段的一对平行线b1c1、b2c2。其中平行线a1b1与b1c1相交于b1,平行线a2b2与b2c2相交于b2。若两条平行线a1b1、a2b2分别到道路段AB的距离为b,两条平行线b1c1、b2c2分别到道路段BC的距离为L,其中2L为道路ABC的总宽度。对于其它的道路使用同样的方法可得到图4(b)所示的道路特征边缘点。本方法适合非道路起点及终点对应的道路边缘特征点,参阅图4(b),该二维虚拟道路ABC中位置点B相应的道路边缘特征点可以通过上述方法获得,但对于二维虚拟道路ABC的起始点(例如位置点A)和终结点相应的道路边缘特征点则不使用。采用上述方法获得的道路边缘点特征而形成的路面区域的道路宽度不会改变,从而具有更好的视觉效果。
[0052] 在适宜的实施方案中,对于其它情形的道路,上述方法都可适用。以上方法仅用来说明两种确定道路边缘特征点的实施方案,本发明不排除使用其他三维道路模型化方法来获得道路边缘特征点点。
[0053] 下面,图6给出了本发明实施例中通过图4(a)所示的方法获得的道路边缘特征点的坐标计算示意图。例如,图6实施例中的二维道路坐标数据的位置点为A、B,其中位置点A对应的道路边缘特征点为a1和a1。
[0054] 参考图6,在相对坐标系XYZ中假设A点坐标为(0,0,0),即与原点重合,B点的坐标为(x1,y1,z1),道路的宽度为2b,线段AB的长度为a,线段AB在水平面上的投影为AB’,AB’的长度为a’,a1坐标为(x,y,z)。由此可以得出
[0055] x1*x+z1*y=0 (1)
[0056] x2+z2=b2 (2)
[0057] x12+z12=a’2 (3)
[0058] 通过以上三式可以计算出:x=b*x1/a’或x=-b*x1/a’
[0059] 当x=b*x1/a’时,z=-b*z1/a’;
[0060] 当x=-b*x1/a’时,z=b*z1/a’
[0061] 以上方法计算出来的x、z坐标值是一个点在水平面上的方位坐标,y值是一个点的高度值。若输入的道路数据是没有高度的二维数据,则要生成真正意义上的三维道路模型时,需要人为地设定一个高度值作为高度参数,此参数在地理信息领域称为高程数据,或者从与道路水平面坐标相同处的数字地形数据提取出高程数据。
[0062] 若输入的道路数据包含了道路的高程数据,则可以将由以上方法计算出来的水平坐标附加上相应点的高度值y,就得到了道路边缘特征点的空间坐标值。此高度值与其相应的二维道路坐标数据中的位置点的高度值相同,或在转弯处进行道路加高以消除离心力时,根据二维道路坐标数据中的位置点的高度值计算得出。如图6中,点a1、a2的y坐标,即点a1、a2的高度值与其相应的二维道路坐标数据中的位置点A的y坐标值相等。如有需要,点a1、a2的y坐标也可以根据A点的y值进行相应的变化计算得出。
[0063] 如此方式可求出点a1、a2的空间坐标,同理可得其他点的坐标。此计算方法用以说明本实施方案中求道路边缘特征点坐标,但是本发明不排除使用其它计算方法计算道路边缘特征点,例如通过如向量的叉乘等方法。
[0064] 下面,图7给出了本发明实施例中通过图4(b)所示的方法获得的道路边缘特征点的坐标计算示意图。例如,图7实施例中的二维道路坐标数据的位置点为A、B、C,其中位置点A对应的道路边缘特征点为a1和a2,位置点B对应的道路边缘特征点为b1和b2,位置点C对应的道路边缘特征点为c1和c2。计算起点道路边缘坐标a1、a2的方法采用图6所示的方法,点b1、b2的计算方法如下:
[0065] 在相对坐标系XOZ中假设A点坐标(x1,z1),C点坐标为(x2,z2),a1b1、a2b2平行于对应的道路中心线AB,c1b1、c2b2平行于对应的道路中心线BC,且各平行线到其相应道路中心线的距离是道路宽度的一半,记为b,平行线a1b1、c1b1相交于点b1,平行线a2b2、c2b2相交于点b2,根据上述可推导出各平行线的直线方程。例如:
[0066] 平行线a2b2:
[0067] 平行线c2b2:
[0068] 其中 解上述方程组可得到道路边缘特征点b2坐标为 同理可以获得道路边缘特征点b1的坐位。
[0069] 按照上述可知,通过采样获得的二维道路坐标数据的好坏直接影响了求解出的道路边缘特征点,从而最终影响了建立的三维道路模型。请参考图13和图14,其中图13为本发明实施例的二维道路坐标数据过于密集时,使得根据二维道路坐标数据形成的三维道路路面道路边界相交叉(图13中表现为建立的三维道路路面边界a1b1与c1d1在路面区域内相交叉),从而导致建立的三维道路模型异常的情形。相对应的,图14示意出了本发明的二维道路坐标数据合格时三维道路模型化得到的三维道路模型,从图14中可以看到建立的三维道路路面边界a1b1与c1d1在路面区域内没有相交叉,路面没有发生畸形。因此,为了使三维道路模型更加的真实客观,本发明一具体实施例在获取到二维道路坐标数据的步骤之后还设有对二维道路坐标数据进行预处理的步骤。所述预处理可以对获得的二维道路坐标数据进行判断,剔除掉不符合三维模型化要求的二维道路坐标数据,同时还可以在二维道路坐标数据过于稀疏导致三维道路模型化出来的三维道路模型在转弯处产生较尖锐的转折点,严重影响道路面的视觉效果情况下,对二维道路坐标数据进行修正。
[0070] 具体地,下面提供了一种剔除掉不符合三维道路模型化要求的二维道路坐标数据的预处理方法:计算二维道路坐标数据对应的道路边缘特征点到与其相应的道路中心线的距离,若上述距离小于路宽的一半,则将该二维道路坐标数据舍弃,并将该二维道路坐标数据位置点的前一点与后一点连接成线,形成新的道路中心线。对所有的二维道路坐标数据进行上述的处理,可剔除所有不满足要求的数据,使得最终建立的三维道路模型更加的真实。
[0071] 请参阅图10,图10示意了二维道路坐标数据密集时,另一种修正二维道路坐标数据的处理方法,图中二维道路坐标数据c点离点b点过近,导致模型网格化时三角形错乱,判断上述两二维道路坐标数据的位置点过于密集的过程和依据如下所述:
[0072] 分别过二维道路坐标数据中点c与点b,作上述两位置点之间连线cb的第一垂线c1c2和第二垂线b1b2,该两垂线相交于点w,点w计为虚拟转弯点;
[0073] 分别计算上述虚拟转弯点w与上述两位置点c、b之间的距离(即wc、wb的记录),记录距离大的一者为虚拟转弯距离(在本具体实施例中显然wc>wb),其中,在本实施例中长度wc可以根据bc和cd向量的旋转角度α来计算,即wc=bc/sinβ,[0074] 判断所述虚拟转弯距离是否小于二分之一的道路宽度,设道路的宽度为lenth_R,即判断是否满足 是否如果小于,则表示上述虚拟转弯距离对应的二维道路坐标数据不满足网格化的条件,预处理的结果是删除二维道路坐标数据,在本实施例中即删除二维道路坐标数据c,使三维道路模型更加的自然合理。
[0075] 当二维道路数据二维道路坐标数据过于稀疏时导致三维道路模型化出来的道路在转弯处产生较尖锐的转折点,严重影响道路的视觉效果时,对二维道路坐标数据进行预处理是必须的。此时的预处理方式主要是作平滑处理,其中平滑处理的插值算法很多,如贝塞尔、GDI算法、样条插值等。二维道路坐标数据是否需要进行预处取决与该二维道路坐标数据为稀疏二维道路坐标数据,本发明实施例提供了一种判断是否为稀疏二维道路坐标数据的方法具体如下:记录当前二维道路坐标数据的位置点与前一个二维道路坐标数据的位置点所构成的前向量;记录当前二维道路坐标数据的后一个二维道路坐标数据的位置点与当前二维道路坐标数据的位置点所构成的后向量;计算前向量与后向量夹角的角度值,并判断该角度值是否大于一预定阈值,如果大于,则所述当前二维道路坐标数据为稀疏二维道路坐标数据。一般该阈值为11度。当偏转角度大于该阈值时,道路的转折就有明显的失真感,需要进行平滑插值处理,当然阈值可以根据实际道路的需求进行调整。下面,结合图11具体实施例给出对稀疏二维道路坐标数据进行平滑化修正的详细描述。
[0076] 图11所示点a、点b、点c为三个二维道路坐标数据,ab组成的道路中心线与bc组成的道路中心线之间具有很大道路转弯幅度,计算向量ab到向量bc的夹角,在本实施例中上述夹角α大于预设的11度阈值,所以需要对二维道路坐标数据b进行插值平滑处理,从而在保持道路中心线基本形状和位置的同时使道路中心线在转折处更加平滑。具体地在稀疏二维道路坐标数据的位置点之间添加若干为位置点的方法为:首先根据道路宽度和路段的长度确定平滑长度be和bf,且be=bf(如图11所示,作道路中心线ab、bc的内切圆,圆心为点o,切点分别为点e、f,);然后根据点e和f在上述内切圆的圆弧上取点Pn,记录下这些点的坐标位置以及与上一点之间的长度关系,作为修正的二维道路坐标数据,点Pn的坐标可以根据公式
[0077] 来计算,其中m为添加的取点的个数,n为第n个取点, 如图11所示,矢量 代表向量
eb(可由b点坐标减去e点坐标求得,其它矢量同理可得),矢量 代表向量bf,矢量 代表向量eo,α为向量ab到向量bc的夹角,在这里引入矢量是为了方便计算各点的坐标值。
[0078] 图12是根据这种上述方法处理过的道路的后的效果图。很明显,在二维道路坐标数据a、c之间添加了若干修正的二维道路坐标数据后,形成的道路中心线具有较真实的视觉效果。
[0079] 在得到上述三维道路的路面区域之后,需要对其进行网格化处理。对于网格化可以参阅图8(a)至图8(b)的实施例。如图8(a)至图8(b)所示,a、b、c为三个二维道路坐标数据,a1、a2、b1、b2、c1、c2为分别与a、b、c相应的道路边缘特征点,参考图8(a)的实施例,将二维道路坐标数据的位置点与对应的道路边缘特征点之间用直线相互连接起来,再上述两点与相邻的另一个二维道路坐标数据的位置点连接起来形成对应的三角形的网格模型,例如图8(a)中的三角形Aaa1bB、aAa2Bb、bBb1Cc、bb2cBb2C等等。从而实现对全部道路路面区域的网格化处理,得到三维道路模型。
[0080] 运用另一种方式相同的网格化方法可以对三维道路的路面区域模型进行网格化处理,得到三角形Aa1b1、a2b2B、Bb1c1、b2BC等等,从而得到的三维道路模型。
[0081] 本发明可以根据仅由点、线段表示的简单道路几何数据及其属性数据,自动地制作成三维道路平面模型数据,在对道路进行铺装定义之后显示出来。不仅可以根据二维的地图道路数据实时动态地生成具有高仿真度的3D虚拟道路模型,还可以生成静态的3D道路模型数据并存储在计算机上。
[0082] 由顶点和线段构成的网格模型是三维模型的外观表现,这里,输入用于显示或者存储的三维模型数据是模型中所有网格顺序组织起来的数据块。
[0083] 这样,通过本发明则极大提高了地图道路的可使用性和3D建模的工作效率,可有效解决3D导航、城市规划、虚拟现实等应用领域内的道路三维模型建立缓慢的问题。
[0084] 本发明的上述输入、输出处理的几乎所有过程都是自动完成的,这样可以大大加快3D道路模型化的速度,生成具有高度逼真和客观真实性的3D道路模型。本发明可以用于道路规划、虚拟现实、三维导航等领域中的三维道路自动建模。
[0085] 尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同限定。