当前位置: 首页 > 专利查询>中南大学专利>正文

空间曲线覆盖三角网格曲面的方法技术

技术编号:20798539 阅读:44 留言:0更新日期:2019-04-06 12:11
本发明专利技术公开了一种空间曲线覆盖三角网格曲面的方法,它先得到网格曲面上所有顶点的测地距离,时间复杂度O(nlogn),其中n是三角网格上面片的数目。然后通过半边结构的迭代得到测地距离等值线,这样的时间复杂度最大是线性的O(nm),其中m为等值线环的数目。进而通过图论的方式对于螺旋轮廓线进行拓扑分片,其中克鲁斯卡尔算法的时间复杂度是O(eloge),e为图中边的数目,但是螺旋轮廓图类似与超树,通过近似可以估计边的数目约等于顶点的数目,因此可以估计出总的时间复杂度为O(mlogm)。最后对于每一个简单区域定义算子进行局部路由并且在简单区域之间进行全局连接这样时间复杂度不会超过O(l),l为等值线环上所有的顶点数。从全局来看复杂度都不会超过O(nlogn)。

Method of Covering Triangular Mesh Surface with Space Curve

The invention discloses a method for covering a triangular mesh surface with a spatial curve. It first obtains geodesic distances of all vertices on a triangular mesh surface with time complexity O (nlogn), where n is the number of patches on a triangular mesh. Then the geodesic distance contour is obtained by iteration of half-edge structure. The maximum time complexity is linear O (nm), where m is the number of contour loops. Then, the spiral contour is partitioned by graph theory. The time complexity of the Kruskar algorithm is O (eloge), e is the number of edges in the graph, but the spiral contour is similar to the hypertree. By approximation, the number of edges can be estimated to be approximately equal to the number of vertices, so the total time complexity can be estimated to be O (mlogm). Finally, local routing is performed for each simple region definition operator and global connection is made between simple regions so that the time complexity does not exceed O (l), L is the number of all vertices in the isoline ring. The overall complexity will not exceed O (nlogn).

【技术实现步骤摘要】
空间曲线覆盖三角网格曲面的方法
本专利技术涉及一种空间曲线覆盖曲面的方法,特别是涉及一种空间曲线覆盖三角网格曲面的方法。
技术介绍
对于空间曲线覆盖曲面的问题,是工业上的一个十分重要且并没有完全解决的问题。在路径规划领域,对于曲面上路径规划的螺线的生成,常用的算法有两类。第一类称为偏移算法,在曲面上创建偏移曲线,并连接偏移曲线以生成螺旋线,包括几个典型的算法:通过等参数方法偏移模型的外轮廓线,然后对于每个内腔分别进行B样条插值,这样可以在所有的偏移轨迹的每个角上实现平滑连接,以产生进一步的螺旋轨迹。采用恒定参数的路径生成轮廓补偿方法,用优化来减少处理时间,由偏移曲线之间的连线来产生螺旋路径。但是,所有这些上述算法都需要进行自相交的判断并且简化顶点。而且除了一些特定的的算法外,其他算法都具有尖锐的角,这意味着这些螺旋路径不够光滑,在实际生产中更可能产生导数方向的剧烈变化。第二类算法称为映射算法。使用精确的阿基米德螺旋或者希尔伯特曲线之类的空间填充曲线,将其投影到工件表面。这个类中有几种算法是十分具有代表性的。基于重新参数化的刀具路径生成方法,以减少的长度和变化的约束,寻找设计的表面和特定平面圆形域之间生成的坐标映射,并且在圆形中产生具有最大路径间隔的螺旋形路径;使用调和映射来参数化三角形网格,算法以网格表面为基础,不适用于参数表面。
技术实现思路
本专利技术的目的在于针对现有技术的不足之处,提供一种时间复杂度低的空间曲线覆盖三角网格曲面的方法。本专利技术提供的这种空间曲线覆盖三角网格曲面的方法,该方法包括以下步骤:步骤一、求解三角网格曲面上所有顶点的测地距离;步骤二、通过插值的方式得到距离场上测地距离的等值线环;步骤三、构造空间中费马螺线;步骤四、生成等值线环的螺旋轮廓图,通过图论的方式对等值线环进行拓扑分片;步骤五、对每一块等值线环进行方向统一,定义连接两条相邻边的算子,定义局部路由规则,进行局部路由;步骤六、对各块等值线环进行全局连接。在一个具体实施方式中,在所述步骤一中,首先将三角网格上两点之间最短折线看作曲面上的测地曲线;然后进行局部的测地距离计算,将三角网格的边平均切分成多个顶点,然后对于点生成全局的距离矩阵,利用Dijkstra算法寻找两点之间最小加权路径,并计算出该路径的距离;最后利用FDP算法即可计算全局的测地距离。在所述步骤二中,首先确定距离等值线之间的邻接关系,距离等值线之间关系为:距离等值线为完整的环;其次对于等值线dist=ω,在三角网格上找到一条半边ei,使得ei的两个顶点vis,vie能够满足或者接着通过求解线性方程的方式得到环上的第一个点pω,1,使得然后在一个三角面片上,可确定如果有那么对于这个三角形上除了vis和vie之外的顶点ve,一定只有三种情况,或者或者知在除了ei的半边外,必定会有距离等于的点在半边ej上,令其参数为t,在其相对的半边上可以得到参数为(1-t)的点pω,2,作为下一个还上的点;通过不断的在面和半边的遍历使得pω,j=pω,1,将这一组有序的点列连起来,最终生成一条等值线环。在所述步骤三中,费马螺线生成算法为利用区域填充算法构造空间中三角网格上连续的费马螺线。在所述步骤四中,采用克鲁斯卡尔算法从螺旋轮廓图中得到最小生成树,并对于树进行剪枝,从顶点开始遍历,查找度大于二的顶点,在这个顶点上将子树切开,分成不同的链表。在所述步骤五中,算子有两个,分别为B(p)和I(p),B(p):对于点p在当前环上向前偏移距离δ,I(p):得到p点所在环内部环的最近点;局部路由规则为:在所述步骤六中,在最小生成树内通过从根节点到叶子节点的顺序进行遍历;首先寻找到子树所在区块的入口点Pin和出口点pout;其次在外层的路径上寻找到内层梯度最大的相对应的位置点用来路由;然后对于区块的入口和出口判断方向,即计算如果d≤0就需要将内层中所有的路径反向;接着在外层路径链表中去除pout和pin之间所有的顶点;最后在pin后插入在后插入pout,得到完整的路径链表。本专利技术在时间复杂度上,首先通过FWP的算法得到网格曲面上所有顶点的测地距离,这样的时间复杂度O(nlogn),其中n是三角网格上面片的数目。然后通过面片的连续性,通过半边结构的迭代得到测地距离等值线,这样的时间复杂度最大是线性的O(nm),其中m为等值线环的数目。进而通过图论的方式对于螺旋轮廓线进行拓扑分片,其中克鲁斯卡尔算法的时间复杂度是O(eloge),e为图中边的数目,但是螺旋轮廓图类似与超树,通过近似可以估计边的数目约等于顶点的数目,因此可以估计出总的时间复杂度为O(mlogm)。最后对于每一个简单区域定义算子进行局部路由并且在简单区域之间进行全局连接这样时间复杂度不会超过O(l),l为等值线环上所有的顶点数。从全局来看虽然不会有一个整体的复杂度,但是对于每一个过程而言复杂度都不会超过O(nlogn)。时间复杂度低保证算法的效率。附图说明图1为本优选实施例中等值线环生成方式示意图。图2为半只斯坦福兔子和Fandisk从源点的测地距离等值线环示意图。图3为本实施例中拓扑分片示意图。图4为全局路由算法示意图,其中(a)图为模型和等值线,(b)图、(c)图为等值线和局部连接的费马螺线。图5为全局路由算法示意图,左图为斯坦福兔子模型,右图(a)为局部放大模型,(b)为测地距离等值线,(c)为判断是否需要内层反向,(d)为全局费马螺线路由。图6为算例展示斯坦福兔子、零件、齿轮的原始模型(左),测地距离等值线(中),连续费马螺线(右)。图7为本专利技术一个优选实施例的流程框图。具体实施方式本实施例提供的这种空间曲线覆盖三角网格曲面的方法,包括以下步骤。步骤一、求解三角网格曲面上所有顶点的测地距离。从泛函的角度来看,测地线是典型的泛函极值问题。对于度量张量为g的黎曼流形M,连续可微曲线γ:[a,b]长度可以表示为:若采用克里斯托费符号,其中表示表示令Lagrange量带入Lagrange方程有:当t=s时可以得到方程:又因为由于并且将其带入方程可以得到在局部坐标系下可以得到一般测地线方程:其中u、v是流形坐标卡参数,t是曲线一般参数,s是曲线的度量参数,g为度量张量,Γ是原始曲面,δ是函数的变分。从微分几何的角度来看,曲面上的直线段是测地曲线,并且所有的测地曲线都是局部短程线;因此在三角网格上可以近似将两点之间最短折线看作曲面上的测地曲线。在局部的测地距离计算上,采用图的方式,算法的思想是将三角形的边平均切分成多个顶点,然后对于点生成全局的距离矩阵,生成一张图。然后在图上上的寻找两点之间最小加权路径的方式找到最短路径并计算出距离。在图上寻找最短路径是通过Dijkstra算法算法实现。在全局的测地距离计算上,采用FDP方法。FDP算法是对于传统的迭代算法的改进,算法从源点开始遍历顶点和边,使用将三角网格局部展开为平面的方式计算这些顶点和边到源点的距离,进而进行递归生成树结构。在实际计算中,可以采用队列的方式储存迭代的距离,并且算法为了加快速度,可以采用并行的计算方式,即每个计算单元处理一个队列,能够有效的增加效率。步骤二、通过插值的方式得到距离场上测地距离的等值线环。在步骤一中,可以得到三角网格上所有的点到给定边界的测地距离,因为采本文档来自技高网...

