一种三维道路快速建模及其动态仿真渲染方法和系统转让专利

申请号 : CN201610146579.1

文献号 : CN105825542B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 梁松姚增利

申请人 : 北京图安世纪科技股份有限公司梁松姚增利

摘要 :

本发明公开了一种三维道路快速建模及其动态仿真渲染方法和系统,其中,该方法包括:根据预设的地图面板,确定所述地图面板中道路的中心线,所述中心线为分割所述道路的上行路和下行路的一条线;根据预设的道路横断面,在所述道路上设置不同道路横断面的开始位置和结束位置;根据道路的地形起伏信息调整道路在不同路段的高低值,并设置所述道路的样式;根据实际需求设置不同的道路横断面之间的过渡方式和道路规划信息;根据所述中心线、所述不同道路横断面的开始位置和结束位置、所述高低值、道路的样式、所述过渡方式和道路规划信息构建道路网格模型。

权利要求 :

1.一种三维道路快速建模及其动态仿真渲染方法,其特征在于,包括:根据预设的地图面板,确定所述地图面板中道路的中心线,所述中心线为分割所述道路的上行路和下行路的一条线;

根据预设的道路横断面,在所述道路上设置不同道路横断面的开始位置和结束位置;

根据道路的地形起伏信息调整道路在不同路段的高低值,并设置所述道路的样式;

根据实际需求设置不同的道路横断面之间的过渡方式和道路规划信息;

根据所述中心线、所述不同道路横断面的开始位置和结束位置、所述高低值、道路的样式、所述过渡方式和道路规划信息构建道路网格模型;将所述道路网格模型渲染到纹理中,并记录所述道路的高度值;

渲染三维地形高程数据,根据道路在纹理中的二维位置计算出该道路在当前三维地形中的位置,并根据所述道路网格模型的高程值动态修改地形高程值;

再次渲染所述道路网格模型,并记录道路在所述纹理中的深度值和模板值;以及再次渲染所述三维地形高程数据,并根据所述道路的深度值和模板值进行过滤。

2.根据权利要求1所述的方法,其特征在于,所述深度值为道路距离当前视角的距离,所述模板值为道路投影到屏幕上的位置,所述根据所述道路的深度值和模板值进行过滤包括:仅渲染离视角之间的距离比道路离视角之间的距离近,且投影在屏幕上的位置和道路投影在屏幕上的位置相同的地形,以弥补道路边缘的裂缝,使得道路和地形起伏信息无缝连接。

3.根据权利要求1-2任意一项所述的方法,其特征在于,所述道路横断面包括:边坡、路牙、盲道、人行道、行车道、隔离栏、实线和/或虚线。

4.根据权利要求1-2任意一项所述的方法,其特征在于,所述道路规划信息包括:道路交叉口、人行道、交叉口轨迹、信号灯、交叉口长度、停车位置和/或行人排队长度。

5.一种三维道路快速建模及其动态仿真渲染系统,其特征在于,包括:道路中心确定模块,用于根据预设的地图面板,确定所述地图面板中道路的中心线,所述中心线为分割所述道路的上行路和下行路的一条线;

道路横断设置模块,用于根据预设的道路横断面,在所述道路上设置不同道路横断面的开始位置和结束位置;

调整道路设置模块,用于根据道路的地形起伏信息调整道路在不同路段的高低值,并设置所述道路的样式;

过渡规划设置模块,用于根据实际需求设置不同的道路横断面之间的过渡方式和道路规划信息;

道路模型构建模块,用于根据所述中心线、所述不同道路横断面的开始位置和结束位置、所述高低值、道路的样式、所述过渡方式和道路规划信息构建道路网格模型;

模型首次渲染模块,用于将所述道路网格模型渲染到纹理中,并记录所述道路的高度值;

地形首次渲染模块,用于渲染三维地形高程数据,根据道路在纹理中的二维位置计算出该道路在当前三维地形中的位置,并根据所述道路网格模型的高程值动态修改地形高程值;

