CN109360266A - 一种道路建模方法、相关装置和设备 - Google Patents
一种道路建模方法、相关装置和设备 Download PDFInfo
- Publication number
- CN109360266A CN109360266A CN201811102002.6A CN201811102002A CN109360266A CN 109360266 A CN109360266 A CN 109360266A CN 201811102002 A CN201811102002 A CN 201811102002A CN 109360266 A CN109360266 A CN 109360266A
- Authority
- CN
- China
- Prior art keywords
- curve
- dimensional
- coordinate
- point
- coordinate points
- 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.)
- Pending
Links
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
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
本发明实施例公开了一种道路建模方法、相关装置和设备,该方法包括:构建二维曲线,所述二维曲线为三维坐标系XYZ中XOY平面坐标系中的曲线;将所述二维曲线上每一个二维坐标点加入Z轴坐标值构建三维坐标系XYZ中的三维曲线;以所述三维曲线为中心轴线,并向所述三维曲线上的任意一点的法线正、负方向拓展所述三维曲线的宽度,生成三维道路模型。采用本发明实施例,可以更高效地构建道路模型,构建出来的道路模型可复用性高。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种道路建模方法、相关装置和设备。
背景技术
在很多应用领域,如建筑设计、城市规划、虚拟城市、虚拟生活场景、游戏场景等都需要用到三维建模,用仿真软件仿真出三维模型可以节约人力、物力。传统的三维仿真建模构建的三维模型,其长宽高的比例已经固定,如果有一项进行改变,就得重新绘制整个模型,导致构建的模型可复用性低、构建模型的效率低。例如,在游戏场景构建过程中,可能涉及到需要对道路进行构建,在现有技术中,大多游戏行业会使用3D建模软件构建道路,3D建模软件在构建道路模型时由于是直接在网格中加入三维贴图进行构建模型,三维贴图是一立体的模型,由大量的点、线、面组成,因此需要对大量的点、线、面一一进行布局,对每一个点、线、面中的参数要一一调节,操作起来十分复杂,当非专业的用户去构建3D道路模型时,建模效率低,当三维贴图中的某一条线,或者某一个面需要改变时,就需要调节三维贴图中的每一个点、线、面,可复用性低。
发明内容
本发明实施例提供一种道路建模方法、一种道路建模装置、一种道路建模设备、以及一种计算机可读存储介质,以提高构建道路模型效率和可复用性的技术问题。
为了解决上述技术问题,本发明实施例第一方面公开了一种针对道路建模方法,包括:
构建二维曲线,所述二维曲线为三维坐标系XYZ中XOY平面坐标系中的曲线;
将所述二维曲线上每一个二维坐标点加入Z轴坐标值构建三维坐标系XYZ中的三维曲线;
以所述三维曲线为中心轴线,并向所述三维曲线上的任意一点的法线正、负方向拓展所述三维曲线的宽度,生成三维道路模型。
可选地,所述构建二维曲线包括:
在XOY平面坐标系上确定n1个有序的坐标点P(n),其中,所述n1个坐标点不在一条直线上,n1为大于2的整数;
将所述n1个有序的坐标点按顺序连接成第一曲线,计算所述第一曲线中所述n1个坐标点的切线;
根据所述n1个坐标点的切线计算所述第一曲线中所述n1个坐标点的曲率;
通过高斯函数平滑所述n1个坐标点的曲率,得到所述二维曲线;
可选地,所述构建二维曲线还包括:
调用数据库中的第一数据集合构建所述二维曲线,所述第一数据集合包括n2个XOY平面坐标系中的二维坐标点,所述n2个二维坐标点构成的曲线为平滑曲线,其中n2为大于2的整数;
可选地,所述将所述二维曲线上每一个二维坐标点加入Z轴坐标值构建三维坐标系XYZ中的三维曲线,包括:
确定一个XOY平面坐标系中的第二曲线,所述第二曲线上的第n3个坐标点与所述二维曲线上的第n3个坐标点在X轴上的坐标值相同,其中,n3为自然数;
利用所述第二曲线在Y轴上的坐标值对所述二维曲线上坐标点加入Z轴坐标值,以构建所述三维坐标系XYZ中的三维曲线,其中,所述第二曲线上第n3个坐标点的Y坐标值为所述二维曲线上第n3个坐标点所加入的所述Z轴坐标值;可选地,所述将所述二维曲线上每一个二维坐标点加入Z轴坐标值构建三维坐标系XYZ中的三维曲线,包括:
确定一个XOY平面坐标系中的第三曲线,所述第三曲线上的第n4个坐标点与所述三维曲线上的第n4个坐标点在X轴上的坐标值相同,其中,n4为自然数;
利用所述第三曲线在Y轴上的坐标值对所述三维曲线上的任一点的法线正、负方向拓展所述三维曲线的宽度,生成三维道路模型,其中,所述三维曲线上第n4个坐标点处的宽度值由所述高度曲线上第n4个坐标点的Y坐标值确定;
将生成的多个所述三维道路模型进行首尾拼接,并将相邻的三维道路模型对接的部分平滑至水平面,构成相邻的三维道路模型。
可选地,所述将相邻的三维道路模型对接的部分平滑至水平面包括:
将前一个三维模型最后一个点的相邻点的高度改变为和最后一个点的高度一致,以使前一个三维模型的结尾切线保持在水平面上;
将后一个三维模型第一个点的相邻点的高度改变为和第一个点的高度一致,以使后一个三维模型的开头方向保持在水平面上。
本发明实施例第二方面公开了一种道路建模装置,包括执行如上述第一方面的方法的单元。
本发明实施例第三方面公开了一种道路建模设备,包括处理器、输入设备、输出设备和存储器,所述处理器、输入设备、输出设备和存储器相互连接,其中,所述存储器用于存储应用程序代码,所述处理器被配置用于调用所述程序代码,执行如上述第一方面所述的方法。
本发明实施例第四方面公开了一种计算机可读存储介质,所述计算机存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行如上述第一方面的方法。
实施本发明实施例,可以通过绘制二维曲线并加入高度参数和宽度参数来构建三维的道路模型,不需要对三维模型中的大量的点、线、面分别进行绘制与设置,操作简单,提升用户体验。进一步地,当所用到的模型长、宽、高中任意一处需要改变的时候,不需要对模型中长、宽、高三处同时进行调节,也不需要重新绘制模型,只需要对二维曲线、宽、高一处进行调节,可复用性高,效率高。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
其中:
图1是本发明实施例提供的一种道路建模方法的示意流程图;
图2是本发明实施例提供的在XOY平面坐标系上确定n1个有序的坐标点P(n)示意图;
图3是本发明实施例提供的XOY平面坐标系上第一曲线示意图;
图4是本发明实施例提供的XOY平面坐标系上二维曲线示意图;
图5是本发明实施例提供的XOY平面坐标系上二维曲线按照指定长度拆分成n2个点示意图;
图6是本发明实施例提供的XOY平面坐标系上第二曲线示意图;
图7是本发明实施例提供的XYZ三维坐标系上三维曲线示意图;
图8是本发明实施例提供的XOY平面坐标系上第三曲线示意图;
图9是本发明实施例提供的XYZ三维坐标系上三维道路模型示意图;
图10是本发明实施例提供的道路建模装置的结构示意图;
图11是本发明实施例提供的道路建模设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
具体实现中,本发明实施例中描述的道路建模的方法可由手机、台式电脑、膝上计算机、可穿戴设备等具备绘图、建模功能的终端设备实现,此处不作限定。对本发明实施例以终端设备为执行主体进行描述,应当理解的是,终端可以包括诸如物理键盘、鼠标和/或控制杆的一个或多个其它物理用户接口设备。
本发明实施例提供一种道路建模方法,包括:构建二维曲线,所述二维曲线为三维坐标系XYZ中XOY平面坐标系中的曲线;将所述二维曲线上每一个二维坐标点加入Z轴坐标值构建三维坐标系XYZ中的三维曲线;以所述三维曲线为中心轴线,并向所述三维曲线上的任意一点的法线正、负方向拓展所述三维曲线的宽度,生成三维道路模型。以下分别进行详细描述。
为了更好的理解本发明实施例提供的一种道路建模方法、道路建模装置以及道路建模设备,下面先对本发明实施例适用的一种道路建模方法的流程进行描述。请参阅图1,图1是本发明实施例提供的道路建模方法的流程示意图,本发明实施例中的道路建模方法包括:
步骤S101、构建二维曲线,所述二维曲线为三维坐标系XYZ中XOY平面坐标系中的曲线。
具体地,可以根据函数(如:正弦函数、余弦函数等)来构建二维曲线,也可以根据一些二维坐标点来构建二维曲线,需要说明的是,构建的二维曲线不限于是XOY平面中的二维曲线,也可以是XOZ、YOZ任一个平面中的二维曲线。
在一种可能的实现方式中,所述构建二维曲线具体包括:在XOY平面坐标系上确定n1个有序的坐标点P(n1),其中,所述n1个坐标点不在一条直线上,n1为大于2的整数;请参阅图2,图2是本发明实施例提供的在XOY平面坐标系上确定n1个有序的坐标点P(n1)示意图,需要说明的是,n1个有序的坐标点P(n1)可以是组成任意形状的曲线,不限于图2中n1个有序的坐标点P(n1)组成的曲线形式;
将所述n1个有序的坐标点按顺序连接成第一曲线,计算所述第一曲线中所述n1个坐标点的切线,请参阅图3,图3是本发明实施例提供的XOY平面坐标系上第一曲线示意图。
根据所述n1个坐标点的切线计算所述第一曲线中所述n1个坐标点的曲率,P(n1)的切线表示为Pt(n1):
Pt(n1)=normalize(P(n1+1)-P(n1))
式中,normalize函数是向量归一化函数,用于将切线归一为单位向量;
P(n1)的曲率表示为Pc(n1):
cross(Pt(n1),Pt(n1+1))≥0时,Pc(n1)=angle(Pt(n1),Pt(n1+1))
cross(Pt(n1),Pt(n1+1))<0时,Pc(n1)=-angle(Pt(n1),Pt(n1+1))
式中,angle函数计算切线的夹角,cross函数计算切线的方向;
通过高斯函数平滑所述n1个坐标点的曲率Pc(n1),得到所述二维曲线:
式中,Pgw(n1)为高斯平滑权重,a为可调节系数,Pc'(n1)为平滑后的曲率,b为可调节系数,平滑后的曲率Pc'(n1)对应的曲线为所述二维曲线,请参阅图4,图4是本发明实施例提供的XOY平面坐标系上二维曲线示意图。需要说明的是,上述的曲线平滑方法不限于高斯函数平滑算法,可以是改进的高斯函数平滑算法、线性跌代法、分段三次多项式插值法(又称五点法)、二次多项式加权平均法、张力样条函数法等,此处不做限定。本发明实施例,采用描点、将所描的点连成曲线再采用曲线平滑算法对曲线进行平滑,能够得到任意形状的二维曲线,所绘制的二维曲线也能够满足不同道路模型的要求,平滑过的二维曲线也逼近现实生活中的曲线道路,更能满足用户需求,提升用户体验。
在一种可能的实现方式中,所述构建二维曲线具体包括:调用数据库中的第一数据集合构建所述二维曲线,所述第一数据集合包括n2个XOY平面坐标系中的二维坐标点,所述n2个二维坐标点构成的曲线为平滑曲线,其中n2为大于2的整数,请参阅图5,图5是本发明实施例提供的XOY平面坐标系上二维曲线按照指定长度拆分成n2个点示意图,拆分后n2个点的坐标存储在第一数据库中,能够表示一条平滑曲线的形状、长度等信息。需要说明的是,所述数据库中第一数据集合可以是开发人员根据数据使用频率,将使用频率高的能够构建二维曲线的数据存储下来构成第一数据集合,也可以用户将绘制过的二维曲线的数据保存下来构建的第一数据集合。如果用户需要的二维曲线在数据库中存有数据,便可以直接调用,可以省去计算曲率、平滑曲线等步骤,可以提高效率,提升用户体验。
步骤S102、将所述二维曲线上每一个二维坐标点加入Z轴坐标值构建三维坐标系XYZ中的三维曲线。
具体地,将上述步骤S101中构建的所述二维曲线加入高度参数来构建三维坐标系XYZ中的三维曲线。需要说明的是,所述对二维曲线加入高度参数,可以是对二维曲线上的每一个点单独的加入高度参数,也可以是对二维曲线分段加入高度参数,此处不做限定。
在一种可能的实现方式中,所述将所述二维曲线上每一个二维坐标点加入Z轴坐标值构建三维坐标系XYZ中的三维曲线具体包括:确定一个XOY平面坐标系中的第二曲线,所述第二曲线上的第n3个坐标点与所述二维曲线上的第n3个坐标点在X轴上的坐标值相同,其中,n3为自然数,请参阅图6,图6是本发明实施例提供的XOY平面坐标系上第二曲线示意图,需要说明的是,所述第二曲线可以是任意形状的曲线,不限于图6中的曲线形状;
利用所述第二曲线在Y轴上的坐标值对所述二维曲线上坐标点加入Z轴坐标值,以构建所述三维坐标系XYZ中的三维曲线,其中,所述第二曲线上第n3个坐标点的Y坐标值为所述二维曲线上第n3个坐标点所加入的所述Z轴坐标值请参阅图7,图7是本发明实施例提供的XYZ三维坐标系上三维曲线示意图,需要说明的是,所述三维曲线在所述XOY平面坐标系上的投影为所述二维曲线。
可选地,所述第二曲线包括:
在XOY平面坐标系上确定n3个有序的坐标点P(n3),其中,所述n3个坐标点不在一条直线上,n3为大于2的整数;
将所述n3个有序的坐标点按顺序连接成第一曲线,计算所述第一曲线中所述n3个坐标点的切线;
根据所述n3个坐标点的切线计算所述第一曲线中所述n3个坐标点的曲率,P(n3)的切线表示为Pt(n3):
Pt(n3)=normalize(P(n3+1)-P(n3))
式中,normalize函数是向量归一化函数,用于将切线归一为单位向量;
P(n3)的曲率表示为Pc(n3):
cross(Pt(n3),Pt(n3+1))≥0时,Pc(n3)=angle(Pt(n3),Pt(n3+1))
cross(Pt(n3),Pt(n3+1))<0时,Pc(n3)=-angle(Pt(n3),Pt(n3+1))
式中,angle函数计算切线的夹角,cross函数计算切线的方向;
通过高斯函数平滑所述n3个坐标点的曲率Pc(n3),得到所述第二曲线:
式中,Pgw(n3)为高斯平滑权重,a为可调节系数,Pc'(n3)为平滑后的曲率,b为可调节系数,平滑后的曲率Pc'(n3)对应的曲线为所述第二曲线。需要说明的是上述的曲线平滑方法不限于高斯函数平滑算法,可以是改进的高斯函数平滑算法、线性跌代法、分段三次多项式插值法(又称五点法)、二次多项式加权平均法、张力样条函数法等,此处不做限定。
可选地,第二曲线包括:
调用数据库中的第二数据集合构建所述第二曲线,所述第二数据集合包括n3个XOY平面坐标系中的二维坐标点中的锚点坐标和锚点左右切线,所述n3个二维坐标点中的锚点坐标和锚点左右切线构成的曲线为平滑曲线,其中n3为大于2的整数。需要说明的是,第二数据集合可以是开发人员根据数据使用频率,将使用频率高的数据存储下来构成的第二数据集合,也可以是用户在使用过程中将使用过的数据保存下来构成的第二数据集合。如果用户需要的第二曲线在数据库中存有数据,便可以直接调用,可以省去计算曲率、平滑曲线等步骤,可以提高效率,提升用户体验。
步骤S103、以所述三维曲线为中心轴线,并向所述三维曲线上的任意一点的法线正、负方向拓展所述三维曲线的宽度,生成三维道路模型。
具体地,将上述步骤S102中构建的三维曲线向法线正、负方向拓展宽度来生成三维道路模型,可以是对三维曲线上的每一个点拓展不同的宽度,也可以拓展相同的宽度,也可以是对一段三维曲线向指定点的法线正、负方向拓展相同的方向,指定点可以是所述三维曲线上的第一个点、也可以是最后一个点,还可以是根据需求在三维曲线上选定的任意一个点。
在一种可能的实现方式中,所述以所述三维曲线为中心轴线,并向所述三维曲线上的任一点的法线正、负方向拓展所述三维曲线的宽度,生成三维道路模型具体包括:确定一个XOY平面坐标系中的第三曲线,所述第三曲线上的第n4个坐标点与所述三维曲线上的第n4个坐标点在X轴上的坐标值相同,其中,n4为自然数,请参阅图8,图8是本发明实施例提供的XOY平面坐标系上第三曲线示意图,需要说明的是,所述第三曲线可以是任意形状的曲线,不限于图8中的曲线形状;
利用所述第三曲线在Y轴上的坐标值对所述三维曲线上的任一点的法线正、负方向拓展所述三维曲线的宽度,生成三维道路模型,其中,所述三维曲线上第n4个坐标点处的宽度值由所述高度曲线上第n4个坐标点的Y坐标值确定,请参阅图9,图9是本发明实施例提供的XYZ三维坐标系上三维道路模型示意图。
可选地,所述第三曲线包括:
在XOY平面坐标系上确定n4个有序的坐标点P(n4),其中,所述n4个坐标点不在一条直线上,n4为大于2的整数;
将所述n4个有序的坐标点按顺序连接成第一曲线,计算所述第一曲线中所述n4个坐标点的切线;
根据所述n4个坐标点的切线计算所述第一曲线中所述n4个坐标点的曲率,P(n4)的切线表示为Pt(n4):
Pt(n4)=normalize(P(n4+1)-P(n4))
式中,normalize函数是向量归一化函数,用于将切线归一为单位向量;
P(n4)的曲率表示为Pc(n4):
cross(Pt(n4),Pt(n4+1))≥0时,Pc(n4)=angle(Pt(n4),Pt(n4+1))
cross(Pt(n4),Pt(n4+1))<0时,Pc(n4)=-angle(Pt(n4),Pt(n4+1))
式中,angle函数计算切线的夹角,cross函数计算切线的方向;
通过高斯函数平滑所述n4个坐标点的曲率Pc(n4),得到所述第二曲线:
式中,Pgw(n4)为高斯平滑权重,a为可调节系数,Pc'(n4)为平滑后的曲率,b为可调节系数,平滑后的曲率Pc'(n4)对应的曲线为所述第三曲线。需要说明的是上述的曲线平滑方法不限于高斯函数平滑算法,可以是改进的高斯函数平滑算法、线性跌代法、分段三次多项式插值法(又称五点法)、二次多项式加权平均法、张力样条函数法等,此处不做限定。
可选地,第三曲线包括:
调用数据库中的第三数据集合构建所述第三曲线,所述第三数据集合包括n4个XOY平面坐标系中的二维坐标点中的锚点坐标和锚点左右切线,所述n4个二维坐标点中的锚点坐标和锚点左右切线构成的曲线为平滑曲线,其中n4为大于2的整数。需要说明的是,第三数据集合可以是开发人员根据数据使用频率,将使用频率高的数据存储下来构成的第二数据集合,也可以是用户在使用过程中将使用过的数据保存下来构成的第三数据集合。如果用户需要的第三曲线在数据库中存有数据,便可以直接调用,可以省去计算曲率、平滑曲线等步骤,可以提高效率,提升用户体验。
可选地,所述以所述三维曲线为中心轴线,并向所述三维曲线上的任一点的法线正、负方向拓展所述三维曲线的宽度,生成三维道路模型还包括:将生成的多个所述三维道路模型进行首尾拼接,并将相邻的三维道路模型对接的部分平滑至水平面,构成相邻的三维道路模型。
在一种可能的实现方式中,所述将相邻的三维道路模型对接的部分平滑至水平面具体包括:将前一个三维模型最后一个点的相邻点的高度改变为和最后一个点的高度一致,以使前一个三维模型的结尾切线保持在水平面上;将后一个三维模型第一个点的相邻点的高度改变为和第一个点的高度一致,以使后一个三维模型的开头方向保持在水平面上。在水平面上进行拼接,可以避免拼接好的相邻的三维道路模型方向不一致,从而避免了方向偏移累加形成类似过山车道路的情况。
通过本发明实施例,当所用到的模型长、宽、高中任意一处需要改变的时候,不需要对模型中长、宽、高三处同时进行调节,也不需要重新绘制模型,只需要对二维曲线、宽、高一处进行调节,可复用性高,效率高。本实施例中提供的道路建模方法可以通过绘制二维曲线加入高度参数和宽度参数来构建三维的道路模型,不需要对三维模型中的大量的点、线、面分别进行绘制与设置,操作简单,提升用户体验。
如图10示出的本发明实施例提供的道路建模装置的结构示意图,道路建模装置可以包括:构建单元100、加入单元102和生成单元104,其中
构建单元100,用于构建二维曲线,所述二维曲线为三维坐标系XYZ中XOY平面坐标系中的曲线;
加入单元102,用于将所述二维曲线上每一个二维坐标点加入Z轴坐标值构建三维坐标系XYZ中的三维曲线;
生成单元104,用于以所述三维曲线为中心轴线,并向所述三维曲线上的任意一点的法线正、负方向拓展所述三维曲线的宽度,生成三维道路模型。
可选地,构建单元100,具体用于在XOY平面坐标系上确定n1个有序的坐标点P(n1),其中,所述n1个坐标点不在一条直线上,n1为大于2的整数;将所述n1个有序的坐标点按顺序连接成第一曲线,计算所述第一曲线中所述n1个坐标点的切线,根据所述n1个坐标点的切线计算所述第一曲线中所述n1个坐标点的曲率,P(n1)的切线表示为Pt(n1):
Pt(n1)=normalize(P(n1+1)-P(n1))
式中,normalize函数是向量归一化函数,用于将切线归一为单位向量;
P(n1)的曲率表示为Pc(n1):
cross(Pt(n1),Pt(n1+1))≥0时,Pc(n1)=angle(Pt(n1),Pt(n1+1))
cross(Pt(n1),Pt(n1+1))<0时,Pc(n1)=-angle(Pt(n1),Pt(n1+1))
式中,angle函数计算切线的夹角,cross函数计算切线的方向;
通过高斯函数平滑所述n1个坐标点的曲率Pc(n1),得到所述二维曲线:
式中,Pgw(n1)为高斯平滑权重,a为可调节系数,Pc'(n1)为平滑后的曲率,b为可调节系数。
可选地,构建单元100,还可以用于调用数据库中的第一数据集合构建所述二维曲线,所述第一数据集合包括n2个XOY平面坐标系中的二维坐标点,所述n2个二维坐标点构成的曲线为平滑曲线,其中n2为大于2的整数。
可选地,加入单元102,具体可以用于确定一个XOY平面坐标系中的第二曲线,所述第二曲线上的第n3个坐标点与所述二维曲线上的第n3个坐标点在X轴上的坐标值相同,其中,n3为自然数;利用所述第二曲线在Y轴上的坐标值对所述二维曲线上坐标点加入Z轴坐标值,以构建所述三维坐标系XYZ中的三维曲线。
在XOY平面坐标系上确定n3个有序的坐标点P(n3),其中,所述n3个坐标点不在一条直线上,n3为大于2的整数。
将所述n3个有序的坐标点按顺序连接成第一曲线,计算所述第一曲线中所述n3个坐标点的切线;根据所述n3个坐标点的切线计算所述第一曲线中所述n3个坐标点的曲率,P(n3)的切线表示为Pt(n3):
Pt(n3)=normalize(P(n3+1)-P(n3))
式中,normalize函数是向量归一化函数,用于将切线归一为单位向量;
P(n3)的曲率表示为Pc(n3):
cross(Pt(n3),Pt(n3+1))≥0时,Pc(n3)=angle(Pt(n3),Pt(n3+1))
cross(Pt(n3),Pt(n3+1))<0时,Pc(n3)=-angle(Pt(n3),Pt(n3+1))
式中,angle函数计算切线的夹角,cross函数计算切线的方向;
通过高斯函数平滑所述n3个坐标点的曲率Pc(n3),得到所述第二曲线:
式中,Pgw(n3)为高斯平滑权重,a为可调节系数,Pc'(n3)为平滑后的曲率,b为可调节系数。
可选地,加入单元102,还可以用于调用数据库中的第二数据集合构建所述第二曲线,所述第二数据集合包括n3个XOY平面坐标系中的二维坐标点中的锚点坐标和锚点左右切线,所述n3个二维坐标点中的锚点坐标和锚点左右切线构成的曲线为平滑曲线,其中n3为大于2的整数。
可选地,生成单元104,可以用于确定一个XOY平面坐标系中的第三曲线,所述第三曲线上的第n4个坐标点与所述三维曲线上的第n4个坐标点在X轴上的坐标值相同,其中,n4为自然数。
利用所述第三曲线在Y轴上的坐标值对所述三维曲线上的任一点的法线正、负方向拓展所述三维曲线的宽度,生成三维道路模型。
在XOY平面坐标系上确定n4个有序的坐标点P(n4),其中,所述n4个坐标点不在一条直线上,n4为大于2的整数;
将所述n4个有序的坐标点按顺序连接成第一曲线,计算所述第一曲线中所述n4个坐标点的切线;根据所述n4个坐标点的切线计算所述第一曲线中所述n4个坐标点的曲率,P(n4)的切线表示为Pt(n4):
Pt(n4)=normalize(P(n4+1)-P(n4))
式中,normalize函数是向量归一化函数,用于将切线归一为单位向量;
P(n4)的曲率表示为Pc(n4):
cross(Pt(n4),Pt(n4+1))≥0时,Pc(n4)=angle(Pt(n4),Pt(n4+1))
cross(Pt(n4),Pt(n4+1))<0时,Pc(n4)=-angle(Pt(n4),Pt(n4+1))
式中,angle函数计算切线的夹角,cross函数计算切线的方向;
通过高斯函数平滑所述n4个坐标点的曲率Pc(n4),得到所述第二曲线:
式中,Pgw(n4)为高斯平滑权重,a为可调节系数,Pc'(n4)为平滑后的曲率,b为可调节系数。
可选地,生成单元104,还可以用于调用数据库中的第三数据集合构建所述第三曲线,所述第三数据集合包括n4个XOY平面坐标系中的二维坐标点中的锚点坐标和锚点左右切线,所述n4个二维坐标点中的锚点坐标和锚点左右切线构成的曲线为平滑曲线,其中n4为大于2的整数。
可选地,生成单元104,还可以用于将生成的多个所述三维道路模型进行首尾拼接,并将相邻的三维道路模型对接的部分平滑至水平面,构成相邻的三维道路模型。
将前一个三维模型最后一个点的相邻点的高度改变为和最后一个点的高度一致,以使前一个三维模型的结尾切线保持在水平面上;将后一个三维模型第一个点的相邻点的高度改变为和第一个点的高度一致,以使后一个三维模型的开头方向保持在水平面上。
需要说明的是,本发明实施例中的道路建模装置10为上述图1至图9实施例中的道路建模装置,该道路建模装置10中各模块的功能可对应参考上述各方法实施例中图1至图9实施例的具体实现方式,这里不再赘述。
为了便于更好地实施本发明实施例的上述方案,本发明还对应提供了一种道路建模设备,下面结合附图来进行详细说明:
如图11示出的本发明实施例提供的道路建模设备的结构示意图,道路建模设备110可以包括处理器1101、输入单元1102、输出单元1103、存储器1104和通信单元1105,处理器1101、输入单元1102、输出单元1103、存储器1104和通信单元1105可以通过总线1106相互连接。存储器1104可以是高速RAM存储器,也可以是非易失性的存储器(non-volatilememory),例如至少一个磁盘存储器。存储器1104可选的还可以是至少一个位于远离前述处理器1101的存储***。存储器1104用于存储应用程序代码,可以包括操作***、网络通信模块、用户接口模块以及道路建模程序,通信单元1105用于与外部单元进行信息交互;处理器1101被配置用于调用所述程序代码,执行以下步骤:
通过输入单元1102输入在XOY平面坐标系上n1个有序的坐标点P(n1),将所述n1个有序的坐标点按顺序连接成第一曲线;
再通过处理器1101计算所述第一曲线中所述n1个坐标点的切线,根据所述n1个坐标点的切线计算所述第一曲线中所述n1个坐标点的曲率,通过高斯函数平滑所述n1个坐标点的曲率Pc(n1),得到所述二维曲线;所述二维曲线为三维坐标系XYZ中XOY平面坐标系中的曲线;
所述二维曲线上每一个二维坐标点加入Z轴坐标值构建三维坐标系XYZ中的三维曲线;
用于以所述三维曲线为中心轴线,并向所述三维曲线上的任意一点的法线正、负方向拓展所述三维曲线的宽度,生成三维道路模型。
需要说明的是,本发明实施例中的道路建模设备110为上述图1至图9实施例中的道路建模设备,具体可对应参考上述各方法实施例中图1至图9实施例的具体实现方式,这里不再赘述。上述针对道路建模设备110的结构仅为本发明实施例提供的一个例子,并且,道路建模设备110可具有比示出的部件更多或更少的部件,可以组合两个或更多个部件,或者可具有部件的不同配置实现。
实施本发明实施例,利用构建的二维曲线加入高度,拓展宽度能够构建道路模型,操作简单,建模效率高,当所用到的模型长、宽、高中任意一处不合适时,只需要对二维曲线、宽、高一处进行调节,可复用性高。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
Claims (10)
1.一种道路建模方法,其特征在于,包括:
构建二维曲线,所述二维曲线为三维坐标系XYZ中XOY平面坐标系中的曲线;
将所述二维曲线上每一个二维坐标点加入Z轴坐标值构建三维坐标系XYZ中的三维曲线;
以所述三维曲线为中心轴线,并向所述三维曲线上的任意一点的法线正、负方向拓展所述三维曲线的宽度,生成三维道路模型。
2.根据权利要求1所述的方法,其特征在于,所述构建二维曲线包括:
在XOY平面坐标系上确定n1个有序的坐标点P(n1),其中,所述n1个坐标点不在一条直线上,n1为大于2的整数;
将所述n1个有序的坐标点按顺序连接成第一曲线,计算所述第一曲线中所述n1个坐标点的切线;
根据所述n1个坐标点的切线计算所述第一曲线中所述n1个坐标点的曲率;
通过高斯函数平滑所述n1个坐标点的曲率,得到所述二维曲线。
3.根据权利要求1所述的方法,其特征在于,所述构建二维曲线包括:
调用数据库中的第一数据集合构建所述二维曲线,所述第一数据集合包括n2个XOY平面坐标系中的二维坐标点,所述n2个二维坐标点构成的曲线为平滑曲线,其中n2为大于2的整数。
4.根据权利要求1所述的方法,其特征在于,所述将所述二维曲线上每一个二维坐标点加入Z轴坐标值构建三维坐标系XYZ中的三维曲线,包括:
确定一个XOY平面坐标系中的第二曲线,所述第二曲线上的第n3个坐标点与所述二维曲线上的第n3个坐标点在X轴上的坐标值相同,其中,n3为自然数;
利用所述第二曲线在Y轴上的坐标值对所述二维曲线上坐标点加入Z轴坐标值,以构建所述三维坐标系XYZ中的三维曲线,其中,所述第二曲线上第n3个坐标点的Y坐标值为所述二维曲线上第n3个坐标点所加入的所述Z轴坐标值。
5.根据权利要求1所述的方法,其特征在于,所述以所述三维曲线为中心轴线,并向所述三维曲线上的任一点的法线正、负方向拓展所述三维曲线的宽度,生成三维道路模型,包括:
确定一个XOY平面坐标系中的第三曲线,所述第三曲线上的第n4个坐标点与所述三维曲线上的第n4个坐标点在X轴上的坐标值相同,其中,n4为自然数;
利用所述第三曲线在Y轴上的坐标值对所述三维曲线上的任一点的法线正、负方向拓展所述三维曲线的宽度,生成三维道路模型,其中,所述三维曲线上第n4个坐标点处的宽度值由所述高度曲线上第n4个坐标点的Y坐标值确定。
6.如权利要求1所述的方法,其特征在于,所述方法还包括:
将生成的多个所述三维道路模型进行首尾拼接,并将相邻的三维道路模型对接的部分平滑至水平面,构成相邻的三维道路模型。
7.如权利要求6所述的方法,其特征在于,所述将相邻的三维道路模型对接的部分平滑至水平面包括:
将前一个三维模型最后一个点的相邻点的高度改变为和最后一个点的高度一致,以使前一个三维模型的结尾切线保持在水平面上;
将后一个三维模型第一个点的相邻点的高度改变为和第一个点的高度一致,以使后一个三维模型的开头方向保持在水平面上。
8.一种道路建模装置,其特征在于,包括用于执行如权利要求1-7任一项所述的方法的单元。
9.一种道路建模设备,其特征在于,包括处理器、输入设备、输出设备和存储器,所述处理器、输入设备、输出设备和存储器相互连接,其中,所述存储器用于存储应用程序代码,所述处理器被配置用于调用所述程序代码,执行如权利要求1-7任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行如权利要求1-7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811102002.6A CN109360266A (zh) | 2018-09-20 | 2018-09-20 | 一种道路建模方法、相关装置和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811102002.6A CN109360266A (zh) | 2018-09-20 | 2018-09-20 | 一种道路建模方法、相关装置和设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109360266A true CN109360266A (zh) | 2019-02-19 |
Family
ID=65351111
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811102002.6A Pending CN109360266A (zh) | 2018-09-20 | 2018-09-20 | 一种道路建模方法、相关装置和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109360266A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110689598A (zh) * | 2019-04-08 | 2020-01-14 | 北京嘀嘀无限科技发展有限公司 | 一种多层道路三维建模方法及*** |
CN111063035A (zh) * | 2019-11-22 | 2020-04-24 | 同济大学 | 一种gis中od关系的三维可视化方法及装置 |
CN113144595A (zh) * | 2021-04-23 | 2021-07-23 | 腾讯科技(深圳)有限公司 | 虚拟道路的生成方法、装置、终端及存储介质 |
CN114863025A (zh) * | 2022-05-18 | 2022-08-05 | 禾多科技(北京)有限公司 | 三维车道线生成方法、装置、电子设备和计算机可读介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1617174A (zh) * | 2004-12-09 | 2005-05-18 | 上海交通大学 | 基于图像轮廓的人肢体三维建模方法 |
US20080049046A1 (en) * | 2006-05-04 | 2008-02-28 | Inus Technology, Inc. | Method for detecting two dimensional sketch data from source model data for three dimensional reverse modeling |
CN106503345A (zh) * | 2016-10-25 | 2017-03-15 | 浙江理工大学 | 一种蓝印花布纹样设计方法 |
-
2018
- 2018-09-20 CN CN201811102002.6A patent/CN109360266A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1617174A (zh) * | 2004-12-09 | 2005-05-18 | 上海交通大学 | 基于图像轮廓的人肢体三维建模方法 |
US20080049046A1 (en) * | 2006-05-04 | 2008-02-28 | Inus Technology, Inc. | Method for detecting two dimensional sketch data from source model data for three dimensional reverse modeling |
CN106503345A (zh) * | 2016-10-25 | 2017-03-15 | 浙江理工大学 | 一种蓝印花布纹样设计方法 |
Non-Patent Citations (1)
Title |
---|
顾平;许家英;: "基于3DS MAX软件平台织物结构的三维模拟", 丝绸, no. 11, pages 41 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110689598A (zh) * | 2019-04-08 | 2020-01-14 | 北京嘀嘀无限科技发展有限公司 | 一种多层道路三维建模方法及*** |
CN110689598B (zh) * | 2019-04-08 | 2020-10-02 | 滴图(北京)科技有限公司 | 一种多层道路三维建模方法及*** |
CN111063035A (zh) * | 2019-11-22 | 2020-04-24 | 同济大学 | 一种gis中od关系的三维可视化方法及装置 |
CN111063035B (zh) * | 2019-11-22 | 2021-09-03 | 同济大学 | 一种gis中od关系的三维可视化方法及装置 |
CN113144595A (zh) * | 2021-04-23 | 2021-07-23 | 腾讯科技(深圳)有限公司 | 虚拟道路的生成方法、装置、终端及存储介质 |
CN113144595B (zh) * | 2021-04-23 | 2022-07-26 | 腾讯科技(深圳)有限公司 | 虚拟道路的生成方法、装置、终端及存储介质 |
CN114863025A (zh) * | 2022-05-18 | 2022-08-05 | 禾多科技(北京)有限公司 | 三维车道线生成方法、装置、电子设备和计算机可读介质 |
CN114863025B (zh) * | 2022-05-18 | 2023-03-10 | 禾多科技(北京)有限公司 | 三维车道线生成方法、装置、电子设备和计算机可读介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109360266A (zh) | 一种道路建模方法、相关装置和设备 | |
Müller et al. | Fast Simulation of Inextensible Hair and Fur. | |
Iben et al. | Generating surface crack patterns | |
Fang et al. | Guaranteed globally injective 3D deformation processing | |
US8538737B2 (en) | Curve editing with physical simulation of mass points and spring forces | |
CN104239601A (zh) | 织物片组合的仿真 | |
CN104360896A (zh) | 一种基于gpu集群的并行流体仿真加速方法 | |
CN113827965B (zh) | 游戏场景中样条线的渲染方法、装置及设备 | |
CN111862291B (zh) | 水系的烘焙方法及装置、存储介质、电子装置 | |
CN108379841B (zh) | 游戏特效的处理方法、装置和终端 | |
CN109697748A (zh) | 模型压缩处理方法、模型贴图处理方法装置、存储介质 | |
CN103218852A (zh) | 一种面向蒙皮动画的基于网格收缩的三维网格模型骨架提取***及骨架提取方法 | |
JP2002520750A (ja) | 非正則パッチの細分化行列の固有空間におけるパラメータ化された曲面の数値計算方法 | |
CN106327566B (zh) | 虚拟现实三维道路的生成方法 | |
CN111915710A (zh) | 基于实时渲染技术的建筑渲染方法 | |
CN106919584B (zh) | 一种拓扑图的布局方法及装置 | |
EP2413288A2 (en) | Collison free construction of animated feathers | |
Golubev et al. | Dijkstra-based terrain generation using advanced weight functions | |
Nuić et al. | Algorithms for procedural generation and display of trees | |
CN108694300A (zh) | 一种有限元子模型自动生成的方法 | |
CN111862324B (zh) | 水系的烘焙方法及装置、存储介质、电子装置 | |
US10902675B2 (en) | Graphical modelling by smoothing polyhedral meshes with multi-sided patches | |
CN107818591A (zh) | 一种虚拟现实三维模型的融合建模方法及*** | |
Merrell et al. | Constraint-based model synthesis | |
CN109214726B (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 |