【技术保护点】
1.一种空间曲线覆盖三角网格曲面的方法,其特征在于,该方法包括以下步骤:步骤一、求解三角网格曲面上所有顶点的测地距离;步骤二、通过插值的方式得到距离场上测地距离的等值线环;步骤三、构造空间中费马螺线;步骤四、生成等值线环的螺旋轮廓图,通过图论的方式对等值线环进行拓扑分片;步骤五、对每一块等值线环进行方向统一,定义连接两条相邻边的算子,定义局部路由规则,进行局部路由;步骤六、对各块等值线环进行全局连接。

【技术特征摘要】
1.一种空间曲线覆盖三角网格曲面的方法,其特征在于,该方法包括以下步骤:步骤一、求解三角网格曲面上所有顶点的测地距离;步骤二、通过插值的方式得到距离场上测地距离的等值线环;步骤三、构造空间中费马螺线;步骤四、生成等值线环的螺旋轮廓图,通过图论的方式对等值线环进行拓扑分片;步骤五、对每一块等值线环进行方向统一,定义连接两条相邻边的算子,定义局部路由规则,进行局部路由;步骤六、对各块等值线环进行全局连接。2.如权利要求1所述的空间曲线覆盖三角网格曲面的方法,其特征在于:在所述步骤一中,首先将三角网格上两点之间最短折线看作曲面上的测地曲线;然后进行局部的测地距离计算,将三角网格的边平均切分成多个顶点,然后对于点生成全局的距离矩阵,利用Dijkstra算法寻找两点之间最小加权路径,并计算出该路径的距离;最后利用FDP算法即可计算全局的测地距离。3.如权利要求2所述的空间曲线覆盖三角网格曲面的方法,其特征在于:在所述步骤二中,首先确定距离等值线之间的邻接关系,距离等值线之间关系为:距离等值线为完整的环;其次对于等值线dist=ω,在三角网格上找到一条半边ei,使得ei的两个顶点vis,vie能够满足或者接着通过求解线性方程的方式得到环上的第一个点pω,1,使得然后在一个三角面片上,可确定如果有那么对于这个三角形上除了vis和vie之外的顶点ve,一定只有三种情况,或者或者知在除了ei的半边外,必定会有距离等于ω的点在半边...

【专利技术属性】
技术研发人员:刘圣军刘韬刘新儒
申请(专利权)人:中南大学
类型:发明
国别省市:湖南,43

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

1