模型再次渲染模块,用于再次渲染所述道路网格模型,并记录道路在所述纹理中的深度值和模板值;以及地形再次渲染模块,用于再次渲染所述三维地形高程数据,并根据所述道路的深度值和模板值进行过滤。

6.根据权利要求5所述的系统,其特征在于,所述深度值为道路距离当前视角的距离,所述模板值为道路投影到屏幕上的位置,所述根据所述道路的深度值和模板值进行过滤包括:仅渲染离视角之间的距离比道路离视角之间的距离近,且投影在屏幕上的位置和道路投影在屏幕上的位置相同的地形,以弥补道路边缘的裂缝,使得道路和地形起伏信息无缝连接。

7.根据权利要求5-6任意一项所述的系统,其特征在于,所述道路横断面包括:边坡、路牙、盲道、人行道、行车道、隔离栏、实线和/或虚线。

8.根据权利要求5-6任意一项所述的系统,其特征在于,所述道路规划信息包括:道路交叉口、人行道、交叉口轨迹、信号灯、交叉口长度、停车位置和/或行人排队长度。

说明书 :

一种三维道路快速建模及其动态仿真渲染方法和系统

技术领域

[0001] 本发明涉及计算机应用技术领域,特别涉及一种三维道路快速建模及其动态仿真渲染方法和系统。

背景技术

[0002] 传统的道路建模方法都是使用外部工具,如3dMax等构建道路模型,然后放入三维系统中进行渲染,这种方式很难实现模型和三维地形无缝结合,及道路随地形的起伏变化,如填土、挖方、隧道、桥梁等。有的系统提前设计好多种道路样式,如单行道、双行道等,按照道路轨迹统一建模,这种方式无法满足道路的多样性和变化性,和现实道路差别太大。
[0003] 针对有高低起伏的地形,一些系统提前根据道路编辑地形,然后把道路铺在地形上,这种方式无法实现高效动态的调整道路位置及样式,很难实现规划设计的变化性。
[0004] 目前构建多样的三维道路模型主要还停留在人工建模,由建模人员根据CAD中的道路样式,使用3Dmax工具构建模型,这种方法构建的模型虽然精细,但耗时费力。在调整地形高低值方面,传统方法都是根据道路的高低值人工调整地形的高低值,一旦道路位置或样式改变,则需要重新人工调整,费时费力。
[0005] 公开于该背景技术部分的信息仅仅旨在增加对本发明的总体背景的理解,而不应当被视为承认或以任何形式暗示该信息构成已为本领域一般技术人员所公知的现有技术。

发明内容

