CN112562062B - 一种道路交叉口三维模型自动生成方法 - Google Patents
一种道路交叉口三维模型自动生成方法 Download PDFInfo
- Publication number
- CN112562062B CN112562062B CN202011386970.1A CN202011386970A CN112562062B CN 112562062 B CN112562062 B CN 112562062B CN 202011386970 A CN202011386970 A CN 202011386970A CN 112562062 B CN112562062 B CN 112562062B
- Authority
- CN
- China
- Prior art keywords
- road surface
- lane
- line
- straight line
- calculating
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02T—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
- Y02T10/00—Road transport of goods or passengers
- Y02T10/10—Internal combustion engine [ICE] based vehicles
- Y02T10/40—Engine management systems
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明公开了一种道路交叉口三维模型自动生成方法,包括以下步骤:获取道路交叉口的基础参数;按照道路交叉口的组成结构分层拆解道路交叉口,获取路面模型、人行道模型、车道线模型和车道导向箭头模型;计算模型的顶点坐标;由模型的顶点坐标作为三角形顶点坐标将模型三角化,按照三角形顶点坐标构建顶点索引数组,生成三角网格模型;分别为模型创建不同的材质,并将其赋予到相对应的三角网格模型上;将所有三角网格模型合并建立道路交叉口模型。本发明能够通过参数化的方式对道路交叉口的三维模型进行自动生成,用户只需要指定道路交叉口的基础参数,便能自动生成对应的三维模型,方便快捷,极大地提高了道路交叉口的建模效率。
Description
技术领域
本发明涉及三维建模技术领域,尤其涉及一种道路交叉口三维模型自动生成方法。
背景技术
现有的3D道路一般都采用手工建模的方法,通过使用一些例如maya、3dmax等3D建模软件人工手动地建立道路的三角形网格模型。人工手动建模的方法能够使模型非常细腻真实,但其最大的缺点是手动建模工作量大,效率极其低下,这样不利于提高生产力和生产效率,严重影响了3D道路模型在各个领域中应用。
发明内容
本发明主要解决原有的道路交叉口三维模型生成方法效率低下的技术问题;提供一种道路交叉口三维模型自动生成方法,能够通过参数化的方式对道路交叉口的三维模型进行自动生成,用户只需要指定道路交叉口的基础参数,便能自动生成对应的三维模型,方便快捷,极大地提高了道路交叉口的建模效率。
本发明的上述技术问题主要是通过下述技术方案得以解决的:本发明包括以下步骤:
S1、获取道路交叉口的基础参数;
S2、按照道路交叉口的组成结构分层拆解道路交叉口,获取路面模型、人行道模型、车道线模型和车道导向箭头模型;
S3、计算步骤S2中所述模型的顶点坐标;
S4、由所述模型的顶点坐标作为三角形顶点坐标将所述模型三角化,按照所述三角形顶点坐标构建顶点索引数组,生成三角网格模型;
S5、分别为步骤S2中所述模型创建不同的材质,并将其赋予到相对应的三角网格模型上;
S6、将所有三角网格模型合并建立道路交叉口模型。
本发明能够通过参数化的方式对道路交叉口的三维模型进行自动生成,用户只需要指定道路交叉口的基础参数,便能自动生成对应的三维模型,方便快捷,而且能够根据基础参数的修改对道路交叉口的三维模型进行实时显示,具有很强的灵活性和时效性;当实际的道路交叉口形态发生改变时,相对于手工建模的方式模型化道路交叉口,本发明只需要更改道路交叉口的基础参数,重新生成一下即可,极大地提高了道路交叉口的建模效率并降低了维护成本。
作为优选,所述的计算路面模型的顶点坐标,具体包括:
S311、计算路面的顶点坐标,通过公式RWl=lw*lnl+(lnl-1)*d2′+d2′/2和RWr=lw*lnr+(lnr-1)*d2′+d2′/2计算出左右路面宽度,其中RWr为右路面宽度,RWl为左路面宽度,lw为车道宽,lnr为进车道数,lnl为出车道数,d2′为车道线宽,由左右路面宽度得到路面顶部和底部的顶点的X坐标,由路面长度得到路面底部的顶点的Z坐标,给定路面所有顶点的Y坐标为0,给定路面顶部的顶点的Z坐标为0;
S312、根据路面旋转角将路面绕Y轴进行逆时针旋转,并计算旋转后的路面的顶点坐标,计算公式如下,
S313、由步骤S311和步骤S312可知路面以及邻近路面的顶点坐标,计算路面与邻近路面相交直线的直线方程,联立相交直线的直线方程,计算路面与邻近路面的左右交点坐标;
S314、计算路面的平移向量和垂足坐标:
构建路面左交点与其下方路面顶点的向量以及路面右交点与其下方路面顶点的向量;
判断d1是否大于d2,若d1>d2,则从左交点向路面的右边界线作垂线,并将路面左交点与其下方路面顶点的向量作为路面的平移向量,若d1≤d2,则从右交点向路面的左边界线作垂线,并将路面右交点与其下方路面顶点的向量作为路面的平移向量;
计算垂足所在边线的直线方程以及垂线的直线方程,联立直线方程,计算出垂足的坐标;
S315、将路面沿平移向量平移,并计算路面沿平移向量平移后的顶点坐标,计算公式如下,
其中为4D向量[x,y,z,1],由路面顶点坐标构成的3D向量[x,y,z]扩展获取,M为根据平移向量构造的4×4平移矩阵,Δx、Δy、Δz分别为平移向量在x、y、z三个轴向上的分量,n为路面顶点数;
S316、通过步骤S313和步骤S314计算由各个路面的左右交点和垂足构成的路面多边形的顶点坐标。
作为优选,所述的计算人行道模型的顶点坐标,具体包括:
S321、计算路面宽度,计算公式如下,
RW=RWr+RWl
其中,RWr为右路面宽度,通过公式RWr=lw*lnr+(lnr-1)*d2′+d2′/2计算获取,RWl为左路面宽度,通过公式RWl=lw*lnl+(lnl-1)*d2′+d2′/2计算获取,lw为车道宽,lnr为进车道数,lnl为出车道数,d2′为车道线宽;
计算斑马线数量,计算公式如下,
n1=[RW/(w+d)]
其中w为斑马线的宽度,d为斑马线之间的间隔,RW为路面宽度;
S322、计算路面与邻近路面的交点所在直线L1″的直线方程;
S323、计算每条斑马线左右边界线所在直线与直线L1″的交点,得到每条斑马线顶部顶点的X坐标和Z坐标;将直线L1″沿路面延伸方向平移距离s得到直线L2″,计算每条斑马线左右边界线所在直线与直线L2″的交点,得到每条斑马线底部顶点的X坐标和Z坐标,给定斑马线的顶点的Y坐标均为固定值y1。
作为优选,所述的计算车道线模型的顶点坐标,具体包括:
S331、计算路面与邻近路面的交点所在直线L1″的直线方程;
S332、将直线L1″沿路面延伸方向平移距离s1得到直线L3″,将直线L1″沿路面延伸方向平移距离s2得到直线L4″,将直线L1″沿路面延伸方向平移距离s3得到直线L5″;
S333、计算路面中心线的左右边界线所在直线与直线L3″的交点,得到路面中心线顶部顶点的X坐标和Z坐标,计算路面中心线的左右边界线所在直线与直线L5″的交点,得到路面中心线底部顶点的X坐标和Z坐标;
S334、计算路面中心线与车道停止线相交一侧的边界线所在直线与直线L5″和直线L4″的交点,以及计算与车道停止线相交的路面边界线所在直线与直线L5″和直线L4″的交点,得到车道停止线所有顶点的X坐标和Z坐标;
S335、计算进车道每条实车道线的左右边界线所在直线与直线L4″的交点,得到进车道每条实车道线顶部顶点的X坐标和Z坐标,结合进车道每条实车道线顶部顶点的X坐标和Z坐标以及进车道实车道线长度,得到进车道每条实车道线底部顶点的X坐标和Z坐标;
S336、计算进车道虚车道线数量,计算公式如下,
其中,rh为路面长度,h为斑马线的长度,d1′为斑马线与停止线的间距,d2′为车道线宽,d3′为进车道实车道线长度,d4′为虚车道线长度,d5′为虚车道线之间的间隔,并计算每条进车道虚车道线顶点的X坐标和Z坐标;
S337、计算出车道每条车道线左右边界线所在直线的直线方程;
S338、计算出车道虚车道线数量,计算公式如下,
其中,rh为路面长度,h为斑马线的长度,d1′为斑马线与停止线的间距,d2′为车道线宽,d4′为虚车道线长度,d5′为虚车道线之间的间隔,并计算每条出车道虚车道线顶点的X坐标和Z坐标;
S339、给定车道线模型所有顶点的Y坐标均为固定值y2,结合步骤S333~S338计算获取的X坐标和Z坐标,得到车道模型所有顶点的坐标。
作为优选,所述的计算车道导向箭头模型的顶点坐标,具体包括:
S341、根据车道导向类型数据计算车道导向箭头的顶点坐标;
S342、计算路面与邻近路面的交点所在直线L1″的直线方程,将直线L1″沿路面延伸方向平移距离s4得到直线L6″;
S343、计算直线L6″与每个进车道中心线所在直线的交点坐标,所述交点坐标为每个车道导向箭头的放置位置坐标;
S344、计算每个车道导向箭头的顶点坐标与放置位置坐标之间的偏移值;
S345、将每个车道的导向箭头根据偏移向量平移至箭头放置位置。
作为优选,所述的平移距离的计算公式如下:
其中,k为平移前直线的斜率,d为平移前直线与平移后直线的垂直距离。
本发明的有益效果是:本发明能够通过参数化的方式对道路交叉口的三维模型进行自动生成,用户只需要指定道路交叉口的基础参数,便能自动生成对应的三维模型,方便快捷,而且能够根据基础参数的修改对道路交叉口的三维模型进行实时显示,具有很强的灵活性和时效性;当实际的道路交叉口形态发生改变时,相对于手工建模的方式模型化道路交叉口,本发明只需要更改道路交叉口的基础参数,重新生成一下即可,极大地提高了道路交叉口的建模效率并降低了维护成本。
附图说明
图1是本发明的一种方法流程图。
图2~图6是本发明路面模型的计算过程示意图。
图7是本发明人行道模型的计算过程示意图。
图8是本发明车道线模型的计算过程示意图。
图9是本发明车道导向箭头模型的计算过程示意图。
具体实施方式
下面通过实施例,并结合附图,对本发明的技术方案作进一步具体的说明。
实施例:本实施例的一种道路交叉口三维模型自动生成方法,如图1所示,包括以下步骤:
S1、获取道路交叉口的基础参数,基础参数包括交叉口路面数、进车道数、出车道数、路面旋转角、车道导向类型等;
S2、按照道路交叉口的组成结构分层拆解道路交叉口,获取路面模型、人行道模型、车道线模型和车道导向箭头模型;
S3、计算步骤S2中所有模型的顶点坐标;
S4、由模型的顶点坐标作为三角形顶点坐标将模型三角化,按照三角形顶点坐标构建顶点索引数组,生成三角网格模型;
S5、分别为步骤S2中所有模型创建不同的材质,并将其赋予到相对应的三角网格模型上;
S6、将所有三角网格模型合并建立道路交叉口模型。
计算路面模型的顶点坐标,具体包括:
S311、计算路面的顶点坐标,如图2所示,Z轴表示南北方向,X轴表示东西方向,通过公式RWl=lw*lnl+(lnl-1)*d2′+d2′/2和RWr=lw*lnr+(lnr-1)*d2′+d2′/2计算出左右路面宽度,其中RWr为右路面宽度,RWl为左路面宽度,lw为车道宽,lnr为进车道数,lnl为出车道数,d2′为车道线宽,由左右路面宽度得到路面顶部的两个顶点V1和V4的X坐标,由路面长度rh得到路面底部的两个顶点V2和V3的Z坐标,给定路面所有顶点的Y坐标为0,由此得到路面的顶点坐标,其中路面顶部的两个顶点坐标为V1(RWr,0,0)和V4(-RWl,0,0),路面底部的两个顶点坐标为V2(RWr,0,rh)和V3(-RWl,0,rh);
S312、根据路面旋转角将路面绕Y轴进行逆时针旋转,并计算旋转后的路面的顶点坐标,计算公式如下,
S313、由步骤S311和步骤S312可知路面以及邻近路面的顶点坐标,计算路面与邻近路面相交直线的直线方程,联立相交直线的直线方程,计算路面与邻近路面的左右交点坐标,如图4所示,由两点式直线公式计算过顶点V1和V2的直线L1的直线方程以及过顶点V7和V8的直线L2的直线方程,联立两条直线的直线方程,求得交点CP的坐标;
S314、计算路面的平移向量和垂足坐标:
构建路面左交点与其下方路面顶点的向量以及路面右交点与其下方路面顶点的向量;
判断d1是否大于d2,若d1>d2,则从左交点向路面的右边界线作垂线,并将路面左交点与其下方路面顶点的向量作为路面的平移向量,若d1≤d2,则从右交点向路面的左边界线作垂线,并将路面右交点与其下方路面顶点的向量作为路面的平移向量;
计算垂足所在边线的直线方程以及垂线的直线方程,联立直线方程,计算出垂足的坐标;
如图5所示,已知路面M2与其左侧邻近路面的左交点为CPl,路面M2与其右侧邻近路面的右交点为CPr,构建左交点CPl与路面M2顶点V4′的向量构建右交点CPr与路面M2顶点V1′的向量由三维向量求模公式计算向量的模d1和向量的模d2,由于d1>d2,则从左交点CPl向右侧路面边缘作垂线L2′,并将向量作为路面平移向量
由两点式直线公式计算出点V1′和V2′所在直线L1′的直线方程,由点斜式直线公式y-y1=k(x-x1)计算出垂线L2′的直线方程,联立直线L1′的直线方程和垂线L2′的直线方程,计算出垂足P的坐标;
其中为4D向量[x,y,z,1],由路面顶点坐标构成的3D向量[x,y,z]扩展获取,M为根据平移向量构造的4×4平移矩阵,Δx、Δy、Δz分别为平移向量在x、y、z三个轴向上的分量,n为路面顶点数,如图5所示,M2是平移前的路面,M2′是平移后的路面;
S316、通过步骤S313和步骤S314计算由各个路面的左右交点和垂足构成的路面多边形的顶点坐标,如图6所示。
计算人行道模型的顶点坐标,具体包括:
S321、计算路面宽度,计算公式如下,
RW=RWr+RWl
其中,RWr为右路面宽度,通过公式RWr=lw*lnr+(lnr-1)*d2′+d2′/2计算获取,RWl为左路面宽度,通过公式RWl=lw*lnl+(lnl-1)*d2′+d2′/2计算获取,lw为车道宽,lnr为进车道数,lnl为出车道数,d2′为车道线宽;
计算斑马线数量,计算公式如下,
n1=[RW/(w+d)]
其中w为斑马线的宽度,d为斑马线之间的间隔,RW为路面宽度;
S322、计算路面与邻近路面的交点所在直线L1″的直线方程:由步骤S313可以得到每个路面与邻近路面的左右交点坐标,根据两点式直线方程计算求得路面与邻近路面的交点所在直线L1″的直线方程;
S323、计算每条斑马线左右边界线所在直线与直线L1″的交点,得到每条斑马线顶部顶点的X坐标和Z坐标;将直线L1″沿路面延伸方向平移距离s得到直线L2″,计算每条斑马线左右边界线所在直线与直线L2″的交点,得到每条斑马线底部顶点的X坐标和Z坐标,给定斑马线的顶点的Y坐标均为固定值y1:
如图7所示,Z轴表示南北方向,X轴表示东西方向,每条斑马线左右边界线所在直线的直线方程为:
其中n1为斑马线数量,w为斑马线的宽度,d为斑马线之间的间隔,RW为路面宽度,将每条斑马线左右边界线所在直线的直线方程与直线L1″的直线方程联立,求得每条斑马线顶部顶点的X坐标和Z坐标;
将直线L1″沿路面延伸方向平移距离s得到直线L2″,已知直线L1″的直线方程,且直线L2″是由直线L1″平移距离s得到,故可以获知直线L2″的直线方程,将每条斑马线左右边界线所在直线的直线方程与直线L2″的直线方程联立,求得每条斑马线底部顶点的X坐标和Z坐标;
给定斑马线的顶点的Y坐标均为固定值y1=0.01,由此求得人行道模型的所有顶点坐标。
如图8所示,Z轴表示南北方向,X轴表示东西方向,计算车道线模型的顶点坐标,具体包括:
S331、计算路面与邻近路面的交点所在直线L1″的直线方程:由步骤S313可以得到每个路面与邻近路面的左右交点坐标,根据两点式直线方程计算求得路面与邻近路面的交点所在直线L1″的直线方程;
S332、将直线L1″沿路面延伸方向平移距离s1得到直线L3″,将直线L1″沿路面延伸方向平移距离s2得到直线L4″,将直线L1″沿路面延伸方向平移距离s3得到直线L5″:
将直线L1″沿路面延伸方向平移距离s1得到直线L3″,已知直线L1″的直线方程,且直线L3″是由直线L1″平移距离s1得到,故可以获知直线L3″的直线方程,平移距离s1的计算公式为其中k为直线L1″的斜率,d的值取斑马线与停止线的间距d1′;
将直线L1″沿路面延伸方向平移距离s2得到直线L4″,已知直线L1″的直线方程,且直线L4″是由直线L1″平移距离s2得到,故可以获知直线L4″的直线方程,平移距离s2的计算公式为其中k为直线L1″的斜率,d的值取斑马线与停止线的间距d1′与车道线宽d2′之和;
将直线L1″沿路面延伸方向平移距离s3得到直线L5″,已知直线L1″的直线方程,且直线L5″是由直线L1″平移距离s3得到,故可以获知直线L5″的直线方程,平移距离s3的计算公式为其中k为直线L1″的斜率,d的值取路面长度rh;
S333、计算路面中心线的左右边界线所在直线与直线L3″的交点,得到路面中心线顶部顶点的X坐标和Z坐标,计算路面中心线的左右边界线所在直线与直线L5″的交点,得到路面中心线底部顶点的X坐标和Z坐标:
路面中心线的左右边界线所在直线的直线方程为:x1=-d2′/2和x2=d2′/2,其中d2′为车道线宽,将路面中心线的左右边界线所在直线的直线方程与直线L3″的直线方程联立,求得路面中心线顶部顶点的X坐标和Z坐标,计算路面中心线的左右边界线所在直线与直线L5″的交点,求得路面中心线底部顶点的X坐标和Z坐标;
S334、计算路面中心线与车道停止线相交一侧的边界线所在直线与直线L5″和直线L4″的交点,以及计算与车道停止线相交的路面边界线所在直线与直线L5″和直线L4″的交点,得到车道停止线所有顶点的X坐标和Z坐标:
路面中心线与车道停止线相交一侧的边界线所在直线的直线方程为x2=d2′/2,与车道停止线相交的路面边界线所在直线的直线方程为x3=RWr,其中RWr为右路面宽度,将路面中心线与车道停止线相交一侧的边界线所在直线的直线方程分别与直线L5″的直线方程和直线L4″的直线方程联立,以及将车道停止线相交的路面边界线所在直线的直线方程与直线L5″的直线方程和直线L4″的直线方程联立,求得车道停止线所有顶点的X坐标和Z坐标;
S335、计算进车道每条实车道线的左右边界线所在直线与直线L4″的交点,得到进车道每条实车道线顶部顶点的X坐标和Z坐标,结合进车道每条实车道线顶部顶点的X坐标和Z坐标以及进车道实车道线长度,得到进车道每条实车道线底部顶点的X坐标和Z坐标:
进车道的每条实车道线左右边界线所在直线的直线方程为:
其中d2′为车道线宽,lw为车道宽,lnr为进车道数,将进车道的每条实车道线左右边界线所在直线的直线方程与直线L4″的直线方程联立,求得进车道每条实车道线顶部顶点的X坐标和Z坐标,由于进车道实车道线为直线,且已知进车道实车道线长度为d3′,则进车道每条实车道线底部顶点的Z坐标为进车道每条实车道线顶部顶点的Z坐标与d3′之和,进车道每条实车道线底部顶点的X坐标与进车道每条实车道线顶部顶点的X坐标相同。
S336、计算进车道虚车道线数量,计算公式如下,
其中,rh为路面长度,h为斑马线的长度,d1′为斑马线与停止线的间距,d2′为车道线宽,d3′为进车道实车道线长度,d4′为虚车道线长度,d5′为虚车道线之间的间隔,并计算每条进车道虚车道线顶点的X坐标和Z坐标,由于每条进车道虚车道线与实车道线位于同一直线上,故每条进车道虚车道线顶点的X坐标与其所对应的实车道线的X坐标相同,每条进车道虚车道线顶点的Z坐标通过以下公式计算获取,
其中,d6′=rh-(h+d1′+d2′+d3′),zi为进车道实车道线底部两个顶点的Z坐标;
S337、计算出车道每条车道线左右边界线所在直线的直线方程:
其中,d2′为车道线宽,lw为车道宽,lnl为进车道数;
S338、计算出车道虚车道线数量,计算公式如下,
其中,rh为路面长度,h为斑马线的长度,d1′为斑马线与停止线的间距,d2′为车道线宽,d4′为虚车道线长度,d5′为虚车道线之间的间隔,并计算每条出车道虚车道线顶点的X坐标和Z坐标,每条进车道虚车道线顶点的Z坐标通过以下公式计算获取,
其中,d7′=rh-(h+d1′+d2′),每条进车道虚车道线顶点的X坐标即为步骤S337中的直线方程的解;
S339、给定车道线模型所有顶点的Y坐标均为固定值y2=0.01,结合步骤S333~S338计算获取的X坐标和Z坐标,得到车道模型所有顶点的坐标。
如图9所示,Z轴表示南北方向,X轴表示东西方向,计算车道导向箭头模型的顶点坐标,具体包括:
S341、根据车道导向类型数据计算车道导向箭头的顶点坐标;
S342、计算路面与邻近路面的交点所在直线L1″的直线方程,将直线L1″沿路面延伸方向平移距离s4得到直线L6″:
由步骤S313可以得到每个路面与邻近路面的左右交点坐标,根据两点式直线方程计算求得路面与邻近路面的交点所在直线L1″的直线方程;
将直线L1″沿路面延伸方向平移距离s4得到直线L6″,已知直线L1″的直线方程,且直线L6″是由直线L1″平移距离s4得到,故可以获知直线L6″的直线方程,平移距离s4的计算公式为其中k为直线L1″的斜率,d的值取斑马线与停止线的间距d1′、车道线宽d2′以及车道箭头与停止线的间距d′;
S343、计算直线L6″与每个进车道中心线所在直线的交点坐标,所述交点坐标为每个车道导向箭头的放置位置坐标:每个进车道中心线所在直线的直线方程为Jix=(i-0.5)*(d2′+lw)(i≤n),其中,d2′为车道线宽,lw为车道宽,n为车道导向箭头数量,每个进车道中心线所在直线为垂直与Z轴的直线,故Jix是交点的X坐标,交点的Y坐标为固定值0.01,将交点的X坐标代入直线L6″的直线方程中,即可获取交点的Z坐标;
S344、计算每个车道导向箭头的顶点坐标与放置位置坐标之间的偏移值,偏移值即为每个车道导向箭头的顶点坐标与放置位置坐标之间的距离;
S345、将每个车道的导向箭头根据偏移向量平移至箭头放置位置。
非南北走向或东西走向的道路交叉路口的人行道模型、车道线模型和车道导向箭头模型可以先将其通过路面旋转角旋转至南北走向或东西走向,根据上述步骤计算出顶点坐标后,再结合路面旋转角计算出原始顶点坐标。
本发明能够通过参数化的方式对道路交叉口的三维模型进行自动生成,用户只需要指定道路交叉口的基础参数,便能自动生成对应的三维模型,方便快捷,而且能够根据基础参数的修改对道路交叉口的三维模型进行实时显示,具有很强的灵活性和时效性;当实际的道路交叉口形态发生改变时,相对于手工建模的方式模型化道路交叉口,本发明只需要更改道路交叉口的基础参数,重新生成一下即可,极大地提高了道路交叉口的建模效率并降低了维护成本。
Claims (5)
1.一种道路交叉口三维模型自动生成方法,其特征在于,包括以下步骤:
S1、获取道路交叉口的基础参数;
S2、按照道路交叉口的组成结构分层拆解道路交叉口,获取路面模型、人行道模型、车道线模型和车道导向箭头模型;
S3、计算步骤S2中所述模型的顶点坐标;
S4、由所述模型的顶点坐标作为三角形顶点坐标将所述模型三角化,按照所述三角形顶点坐标构建顶点索引数组,生成三角网格模型;
S5、分别为步骤S2中所述模型创建不同的材质,并将其赋予到相对应的三角网格模型上;
S6、将所有三角网格模型合并建立道路交叉口模型;
所述计算车道导向箭头模型的顶点坐标,具体包括:
S341、根据车道导向类型数据计算车道导向箭头的顶点坐标;
S342、计算路面与邻近路面的交点所在直线L1″的直线方程,将直线L1″沿路面延伸方向平移距离s4得到直线L6″;
S343、计算直线L6″与每个进车道中心线所在直线的交点坐标,所述交点坐标为每个车道导向箭头的放置位置坐标;
S344、计算每个车道导向箭头的顶点坐标与放置位置坐标之间的偏移值;
S345、将每个车道的导向箭头根据偏移向量平移至箭头放置位置。
2.根据权利要求1所述的一种道路交叉口三维模型自动生成方法,其特征在于,所述计算路面模型的顶点坐标,具体包括:
S311、计算路面的顶点坐标,通过公式RWl=lw*lnl+(lnl-1)*d2′+d2′/2和RWr=lw*lnr+(lnr-1)*d2′+d2′/2计算出左右路面宽度,其中RWr为右路面宽度,RWl为左路面宽度,lw为车道宽,lnr为进车道数,lnl为出车道数,d2′为车道线宽,由左右路面宽度得到路面顶部和底部的顶点的X坐标,由路面长度得到路面底部的顶点的Z坐标,给定路面所有顶点的Y坐标为0,给定路面顶部的顶点的Z坐标为0;
S312、根据路面旋转角将路面绕Y轴进行逆时针旋转,并计算旋转后的路面的顶点坐标,计算公式如下,
S313、由步骤S311和步骤S312可知路面以及邻近路面的顶点坐标,计算路面与邻近路面相交直线的直线方程,联立相交直线的直线方程,计算路面与邻近路面的左右交点坐标;
S314、计算路面的平移向量和垂足坐标:
构建路面左交点与其下方路面顶点的向量以及路面右交点与其下方路面顶点的向量;
判断d1是否大于d2,若d1>d2,则从左交点向路面的右边界线作垂线,并将路面左交点与其下方路面顶点的向量作为路面的平移向量,若d1≤d2,则从右交点向路面的左边界线作垂线,并将路面右交点与其下方路面顶点的向量作为路面的平移向量;
计算垂足所在边线的直线方程以及垂线的直线方程,联立直线方程,计算出垂足的坐标;
S315、将路面沿平移向量平移,并计算路面沿平移向量平移后的顶点坐标,计算公式如下,
其中为4D向量[x,y,z,1],由路面顶点坐标构成的3D向量[x,y,z]扩展获取,M为根据平移向量构造的4×4平移矩阵,Δx、Δy、Δz分别为平移向量在x、y、z三个轴向上的分量,n为路面顶点数;
S316、通过步骤S313和步骤S314计算由各个路面的左右交点和垂足构成的路面多边形的顶点坐标。
3.根据权利要求1所述的一种道路交叉口三维模型自动生成方法,其特征在于,所述计算人行道模型的顶点坐标,具体包括:
S321、计算路面宽度,计算公式如下,
RW=RWr+RWl
其中,RWr为右路面宽度,通过公式RWr=lw*lnr+(lnr-1)*d2′+d2′/2计算获取,RWl为左路面宽度,通过公式RWl=lw*lnl+(lnl-1)*d2′+d2′/2计算获取,lw为车道宽,lnr为进车道数,lnl为出车道数,d2′为车道线宽;
计算斑马线数量,计算公式如下,
n1=[RW/(w+d)]
其中w为斑马线的宽度,d为斑马线之间的间隔,RW为路面宽度;
S322、计算路面与邻近路面的交点所在直线L1″的直线方程;
S323、计算每条斑马线左右边界线所在直线与直线L1″的交点,得到每条斑马线顶部顶点的X坐标和Z坐标;将直线L1″沿路面延伸方向平移距离s得到直线L2″,计算每条斑马线左右边界线所在直线与直线L2″的交点,得到每条斑马线底部顶点的X坐标和Z坐标,给定斑马线的顶点的Y坐标均为固定值y1。
4.根据权利要求1所述的一种道路交叉口三维模型自动生成方法,其特征在于,所述计算车道线模型的顶点坐标,具体包括:
S331、计算路面与邻近路面的交点所在直线L1″的直线方程;
S332、将直线L1″沿路面延伸方向平移距离s1得到直线L3″,将直线L1″沿路面延伸方向平移距离s2得到直线L4″,将直线L1″沿路面延伸方向平移距离s3得到直线L5″;
S333、计算路面中心线的左右边界线所在直线与直线L3″的交点,得到路面中心线顶部顶点的X坐标和Z坐标,计算路面中心线的左右边界线所在直线与直线L5″的交点,得到路面中心线底部顶点的X坐标和Z坐标;
S334、计算路面中心线与车道停止线相交一侧的边界线所在直线与直线L5″和直线L4″的交点,以及计算与车道停止线相交的路面边界线所在直线与直线L5″和直线L4″的交点,得到车道停止线所有顶点的X坐标和Z坐标;
S335、计算进车道每条实车道线的左右边界线所在直线与直线L4″的交点,得到进车道每条实车道线顶部顶点的X坐标和Z坐标,结合进车道每条实车道线顶部顶点的X坐标和Z坐标以及进车道实车道线长度,得到进车道每条实车道线底部顶点的X坐标和Z坐标;
S336、计算进车道虚车道线数量,计算公式如下,
其中,rh为路面长度,h为斑马线的长度,d1′为斑马线与停止线的间距,d2′为车道线宽,d3′为进车道实车道线长度,d4′为虚车道线长度,d5′为虚车道线之间的间隔,并计算每条进车道虚车道线顶点的X坐标和Z坐标;
S337、计算出车道每条车道线左右边界线所在直线的直线方程;
S338、计算出车道虚车道线数量,计算公式如下,
其中,rh为路面长度,h为斑马线的长度,d1′为斑马线与停止线的间距,d2′为车道线宽,d4′为虚车道线长度,d5′为虚车道线之间的间隔,并计算每条出车道虚车道线顶点的X坐标和Z坐标;
S339、给定车道线模型所有顶点的Y坐标均为固定值y2,结合步骤S333~S338计算获取的X坐标和Z坐标,得到车道模型所有顶点的坐标。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011386970.1A CN112562062B (zh) | 2020-12-01 | 2020-12-01 | 一种道路交叉口三维模型自动生成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011386970.1A CN112562062B (zh) | 2020-12-01 | 2020-12-01 | 一种道路交叉口三维模型自动生成方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112562062A CN112562062A (zh) | 2021-03-26 |
CN112562062B true CN112562062B (zh) | 2023-04-11 |
Family
ID=75047054
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011386970.1A Active CN112562062B (zh) | 2020-12-01 | 2020-12-01 | 一种道路交叉口三维模型自动生成方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112562062B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114722688B (zh) * | 2022-06-07 | 2022-08-26 | 中国城市规划设计研究院(住房和城乡建设部遥感应用中心) | 一种三维建筑模型自动分层方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101655992A (zh) * | 2009-09-15 | 2010-02-24 | 中国科学院软件研究所 | 一种三角网格模型的重建方法 |
CN105139449A (zh) * | 2015-08-24 | 2015-12-09 | 上海卫高网络科技有限公司 | 一种基于三维网格细分和编码的三维模型压缩方法 |
CN108875179A (zh) * | 2018-06-07 | 2018-11-23 | 重庆市勘测院 | 一种道路平面交叉口自动建模方法 |
CN109446573A (zh) * | 2018-09-26 | 2019-03-08 | 力帆实业(集团)股份有限公司 | 一种构建多维路面仿真模型的方法 |
CN110610543A (zh) * | 2018-06-14 | 2019-12-24 | 高德软件有限公司 | 一种建立三维路面和路口的方法及装置 |
CN111047682A (zh) * | 2019-11-22 | 2020-04-21 | 佛山科学技术学院 | 一种三维车道模型生成方法及系统 |
-
2020
- 2020-12-01 CN CN202011386970.1A patent/CN112562062B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101655992A (zh) * | 2009-09-15 | 2010-02-24 | 中国科学院软件研究所 | 一种三角网格模型的重建方法 |
CN105139449A (zh) * | 2015-08-24 | 2015-12-09 | 上海卫高网络科技有限公司 | 一种基于三维网格细分和编码的三维模型压缩方法 |
CN108875179A (zh) * | 2018-06-07 | 2018-11-23 | 重庆市勘测院 | 一种道路平面交叉口自动建模方法 |
CN110610543A (zh) * | 2018-06-14 | 2019-12-24 | 高德软件有限公司 | 一种建立三维路面和路口的方法及装置 |
CN109446573A (zh) * | 2018-09-26 | 2019-03-08 | 力帆实业(集团)股份有限公司 | 一种构建多维路面仿真模型的方法 |
CN111047682A (zh) * | 2019-11-22 | 2020-04-21 | 佛山科学技术学院 | 一种三维车道模型生成方法及系统 |
Non-Patent Citations (1)
Title |
---|
三角格网数模在城市道路平面交叉口CAD中的应用;丁建梅等;《哈尔滨工业大学学报》;20041030(第10期);第127-129页 * |
Also Published As
Publication number | Publication date |
---|---|
CN112562062A (zh) | 2021-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105058795B (zh) | 增材制造的误差补偿方法 | |
CN106600690A (zh) | 基于点云数据的复杂建筑体三维建模方法 | |
CN102509338B (zh) | 一种基于轮廓骨架图的视频场景行为生成方法 | |
CN102222363A (zh) | 从人脸图像快速构建高精度个性化人脸模型的方法 | |
CN107918957B (zh) | 一种保持结构和纹理特征的三维建筑模型化简方法 | |
CN102880741A (zh) | 一种基于个性化三维虚拟人台的服装衣身原型样板生成方法 | |
CN112562062B (zh) | 一种道路交叉口三维模型自动生成方法 | |
CN110188423A (zh) | 一种基于有限元网格划分的线性工程结构快速bim建模方法 | |
CN106650085B (zh) | 基于有限元网格的实体模型生成镂空模型的方法 | |
CN109285177A (zh) | 一种数字城市天际线提取方法 | |
CN109584364A (zh) | 一种基于倾斜三维模型的2.5维电子地图的生成方法及装置 | |
CN112634455B (zh) | 一种利用切割三角面片应用于三维模型棱线修复方法 | |
CN101286241A (zh) | 基于立体像对的一种三维建筑物快速建模方法 | |
KR100632915B1 (ko) | 선로의 3차원 영상 구현 방법 및 선로의 3차원 영상 표시시스템 | |
CN1828671A (zh) | 基于图像的服装虚拟展示系统中的网格纹理映射方法 | |
CN103544733B (zh) | 基于统计形状分析的三维人体头部三角网格模型建立方法 | |
CN106127855A (zh) | 一种海量路网实时精细化三维建模与渲染方法 | |
CN117611768B (zh) | 一种基于cad图纸的道路参数化建模方法 | |
CN108959177A (zh) | 一种基于平面傅立叶轮廓分析的三维颗粒构形方法 | |
CN108416842A (zh) | 一种城市三维综合管网信息管理方法 | |
CN105046727B (zh) | 一种产品效果图的生成方法 | |
CN110610543B (zh) | 一种建立三维路面和路口的方法及装置 | |
Xu et al. | Research for 3D visualization of Digital City based on SketchUp and ArcGIS | |
Tian | 3D modeling and digital preservation of ancient architectures based on autoCAD and 3Dmax | |
CN113160412B (zh) | 一种基于纹理贴图的软件模型自动生成方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 310053 23-25, 2 building, 352 BINKANG Road, Binjiang District, Hangzhou, Zhejiang. Applicant after: Zhejiang zhongkong Information Industry Co.,Ltd. Address before: 310053 23-25, 2 building, 352 BINKANG Road, Binjiang District, Hangzhou, Zhejiang. Applicant before: ZHEJIANG SUPCON INFORMATION TECHNOLOGY Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |