专利名称:一种三维道路模型生成方法及系统的利记博彩app
技术领域:
本发明属于虚拟现实中的三维道路建模领域,尤其涉及一种三维道路模型的生成方法及系统。
背景技术:
在很多应用领域,传统的二维QD)显示已经越来越让人感到枯燥、乏味和单一, 远远满足不了由于时代进步所带来的各种需求。虚拟现实和三维(3D)技术的出现,给人们的视觉以革命性的改变。三维技术所带来的生动、逼真和丰富的虚拟现实世界,使得人们能更直观的在计算机上观察到现实世界的真实场景。在电子地图导航领域,传统的二维地图是采用“点”和“线”来抽象描绘客观世界的。这种方法虽然能够简单、快速和及时的提供用户所需要的信息,但是它也存在着致命的弱点——它反映的只是一个平面的二维世界,不能真实的、生动的反映客观世界。如今,三维地图已经成为新的焦点,受到了广泛的关注。三维地图不仅能够提供二维地图所需的一切信息,而且它能够创造一个立体的、逼真的、生动的虚拟世界,带给用户全新的、身临其境的感觉,带给我们丰富的、真实的体验。三维场景重现采用的是三维网格化和材质纹理映射的方法。三维网格描述物体的形状轮廓,材质纹理描述物体的颜色和材质(如透射,反射等)以及外观信息。利用三维网格和材质纹理,可以非常真实的、清晰的反映现实物体。在三维场景中,通过创建网格化模型,能够非常细腻地、真实地表现出物体与世界的空间关系,浏览三维场景就相当于进入了一个由真实世界映射而成的虚拟世界。三维地图包含地形地貌、道路、桥梁,建筑物以及其它景观等多个层次的信息,其中道路是三维地图最重要的核心组成部分,相当于整个地图的骨骼和脉络。传统的三维道路建模方法非常单一,基本上采用的是通过使用一些三维建模软件 (例如3Dmax)进行人工建模的方法。人工建模耗时耗力,效率极其低下。尤其是进行大批量建模时,人工建模的缺点与弊端暴露无遗,由此产生的时间限制和效率限制,严重影响了三维道路模型在电子地图及其它领域中的应用。
发明内容
本发明为解决现有人工三维道路建模中效率低下的技术问题,提供一种高效的三维道路模型生成方法及系统。一种三维道路模型生成方法,包括如下步骤(1)、对道路中心线数据进行采集,得到二维道路中心线节点数据;(2)、解析道路结构特征,建立相应的道路模型,所述道路模型包括普通路段模型和路口模型;(3)、解析二维道路中心线节点数据的拓扑关系,分离出普通路段中心线节点数据和路口中心线节点数据;
6
(4)、调用所述道路模型对所述节点数据进行模型化,生成道路边缘特征点数据, 所述道路边缘特征点数据包括普通路段边缘特征点数据和路口边缘特征点数据;(5)、连接所述边缘特征点数据对应的每个点,生成三维网格道路模型;(6)、依据道路的属性数据将生成的三维网格道路模型贴上相应的纹理,得到三维道路实体模型。一种三维道路模型生成系统,包括数据采集模块,用于对道路中心线数据进行采集,得到二维道路中心线节点数据;道路模型建立模块,用于解析道路结构特征,建立相应的道路模型,所述道路模型包括普通路段模型和路口模型;数据分离模块,用于解析所述二维道路中心线节点数据的拓扑关系,分离出普通路段中心线节点数据和路口中心线节点数据;数据模型化模块,用于调用所述道路模型对所述节点数据进行模型化,生成道路边缘特征点数据,所述道路边缘特征点数据包括普通路段边缘特征点数据和路口边缘特征点数据;三维网格道路模型生成模块,用于连接所述边缘特征点数据对应的每个点,生成三维网格道路模型;三维道路实体模型生成模块,用于依据道路的属性数据将生成的三维网格道路模型贴上相应的纹理,得到三维道路实体模型。本发明的三维道路模型生成方法及系统全自动的生成三维道路模型,避免了人工干预,因此可以提高建模效率。
图1是本发明实施例提供的三维道路模型生成方法的流程图;图2是本发明实施例提供的用于确定道路走向的方位图;图3是本发明实施例提供的圆弧曲线模拟道路弯道示意图;图4是本发明实施例提供的贝塞尔曲线模拟道路弯道示意图;图5(a)是本发明实施例提供的确定路口边缘曲线段示意图;边缘特征点生成方法示意图;图5(b)是本发明实施例提供的确定路口单个弯道处外扩点和内扩点示意图;图5(c)是本发明实施例提供的去掉路口外扩点、保留路口内扩点示意图;图5(d)本发明实施例提供的路口边缘特征点示意图;图6是本发明实施例提供的道路中心线数据示意图;图7是本发明实施例提供的分离普通路段中心线数据和路口中心线数据的方法流程图;图8是本发明实施例提供的根据路口节点数据查找其它包含该节点的多链路的方法流程图;图9是本发明实施例提供的三维网格道路模型示意图;图10是本发明实施例提供的贴上道路纹理后的三维道路实体模型局部效果示意图;图11是本发明实施例提供的贴上道路纹理后的三维道路实体模型效果示意图;图12是本发明实施提供的一种三维道路模型生成系统示意图。
具体实施例方式为了使本发明所解决的技术问题、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。为了解决人工三维道路建模中效率低下的技术问题,本发明提供了一种三维道路模型生成方法,如图1所示,包括如下步骤(1)、对道路中心线数据进行采集,得到二维道路中心线节点数据;(2)、解析道路结构特征,建立相应的道路模型,所述道路模型包括普通路段模型和路口模型;(3)、解析二维道路中心线节点数据的拓扑关系,分离出普通路段中心线节点数据和路口中心线节点数据;(4)、调用所述道路模型对所述节点数据进行模型化,生成道路边缘特征点数据, 所述道路边缘特征点数据包括普通路段边缘特征点数据和路口边缘特征点数据;(5)、连接所述边缘特征点数据对应的每个点,生成三维网格道路模型;(6)、依据道路的属性数据将生成的三维网格道路模型贴上相应的纹理,得到三维道路实体模型。上述步骤(1)得到二维道路中心线节点数据可以采用如下两种方法。方法一,首先导入航拍位图,然后在航拍位图上提取道路中心线节点信息,最后, 将道路中心线的信息抽象化成二维道路中心线节点数据。在航拍图上提取道路中心线信息采用取点法,即在道路中心线的每个拐点处取点,得到道路中心线节点信息。利用取点法实现二维的道路中心线信息的采集。采集时可遵循以下规则对于普通路段,即不含路口的路段,从道路的一端开始取点,以道路中心线为基准,若道路的方向有偏转且偏转的角度大于α,则在发生偏转的位置取点,α为自定义的最大偏转角度值; 对于路口,以道路中心线为基准,按照顺序先取任意一条道路的最靠近路口的两点,然后再取另外一条道路最靠近路口的两点,依次类推取点。方法二,直接读取存储道路中心线信息数据的各种格式的文件,例如KIWI (—种地图信息数据的存储格式)文件、或工程文件、或其它自定义文件等。然后对其归一化处理。文件中中心线信息数据记录的是道路中心线的经纬度坐标,其精度可能高达小数点后十位之多,因而在数据的计算和处理方面带来很多的不便。为了达到优化数据、便于处理的目的,提出一种简便的归一化方法。首先对中心线信息数据进行分块,将整个数据划分成网格型数据,对网格型数据进行标号处理;其次,依次处理每个网格型数据,找到处于网格内最左下方的数据点A ;然后将其它数据点的坐标全部减去数据点A的坐标,获得关于数据点A的相对坐标,并将得到的坐标乘以M,M为坐标放大的倍数,根据数据的精度确定,这样就得到了经过初步归一化处理的坐标,即二维道路中心线节点数据。道路可以简单的划分成普通路段和路口。一条完整的道路可以由多个路口和普通路段拼合而成。由此提出如下建立道路模型的方法。普通路段模型及路口模型都是根据道路中心线节点数据生成道路边缘特征点数据模型得到。建立普通路段模型及路口模型的方法具体步骤如下A、从所述二维道路中心线节点数据中按顺序取出三点道路中心线节点数据,并根据这三点道路中心线节点数据生成道路边缘特征点数据模型;B、剔除第一点道路中心线节点数据,选择与第三点道路中心线节点数据相邻的下一个道路中心线节点数据加入,并根据这三点道路中心线节点数据生成道路边缘特征点数据模型;C、重复步骤B,直到取到最后一个道路中心线节点数据结束。接下来是通过三点道路中心线节点数据生成道路特征边缘点数据模型并和后续生成的道路边缘特征点数据模型无缝无重叠衔接。普通路段模型可分为直线路段模型和弯道路段模型。对于普通路段模型中的直线路段模型,直接根据其道路中心线节点数据及单向路宽W确定。从中心中心线节点向两边扩展单向路宽W,得到直线路段道路特征边缘点数据模型。对于弯道路段,利用如下方法得到其道路特征边缘点数据模型。方法步骤如下a、计算弯道处第一点和第二点道路中心线节点数据构成的第一线段的走向及斜率,及第二点和第三点道路中心线节点数据构成的第二线段的走向及斜率;并计算第一线段和第二线段构成的夹角;b、根据所述夹角、单向路宽、及弯道精度确定中心线上弯道起始点和弯道结束点的位置;C、根据弯道起始点和弯道结束点外扩成外弧曲线点和内弧曲线点,外弧曲线点和内弧曲线点为弯道处道路特征边缘点数据模型。为了详细说明得到弯道路段道路特征边缘点数据模型的方法,下面结合附图对其进行说明。如图2所示,为弯道路段中心线数据点位于方位图中的位置。1、首先确定路段0P、路段OQ的走向及斜率,以及路段0P、路段OQ之间的夹角α。 夹角α利用如下公式求得。
/ 、 OPxOQ公式中&为路段OP的向量,为向量@的模,为路段OQ的向量,为向量
OG的模。对C0s(JI-CI)进行反余弦处理得到α的值,α取值范围为^),π ]。2、通过路段OP、路段OQ的夹角α、单向路宽W、及弯道精度S确定中心线上弯道起始点A和弯道结束点B的位置。AB段生成弧,其他部分生成直路面。弯道精度是用于控制曲线平滑的因子,即规定用直线段可替代的最大弧度数。AB点的位置计算很重要,取的过小,则弯道过渡不自然,也容易出现内部折叠的状况;取的过大,则可能影响前后路断的连接,造成前后路段重叠。弯道起始点A和弯道结束点B坐标计算如下
通过向量Oi确定弯道起始点A的位置;通过向量确定弯道结束点B的位置。
权利要求
1.一种三维道路模型生成方法,其特征在于,所述方法包括如下步骤(1)、对道路中心线数据进行采集,得到二维道路中心线节点数据;O)、解析道路结构特征,建立相应的道路模型,所述道路模型包括普通路段模型和路口模型;(3)、解析二维道路中心线节点数据的拓扑关系,分离出普通路段中心线节点数据和路口中心线节点数据;(4)、调用所述道路模型对所述节点数据进行模型化,生成道路边缘特征点数据,所述道路边缘特征点数据包括普通路段边缘特征点数据和路口边缘特征点数据;(5)、连接所述边缘特征点数据对应的每个点,生成三维网格道路模型;(6)、依据道路的属性数据将生成的三维网格道路模型贴上相应的纹理,得到三维道路实体模型。
2.如权利要求1所述的三维道路模型生成方法,其特征在于,所述步骤(6)之后还包括如下步骤(7)、对三维道路模型数据进行存储或导出。
3.如权利要求2所述的三维道路模型生成方法,其特征在于,所述步骤(7)之后还包括如下步骤(8)、对导出的三维道路实体模型增加路灯、交通标志、防护栏纹理;(9)、对所述增加了路灯、交通标志、防护栏纹理的三维道路实体模型进行显示。
4.如权利要求1所述的三维道路模型生成方法,其特征在于,所述步骤(1)包括采集航拍位图,然后在航拍位图上提取二维道路中心线节点数据;或读取存储道路中心线信息的文件,对道路中心线信息数据进行归一化处理,得到二维道路中心线节点数据。
5.如权利要求4所述的三维道路模型生成方法,其特征在于,所述步骤( 建立道路模型的方法包括如下步骤A、从所述二维道路中心线节点数据中按顺序取出三点道路中心线节点数据,并根据这三点道路中心线节点数据生成道路边缘特征点数据模型;B、剔除第一点道路中心线节点数据,选择与第三点道路中心线节点数据相邻的下一个道路中心线节点数据加入,并根据这三点道路中心线节点数据生成道路边缘特征点数据模型;C、重复步骤B,直到取到最后一个道路中心线节点数据结束。
6.如权利要求5所述的三维道路模型生成方法,其特征在于,所述道路边缘特征点数据模型包括普通路段弯道处道路特征边缘点数据模型,所述得到普通路段弯道处道路特征边缘点数据模型的方法包括a、计算弯道处第一点和第二点道路中心线节点数据构成的第一线段的走向及斜率,及第二点和第三点道路中心线节点数据构成的第二线段的走向及斜率;计算第一线段和第二线段构成的夹角;b、根据所述夹角、单向路宽、及弯道精度确定中心线上弯道起始点和弯道结束点的位置;C、根据弯道起始点和弯道结束点外扩成外弧曲线点和内弧曲线点,外弧曲线点和内弧曲线点为普通路段弯道处道路特征边缘点数据模型。
7.如权利要求5所述的三维道路模型生成方法,其特征在于,所述道路边缘特征点数据模型包括路口道路特征边缘点数据模型,建立路口道路特征边缘点数据模型的方法包括h、计算路口道路每条道路第一点和第二点道路中心线节点数据构成的第一线段的走向及斜率,及第二点和第三点道路中心线节点数据构成的第二线段的走向及斜率;计算第一线段和第二线段构成的夹角;i、根据所述夹角、单向路宽、及弯道精度确定中心线上弯道起始点和弯道结束点的位置;j、根据弯道起始点和弯道结束点外扩成外弧曲线点和内弧曲线点,外弧曲线点和内弧曲线点为弯道处道路特征边缘点数据模型;k、将路口所有弯道处曲线生成,再将弯道处外弧曲线点去掉,保留内弧曲线点,得到路口道路特征边缘点数据模型。
8.如权利要求6或7所述的三维道路模型生成方法,其特征在于,所述弯道起始点和弯道结束点的确定采用如下方法通过向量Oi确定弯道起始点A的位置;通过向量确定弯道结束点B的位置; OA-X * OP/ ,.
9.如权利要求8所述的三维道路模型生成方法,其特征在于,所述外弧曲线点和内弧曲线点用圆弧模拟或贝塞尔曲线模拟。
10.如权利要求9所述的三维道路模型生成方法,其特征在于,所述用圆弧模拟的方法模拟外弧曲线点和内弧曲线点的方法包括I、过弯道起始点A做&的垂线,过弯道结束点B做的垂线,两垂线相交于点Τ,所述 T为圆心T AT为半径R,R加上单向路宽W为外弧半径,R减去单向路宽W为内弧半径;·11.依据向量Of、向量的走向,确定起始角度Φ; aIII、以y为步进,依次算出度数,采用公式ct+ZF*S*n计算,ZF为第一系数,由Q点与向 量0^的位置关系确定,ZF取值为1或者-1,η为圆弧分段数,η的取值为[1,〒取整加1]。IV、根据内弧半径 R-W 及角度 <t+ZF*S*n,采用公式 χ = (R-W) *cos ( Φ+ZF*S*n),y = (R-W)*sin((j5+ZF*S*n)计算内弧上的每个特征点;根据外弧半径R-W及角度Φ+ZF^S*!!,采用公式 χ = (R-W)*cos(<ji+ZF*S*n),y = (R-W) *sin ( Φ+ZF*S*n)计算外弧上的每个特征点ο
11.如权利要求1所述的三维道路模型生成方法,其特征在于,所述步骤(3)中分离普通路段和路口中心线节点数据的方法如下(一)、顺序读取一条多链路;(二)、顺序读取多链路中的一条链路;(三)、读取链路中的节点;(四)、判断节点是否属于多条链路;如果否,根据路口节点数据查找其它包含该节点的多链路;(五)、将其归类为普通路段中心线节点信息;(六)、判断此链路是否为多链路中最后一条链路,如果否,跳转到步骤(二);(七)、判断此多链路是否为最后一条多链路,如果否,跳转到步骤(一);如果是,结束ο
12.如权利要求11所述的三维道路模型生成方法,其特征在于,所述步骤(四)根据路口节点数据查找其它包含该节点的多链路包括如下步骤a、根据路口中心线信息节点查找相关联的多链路;b、逐次读取多链路;C、判断节点所属链路是否属于起始或结束链路,如果是,获取一个节点,如果否,获取两个节点;d、判断此多链路是否为最后一条多链路,如果否,跳转到步骤b,如果是,则结束。
13.如权利要求1所述的三维道路模型生成方法,其特征在于,所述步骤(6)具体为 依据车道数目信息对三维网格道路模型贴车道纹理,对道路路口的过渡段、斑马线段、中心区域贴上相应纹理,得到三维道路实体模型。
14.一种三维道路模型生成系统,其特征在于,包括数据采集模块,用于对道路中心线数据进行采集,得到二维道路中心线节点数据; 道路模型建立模块,用于解析道路结构特征,建立相应的道路模型,所述道路模型包括普通路段模型和路口模型;数据分离模块,用于解析所述二维道路中心线节点数据的拓扑关系,分离出普通路段中心线节点数据和路口中心线节点数据;数据模型化模块,用于调用所述道路模型对所述节点数据进行模型化,生成道路边缘特征点数据,所述道路边缘特征点数据包括普通路段边缘特征点数据和路口边缘特征点数据;三维网格道路模型生成模块,用于连接所述边缘特征点数据对应的每个点,生成三维网格道路模型;三维道路实体模型生成模块,用于依据道路的属性数据将生成的三维网格道路模型贴上相应的纹理,得到三维道路实体模型。
15.如权利要求14所述的三维道路模型生成系统,其特征在于,所述系统还包括存储输出模块,用于对所述三维道路模型数据进行存储或导出。
16.如权利要求15所述的三维道路模型生成系统,其特征在于,所述系统还包括 道路铺装模块,用于对导出的三维道路实体模型增加路灯、交通标志、防护栏纹理; 显示模块,用于对所述增加了路灯、交通标志、防护栏纹理的三维道路实体模型进行显示。
全文摘要
一种三维道路模型生成方法,属于三维道路建模领域。该方法包括如下步骤(1)、对道路中心线数据进行采集,得到二维道路中心线节点数据;(2)、解析道路结构特征,建道路模型;(3)、从二维道路中心线数据中分离出普通路段和路口中心线节点数据;(4)、调用所述道路模型对所述节点数据进行模型化,生成普通路段和路口边缘特征点数据;(5)、连接所述边缘特征点数据对应的每个点生成三维网格道路模型;(6)、依据道路的属性数据将生成的三维网格道路模型贴上相应的纹理,得到三维道路实体模型。本发明还提供了一种三维道路模型生成系统。本发明的三维道路模型生成方法全自动的生成三维道路模型,避免了人工干预,提高了建模效率。
文档编号G06T17/05GK102436678SQ20101050343
公开日2012年5月2日 申请日期2010年9月29日 优先权日2010年9月29日
发明者任伟, 张伟鹏, 曹旭, 肖承柳 申请人:比亚迪股份有限公司