[0006] 本发明的目的在于提供一种三维道路快速建模及其动态仿真渲染方法和系统,从而克服现有技术的道路建模方法无法实现高效动态的调整道路位置及样式,难以实现规划设计的变化性的缺点。
[0007] 本发明的另一目的在于提供一种能够随地形进行动态仿真渲染的方法。
[0008] 为实现上述目的,本发明提供了一种三维道路快速建模及其动态仿真渲染方法,包括:
[0009] 根据预设的地图面板,确定所述地图面板中道路的中心线,所述中心线为分割所述道路的上行路和下行路的一条线;
[0010] 根据预设的道路横断面,在所述道路上设置不同道路横断面的开始位置和结束位置;
[0011] 根据道路的地形起伏信息调整道路在不同路段的高低值,并设置所述道路的样式;
[0012] 根据实际需求设置不同的道路横断面之间的过渡方式和道路规划信息;
[0013] 根据所述中心线、所述不同道路横断面的开始位置和结束位置、所述高低值、道路的样式、所述过渡方式和道路规划信息构建道路网格模型。
[0014] 优选地,上述技术方案中,还包括:
[0015] 将所述道路网格模型渲染到纹理中,并记录所述道路的高度值;
[0016] 渲染三维地形高程数据,根据道路在纹理中的二维位置计算出该道路在当前三维地形中的位置,并根据所述道路网格模型的高程值动态修改地形高程值;
[0017] 再次渲染所述道路网格模型,并记录道路在所述纹理中的深度值和模板值;
[0018] 再次渲染所述三维地形高程数据,并根据所述道路的深度值和模板值进行过滤。
[0019] 优选地,上述技术方案中,所述深度值为道路距离当前视角的距离,所述模板值为道路投影到屏幕上的位置;
[0020] 所述根据所述道路的深度值和模板值进行过滤包括:
[0021] 仅渲染离视角之间的距离比道路离视角之间的距离近,且投影在屏幕上的位置和道路投影在屏幕上的位置相同的地形,以弥补道路边缘的裂缝,使得道路和地形起伏信息无缝连接。
[0022] 优选地,上述技术方案中,所述道路横断面包括:边坡、路牙、盲道、人行道、行车道、隔离栏、实线和/或虚线。
[0023] 优选地,上述技术方案中,所述道路规划信息包括:道路交叉口、人行道、交叉口轨迹、信号灯、交叉口长度、停车位置和/或行人排队长度。
[0024] 本发明还提供了一种三维道路快速建模及其动态仿真渲染系统,包括:
[0025] 道路中心确定模块,用于根据预设的地图面板,确定所述地图面板中道路的中心线,所述中心线为分割所述道路的上行路和下行路的一条线;
[0026] 道路横断设置模块,用于根据预设的道路横断面,在所述道路上设置不同道路横断面的开始位置和结束位置;
[0027] 调整道路设置模块,用于根据道路的地形起伏信息调整道路在不同路段的高低值,并设置所述道路的样式;
[0028] 过渡规划设置模块,用于根据实际需求设置不同的道路横断面之间的过渡方式和道路规划信息;
[0029] 道路模型构建模块,用于根据所述中心线、所述不同道路横断面的开始位置和结束位置、所述高低值、道路的样式、所述过渡方式和道路规划信息构建道路网格模型。
[0030] 优选地,上述技术方案中,还包括:
[0031] 模型首次渲染模块,用于将所述道路网格模型渲染到纹理中,并记录所述道路的高度值;
[0032] 地形首次渲染模块,用于渲染三维地形高程数据,根据道路在纹理中的二维位置计算出该道路在当前三维地形中的位置,并根据所述道路网格模型的高程值动态修改地形高程值;
[0033] 模型再次渲染模块,用于再次渲染所述道路网格模型,并记录道路在所述纹理中的深度值和模板值;
[0034] 地形再次渲染模块,用于再次渲染所述三维地形高程数据,并根据所述道路的深度值和模板值进行过滤。
[0035] 优选地,上述技术方案中,所述深度值为道路距离当前视角的距离,所述模板值为道路投影到屏幕上的位置;
[0036] 所述根据所述道路的深度值和模板值进行过滤包括:
[0037] 仅渲染离视角之间的距离比道路离视角之间的距离近,且投影在屏幕上的位置和道路投影在屏幕上的位置相同的地形,以弥补道路边缘的裂缝,使得道路和地形起伏信息无缝连接。
[0038] 优选地,上述技术方案中,所述道路横断面包括:边坡、路牙、盲道、人行道、行车道、隔离栏、实线和/或虚线。
[0039] 优选地,上述技术方案中,所述道路规划信息包括:道路交叉口、人行道、交叉口轨迹、信号灯、交叉口长度、停车位置和/或行人排队长度。
[0040] 与现有技术相比,本发明具有如下有益效果:根据CAD读取道路的中心线,编辑道路横断面、道路纵断面、道路交叉口、道路渐变方式等,能够快速高效逼真的构建出当前或规划的道路模型。并为在高低起伏的地形上实现动态仿真渲染提供了基础。该方法能快速逼真的构建出当前或规划的道路样式,解决了提前建模,提前修改地形,无法动态根据地形调整道路等问题。使用渲染道路到纹理的技术,经过两次渲染道路和地形,在不需要修改地形文件的情况下,动态调整地形的高度值,使道路和高低起伏的地形无缝连接到一起。该方法能够实现道路随地形的起伏变化,如填土、挖方、隧道、桥梁等动态仿真渲染,实现了道路模型和高低起伏地形的无缝连接,逼真的仿真出不同地形地貌下的道路。

