一种2D多边形简化算法的制作方法

文档序号:12126570阅读:393来源:国知局

本发明涉及计算机图形学相关工程领域,诸如CAD、CAM、VR、AR技术,尤其涉及一种2D多边形简化算法。



背景技术:

众所周知,工程领域中,经常需要用到图形处理技术,尤其很多时候,为了满足工程要求,需要对复杂的2D多边形进行简化处理,即减少顶点数。但是,在现有技术下,主要是通过计算去掉顶点之后的图形面积与原多边形的面积的差值来评判简化效果。但是减少图形中的哪些顶点,对图形的外形影响尽量小又能满足图形处理的速率需求,还能够最大程度还原图形,一直是一个难点。同时,现有技术需要计算整个多边形面积,计算复杂度高,速度缓慢。



技术实现要素:

为了解决上述问题,本发明提供一种2D多边形简化算法,能够快速有效处理2D图形简化任务且有效还原图形。

本发明的一种2D多边形简化算法,包括如下步骤:

T1、设置需要被简化的图形的简化目标顶点数x;

T2、读取图形的所有顶点P;

T3、将所述读取到的图形的所有顶点P按照相邻关系排列成顶点队列P1、P2、……Pn,其中n>3;

T4、依次从所述顶点队列中取出第m个顶点Pm(1≤m≤n),并将该顶点Pm与其相邻的前一个顶点和后一个顶点组成三角形Qm;

T5、采用海伦公式计算三角形Qm的面积Sm;

T6、将所述计算出的三角形面积Sm按照面积大小进行排序;

T7、剔除最小面积所对应的顶点,得到新的图形;

T8、判断n-1是否等于x,若是,转到步骤T9;若否,转到步骤T2;

T9、用剩余的顶点形成简化图形。

其中,所述简化目标顶点数x≥3。

本发明的2D多边形简化算法,通过计算每一个顶点对多边形外型的贡献程度,去掉贡献度最小的顶点,达到多边形的简化处理目的。运算量小,可进行多次优化运算,能够最大程度还原多边形。

附图说明

图1是本发明的2D多边形简化算法的四边形实施例示意图。

具体实施方式

为了更好的理解本发明,下面结合附图详细说明本发明。

本发明的一种2D多边形简化算法,包括如下步骤:

T1、设置需要被简化的图形的简化目标顶点数x;

T2、读取图形的所有顶点P;

T3、将所述读取到的图形的所有顶点P按照相邻关系排列成顶点队列P1、P2、……Pn,其中n>3;

T4、依次从所述顶点队列中取出第m个顶点Pm(1≤m≤n),并将该顶点Pm与其相邻的前一个顶点和后一个顶点组成三角形Qm;

T5、采用海伦公式计算三角形Qm的面积Sm;

T6、将所述计算出的三角形面积Sm按照面积大小进行排序;

T7、剔除最小面积所对应的顶点,得到新的图形;

T8、判断n-1是否等于x,若是,转到步骤T9;若否,转到步骤T2;

T9、用剩余的顶点形成简化图形。

其中,所述简化目标顶点数x≥3。

多边形的外型可以理解为由一堆相邻顶点组成的三角形彼此叠加(三角形进行叠加或删减)。因此,一个点对多边形影响的核心因素是它与周围顶点形成的三角形在这一叠加过程中产生的影响的多寡,三角形在叠加过程中产生的影响越小,三角形对应的顶点对多边形外型的贡献度越小。

如图1所示,以四边形为例,对四边形进行简化处理,目标顶点数为3。

四边形顶点序列依次为P1、P2、P3、P4,其中顶点P1和P2与相邻顶点组成的三角形面积比其他两点与相邻顶点组成的三角形面积小,所以这两点对于四边形整体形状的单独贡献度相对较小。那么去掉顶点P1和去掉顶点P2对四边形的影响,通过三角形面积来判断,应该是P1影响更小,因此去掉顶点P1之后的图形就是四边形的简化结果。

本发明的2D多边形简化算法,通过计算每一个顶点对多边形外型的贡献程度,去掉贡献度最小的顶点,达到多边形的简化处理目的。运算量小,可进行多次优化运算,能够最大程度还原多边形。

以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明披露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1