基于三维地形软件系统中快速生成自定义道路实现方法技术方案

技术编号:14925954 阅读:30 留言:0更新日期:2017-03-30 17:53
本发明专利技术所属计算机三维软件技术领域。提供在三维地形软件系统中,按自定义的要求快速生成跟实际地形完全匹配的道路模型,并实现道路样式贴图的方法。该方法包括以下步骤:将道路采样点生成简单样条曲线以模拟平滑的道路走向,给定道路采样点数据序列,按样条曲线方式生成连续平滑的道路数据;根据道路采样级别和道路的宽度,将道路划分成若干单元格;以单元格为单位,按照地形网格的规则对该单元格进行三角形剖分;计算UV值,按照总长范围为(0,1)的区间来计算每个顶点的UV值,实现道路样式的指定;根据此UV值,将用户指定的样式(贴图)赋予给它。

【技术实现步骤摘要】

本专利技术基于地形的3D场景编辑或用户可设定游戏中,本着快速简便的原则,让用户能够快速地生成和编辑道路,并能够设置道路样式。
技术介绍
随着计算机硬件的飞速发展,3D技术也得到了广泛的应用,特别是在游戏和虚拟现实VR方面,3D技术已经相当的普遍。在基于VR或者游戏中,在需要进行一些道路创建和编辑时,如果采用传统的方法,在一些建模软件(如3DSMAX,MAYA)中建好模型,再导出进游戏或者平台软件中,一是提高了制作者的门槛,二者也增加了时间,三来不利用方案的变更;在这种背景下,简单而快速地生成自定义的道路变得犹为迫切。
技术实现思路
提出了一种基于地形管理系统的平台或游戏中的快速创建可编辑道路的方法,即基于地形系统中快速生成自定义的道路贴图实现方法。为了实现上述目的,本专利技术的技术方案是:基于地形系统中快速生成自定义的道路实现方法,在地形系统(或称地形管理系统)中,按自定义的要求,快速生成一条跟地形和道路完全匹配的道路贴图即图形的模型,并实现道路样式(贴图)的指定生成;该方法包括以下步骤:通过给定一系列的道路节点(实施过程中,可以通过鼠标点选的方式生成节点),按给定的采样间隔(可以理解为道路边缘的平滑程度)和给定的道路宽度,生成一组连续的四边形道路单元格;以该单元格为单位,进行三角形剖分,部分的主要原则就是以地形的网格为基础,剖分过程中,新生成的三角形的边不切割基础网格的边,以此来保证道路的三角形网格在必要的细分前提下,保证与基础网格一致,从而达到道路能够贴合在道路贴图上。最后按照总长范围为(0,1)的区间来计算每个顶点的UV值,实现道路样式的指定。所述的地形和道路指地形和道路的影像。。附图说明图1在基于地形的网格上,绘制道路基线,黄色的方块为给定的节点;红色线为根据此基点生成的简单样条曲线;白色线为给定的采样间隔,将道路数据分割成若干四边形区域;黄线和绿色线为根据给定的道路宽度生成的内外轮廓。图2以单元格为单位,按照地形的规则对单元格进行三角形剖分,图为剖分后的三角形序列图。图3经过剖分后生成模型,并指定样式后的最终效果。图4根据给定的宽度值,对该曲线序列两边等距生成两条同样形状的曲线。图5以单元格为单位,进行三角形的剖分。图6提取四边形的道路单元格(P0P1D1D0)所在的包围盒地形网格,并快速的地提取该包围盒的三角形数据。图7对该直线构成的多边形数据进行分割,分割的基本思路就是分割该直线经过的三角形。图8分割该真线经过的三角形。图9分割时新切割生成的三角形。图10为M值定义图。具体实施方式给定道路采样点序列,按简单样条曲线方式生成连续平滑的道路数据(平滑程度由用户指定)。样条曲线的引入目的就是为了实现平滑过渡的曲线,可以采用自由的插值方法,最终只要提供一组平滑的点数据序列即可。本例中采用的是Catmull-RomSpline插值法,简要描述如下:给定序列点V0,V1,V2,V3,给定一个采样值X,对V1,V2区间进行插值,其算法为:F(X)=[1,X,X2,X3]*M*[V0,V1,V2,V3],M定义如图。图4所示:根据给定的宽度值,对该曲线序列两边等距生成两条同样形状的曲线。图5中,每个经过曲线的插值点的内外两条曲线的连接线将内外曲线的闭合线分割成了若干四边形单元,以单元格为单位,进行三角形的剖分。图6中,先提取四边形的道路单元格(P0P1D1D0)所在的包围盒地形网格(AEA’I),该包围盒是很规则的矩形,并且网格也非常的规整,AEI是三角形,AE和AI是两条边,在AE和AI通过标定相同个数的等间距的点BB’、CC’等,分别连接对应的二点的直线,则与A点构成若干三角形,即从A到E,从A到I,可以很快速的地提取该包围盒的三角形数据.如ABB’,将它们保存起来。图7中,D0D1是四边形内的二个点,用经过D0D1线段的直线,对该直线构成的多边形数据进行分割,分割的基本思路就是分割该直线经过的三角形,(1)直线内侧完整的三角形保留;(2)直线外侧完整的三角形直接丢弃;(3)被直接经过的三角形,在外侧的点丢弃,在内侧的点与该直线与三角形的交点重新生成新的三角形,原三角形也丢弃,分割完,则来的三角形数据变成如图7所示。分割的基本思路就是分割该真线经过的三角形,如图8所示,(1)直线内侧完整的三角形保留;(2)直线外侧完整的三角形直接丢弃;(3)被直接经过的三角形,在外侧的点丢弃,在内侧的点与该直线与三角形的交点重新生成新的三角形,原三角形也丢弃。分割完,则新的三角形数据变成如下。图9为分割时黄色为新切割生成的三角形:,红色的三角形都为原来的三角形被分割后,形成的新的三角形数据,被分割的原三角形数据丢弃。重复第三个步骤,对道路单元格剩下的三条边进行同样的处理,对经过刚才分割后,新的三角形序列进行同样的操作。再拿P1D1点切割举例(如图9):最终生成的三角形的序列,完全在道路单元格的中的三角形与原地形的三角形完全一致,被分割新生成的三角形也是对原三角形的细分,因为在此过程中,没有一条原来地形网格的三角形被被分割成两个(或两个以上)的三角形中(不包含共边),因此新生成的网格能够很好地贴合在地面上。整个道路的UV值取值规则是:U值取值:道路从左到右,值范围[0,1];V值取值:道路从首至尾,值范围[0,1]。则单元格P0P1D1D0,则P0、D0的U值为0,P1、D1的U值为1,而各自点的V值只要把首点到它的距离值除以道路的总长即可以得到;该四边形的四个顶点UV值都已经求出,四边形内的各点,只要进行插值计算,即可以求出点的UV值。根据该UV值,即可以绑定样式(贴图)到道路的模型上,显示给用户。本文档来自技高网...
<a href="http://www.xjishu.com/zhuanli/CN105678840.html" title="基于三维地形软件系统中快速生成自定义道路实现方法原文来自X技术">基于三维地形软件系统中快速生成自定义道路实现方法</a>