附图说明

[0041] 图1为本发明的一种三维道路快速建模及其动态仿真渲染方法的流程示意图;
[0042] 图2为本发明的另一种三维道路快速建模及其动态仿真渲染方法的流程示意图;
[0043] 图3为本发明的一种三维道路快速建模及其动态仿真渲染系统的结构示意图。

具体实施方式

[0044] 下面结合附图,对本发明的具体实施方式进行详细描述,但应当理解本发明的保护范围并不受具体实施方式的限制。
[0045] 除非另有其它明确表示,否则在整个说明书和权利要求书中,术语“包括”或其变换如“包含”或“包括有”等等将被理解为包括所陈述的元件或组成部分,而并未排除其它元件或其它组成部分。
[0046] 为了解决现有技术的道路建模方法无法实现高效动态的调整道路位置及样式,难以实现规划设计的变化性的技术问题,本发明提出了一种三维道路快速建模及其动态仿真渲染方法和系统。本发明的方法共分两个部分:一部分为快速构建道路网格模型;一部分为道路的动态仿真渲染,在三维场景中,根据地形高程的起伏变化,动态仿真渲染出构建的道路网格模型。
[0047] 本发明的方法自动读取CAD线路,通过构建各种样式的道路横断面,道路横断面是由边坡、路牙、盲道、人行道、行车道、隔离栏、实线、虚线等元素组成,通过设置使用某个道路横断面的开始位置和结束位置,设置不同的道路横断面之间的渐变样式,设置道路的高低值,根据道路的高低值采用挖方、填土、架桥,隧道等动态调整地形,生成道路模型并显示渲染。
[0048] 实施例一
[0049] 如图1所示,本发明的一种三维道路快速建模及其动态仿真渲染方法,包括以下步骤:
[0050] 步骤S101:根据预设的地图面板,确定所述地图面板中道路的中心线,所述中心线为分割所述道路的上行路和下行路的一条线;
[0051] 根据CAD或.shp文件或系统提供的地图面板,快速画出地图面板中道路的中心线(分割道路上行路和下行路的一条线)。
[0052] 步骤S102:根据预设的道路横断面,在所述道路上设置不同道路横断面的开始位置和结束位置;
[0053] 具体的,根据系统提供的道路横断面编辑工具,按照实际情况或规划的道路样式设计出多样式的道路横断面,道路横断面主要包括边坡、路牙、盲道、人行道、行车道、隔离栏、实线、虚线等道路上存在的组成部分,并在整条道路上设置使用某个道路横断面的开始位置和结束位置。
[0054] 步骤S103:根据道路的地形起伏信息调整道路在不同路段的高低值,并设置所述道路的样式;
[0055] 编辑道路的纵断面,根据地形起伏情况设计道路的纵断面,即编辑道路在不同路段的高低值,根据地形起伏自动调整道路的高低值,即根据实际情况调整道路的高低并设置道路的样式(包括桥梁、隧道、挖方、填土等);
[0056] 步骤S104:根据实际需求设置不同的道路横断面之间的过渡方式和道路规划信息;
[0057] 即编辑道路不同横断面之间的过渡方式,如道路由3车道渐变成2车道,渐变的长度、方式等等。
[0058] 道路规划信息包括:道路交叉口、人行道、交叉口轨迹、信号灯、交叉口长度、停车位置、行人排队长度等。
[0059] 步骤S105:根据所述中心线、所述不同道路横断面的开始位置和结束位置、所述高低值、道路的样式、所述过渡方式和道路规划信息构建道路网格模型。
[0060] 根据步骤S101-S104中获取的关于道路的各种数据,采用建模工具构建道路网格模型,形成.3ds文件。本领域技术人员应当了解,本发明实施例中所述的建模工具可以是任意一种能够进行道路网格模型建模的技术。
[0061] 本发明实施例提出的一种三维道路快速建模及其动态渲染方法,根据CAD读取道路的中心线,编辑道路横断面、道路纵断面、道路交叉口、道路渐变方式等,能够快速高效逼真的构建出当前或规划的道路模型。并为在高低起伏的地形上实现动态仿真渲染提供了基础。该方法能快速逼真的构建出当前或规划的道路样式,解决了提前建模,提前修改地形,无法动态根据地形调整道路等问题。
[0062] 实施例二
[0063] 如图2所示,本发明的另一种三维道路快速建模及其动态仿真渲染方法,即道路的动态仿真渲染。在三维场景中,地形像一张撒开的渔网,高低起伏变化不断,而道路的高低起伏相对比较平滑,如果直接把道路网格模型摆放在地形上显示,则会在道路上出现土堆或道路下面是大坑的情况,所以需要对地形进行挖方、填土等调整地形网格点的高低值操作,使之随道路平滑,步骤如下。如图2所示,该方法包括以下步骤:
[0064] 步骤S201:将所述道路网格模型渲染到纹理中,并记录所述道路的高度值;
[0065] 具体的,首先把视点设置到一定高度,例如以能45度夹角俯瞰整条道路最好,以此点渲染整条道路到一张图片中,并记录道路的高度值,注意,只渲染道路,不渲染地形。
[0066] 使用三维中把场景渲染到纹理的技术,将所述道路网格模型渲染到纹理中,首先把相机设置到三维场景中心点正上方,能俯瞰全景的位置,渲染道路模型到纹理中并记录道路距离相机的距离;
[0067] 步骤S202:渲染三维地形高程数据,根据道路在纹理中的二维位置计算出道路在当前三维地形中的位置,并根据所述道路网格模型的高程值动态修改地形高程值;
[0068] 具体的,以任意视角渲染地形,计算地形坐标点在道路图片中的相应位置是否有道路存在,如果存在则根据记录的道路值调整地形值,使之比道路值低一点,具体数值可以预先设定。
[0069] 渲染地形高程数据,并根据道路在纹理中的二维位置计算出该道路在当前三维地形中的位置,由道路模型中的网格高程值动态修改地形高程值,使之相等。
[0070] 步骤S203:再次渲染所述道路网格模型,并记录道路在所述纹理中的深度值和模板值;
[0071] 再次渲染道路网格模型,并记录道路在纹理中的深度值和模板值,因为道路纹理存在锯齿,会造成道路边缘有裂缝存在;
[0072] 由于图片大小有限,目前计算机支持的最大分辨率为8192*8192,则道路越长,计算地形和道路对应位置的误差越大,造成道路边缘有裂缝存在,此时应再次渲染道路模型,并记录道路距离当前视角的距离和道路投影到屏幕上的位置。
[0073] 步骤S204:再次渲染所述三维地形高程数据,并根据所述道路的深度值和模板值进行过滤。
[0074] 再次渲染三维地形高程数据,并根据道路的深度值和模板值过滤,使之只渲染存在裂缝的地方,这样就可以把道路和高低起伏的地形无缝连接到一起,实现动态仿真渲染;
[0075] 这次只渲染离视角距离比道路离视角距离近,且投影在屏幕上的位置和道路投影在屏幕上的位置相同的地形,这样就可以把道路边缘的裂缝补上,使道路和高低起伏的地形无缝连接到一起;
[0076] 本发明实施例的三维道路快速建模及其动态仿真渲染方法,使用渲染道路到纹理的技术,经过两次渲染道路和地形,在不需要修改地形文件的情况下,动态调整地形的高度值,使道路和高低起伏的地形无缝连接到一起。该方法能够实现道路随地形的起伏变化,如填土、挖方、隧道、桥梁等动态仿真渲染,实现了道路模型和高低起伏地形的无缝连接,逼真的仿真出不同地形地貌下的道路。
[0077] 实施例三
[0078] 如图3所示,本发明的一种三维道路快速建模及其动态仿真渲染系统,包括:
[0079] 道路中心确定模块31,用于根据预设的地图面板,确定所述地图面板中道路的中心线,所述中心线为分割所述道路的上行路和下行路的一条线;
[0080] 道路横断设置模块32,用于根据预设的道路横断面,在所述道路上设置不同道路横断面的开始位置和结束位置;
[0081] 调整道路设置模块33,用于根据道路的地形起伏信息调整道路在不同路段的高低值,并设置所述道路的样式;
[0082] 过渡规划设置模块34,用于根据实际需求设置不同的道路横断面之间的过渡方式和道路规划信息;
[0083] 道路模型构建模块35,用于根据所述中心线、所述不同道路横断面的开始位置和结束位置、所述高低值、道路的样式、所述过渡方式和道路规划信息构建道路网格模型。
[0084] 优选的,还包括:
[0085] 模型首次渲染模块36,用于将所述道路网格模型渲染到纹理中,并记录所述道路的高度值;
[0086] 地形首次渲染模块37,用于渲染三维地形高程数据,根据道路在纹理中的二维位置计算出该道路在当前三维地形中的位置,并根据所述道路网格模型的高程值动态修改地形高程值;
[0087] 模型再次渲染模块38,用于再次渲染所述道路网格模型,并记录道路在所述纹理中的深度值和模板值;
[0088] 地形再次渲染模块39,用于再次渲染所述三维地形高程数据,并根据所述道路的深度值和模板值进行过滤。
[0089] 优选的,所述深度值为道路距离当前视角的距离,所述模板值为道路投影到屏幕上的位置;
[0090] 所述根据所述道路的深度值和模板值进行过滤包括:仅渲染离视角之间的距离比道路离视角之间的距离近,且投影在屏幕上的位置和道路投影在屏幕上的位置相同的地形,以弥补道路边缘的裂缝,使得道路和地形起伏信息无缝连接。
[0091] 优选的,所述道路横断面包括:边坡、路牙、盲道、人行道、行车道、隔离栏、实线和/或虚线。
[0092] 优选的,所述道路规划信息包括:道路交叉口、人行道、交叉口轨迹、信号灯、交叉口长度、停车位置和/或行人排队长度。
[0093] 本发明实施例提出的一种三维道路快速建模及其动态渲染系统,根据CAD读取道路的中心线,编辑道路横断面、道路纵断面、道路交叉口、道路渐变方式等,能够快速高效逼真的构建出当前或规划的道路模型。并为在高低起伏的地形上实现动态仿真渲染提供了基础。该方法能快速逼真的构建出当前或规划的道路样式,解决了提前建模,提前修改地形,无法动态根据地形调整道路等问题。使用渲染道路到纹理的技术,经过两次渲染道路和地形,在不需要修改地形文件的情况下,动态调整地形的高度值,使道路和高低起伏的地形无缝连接到一起。该方法能够实现道路随地形的起伏变化,如填土、挖方、隧道、桥梁等动态仿真渲染,实现了道路模型和高低起伏地形的无缝连接,逼真的仿真出不同地形地貌下的道路。
[0094] 前述对本发明的具体示例性实施方案的描述是为了说明和例证的目的。这些描述并非想将本发明限定为所公开的精确形式,并且很显然,根据上述教导,可以进行很多改变和变化。对示例性实施例进行选择和描述的目的在于解释本发明的特定原理及其实际应用,从而使得本领域的技术人员能够实现并利用本发明的各种不同的示例性实施方案以及各种不同的选择和改变。本发明的范围意在由权利要求书及其等同形式所限定。