【技术保护点】
基于三维地形软件系统中快速生成自定义道路实现方法,在地形软件系统中,按自定义的要求,快速生成一条跟实际地形完全匹配的道路模型,并在地形软件系统中实现道路样式(贴图)的指定;该方法包括以下步骤:(1)将用户描述的点即道路采样点生成简单样条曲线以模拟平滑的道路走向,给定道路采样点数据序列,按样条曲线方式生成连续平滑的道路数据;样条曲线的引入是为了实现平滑过渡的曲线;采用自由的插值方法,最终只要提供一组平滑的采样点数据序列;(2)根据用户描述的道路采样(平滑)级别和道路的宽度,将道路划分成若干单元格;即通过给定道路节点,给定道路节点乃通过鼠标点选的方式生成节点,按给定的采样间隔和给定的道路宽度,生成一组连续的四边形道路单元格;以该单元格为单位,进行三角形剖分;且以地形的网格为基础进行三角形剖分,剖分过程中,新生成的三角形的边不切割基础网格的边,以此来保证道路的三角形网格在必要的细分前提下,保证与基础网格一致,从而达到道路能够贴合在道路上;最后按照总长范围为(0,1)的区间来计算每个顶点的UV值,实现道路样式的指定;(3)以单元格为单位,按照地形网格的规则对该单元格进行三角形剖分,规则是不切割完全处于单元格中的网格线,以保证生成的道路网格与地形网格一致,对生成的三角形序列即可构建网格模型;最终生成的三角形的序列, 完全在道路单元格的中的三角形与原地形的三角形完全一致, 被分割新生成的三角形也是对原三角形的细分,  因为在此过程中, 没有一条原来地形网格的三角形被被分割成两个(或两个以上)的三角形中(不包含共边), 因此新生成的网格能够很好地贴合在地面上;(4)计算UV,按照总长范围为(0,1)的区间来计算每个顶点的UV值,实现道路样式的指定;其中道路的横向定义为贴图坐标的U取值,从左到右按距离取值[0,1],道路的纵向定义为贴图坐标的V取值,从头到尾按到首点的距离取值[0,1],根据此UV值,将用户指定的样式(贴图)赋予给它,确定点滑过渡的曲线,可以单格一致,从而达到道路能够贴合在道路上。...

【技术特征摘要】
1.基于三维地形软件系统中快速生成自定义道路实现方法,在地形软件系统中,按自定义的要求,快速生成一条跟实际地形完全匹配的道路模型,并在地形软件系统中实现道路样式(贴图)的指定;该方法包括以下步骤:
(1)将用户描述的点即道路采样点生成简单样条曲线以模拟平滑的道路走向,给定道路采样点数据序列,按样条曲线方式生成连续平滑的道路数据;样条曲线的引入是为了实现平滑过渡的曲线;采用自由的插值方法,最终只要提供一组平滑的采样点数据序列;
(2)根据用户描述的道路采样(平滑)级别和道路的宽度,将道路划分成若干单元格;即通过给定道路节点,给定道路节点乃通过鼠标点选的方式生成节点,按给定的采样间隔和给定的道路宽度,生成一组连续的四边形道路单元格;以该单元格为单位,进行三角形剖分;且以地形的网格为基础进行三角形剖分,剖分过程中,新生成的三角形的边不切割基础网格的边,以此来保证道路的三角形网格在必要的细分前提下,保证与基础网格一致,从而达到道路能够贴合在道路上;最后按照总长范围为(0,1)的区间来计算每个顶点的UV值,实现道路样式的指定;
(3)以单元格为单位,按照地形网格的规则对该单元格进行三角形剖分,规则是不切割完全处于单元格中的网格线,以保证生成的道路网格与地形网格一致,对生成的三角形序列即可构建...

【专利技术属性】
技术研发人员:不公告发明人
申请(专利权)人:江苏京安拓达软件科技有限公司
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1