二维四边形网格生成算法:paving(一)基本概述

欢迎关注更多精彩
关注我,学习常用算法与数据结构,一题多解,降维打击。

参考论文:Paving: A new approach to automated quadrilateral mesh generation

关注公众号回复paving可以获得文章链接

算法简介

paving算法是一种按行迭代的算法,从边界处开始往内部每次生成一行四边形,直到所有区域铺满四边形。
如下图所示,
在这里插入图片描述
当有四边形重叠或者相邻时,会进行缝合操作。

算法过程中的主要操作有,新行选择,封闭检测,行生成,平滑,缝合,行调整,自交检测与处理以及收尾工作

术语与约定

由连续节点组成有序且封闭的多个环形围成的区域作为算法的输入。所有初始边界点在算法开始以后固定不动,包括节点的连接关系和位置,固定边界分为外部边界和内部边界。

在这里插入图片描述

外部边界只有一个,按逆时针排序。内部边界为外部边界所围成区域里的洞,按顺时间针排序。所有边界没有相交部分。

在这里插入图片描述
每个节点会有一个内角alpha。

随着算法的进行,会生成新的边界节点,新的点节为可动节点。四边形大小会根据边界的大小进行过度。

算法基本过程

算法的基本操作类型有以下几种:

新行选择(Row Choice)
查找需要生成四边形的连续的节点,确定整个序列的起始和结束位置。

封闭检测(Closure Check)
判断边界节点个数是否大于6个,如果小于等于6个,则需要进行封闭操作。

行生成(Row Generation)
在之前起始到结束位置上生成新的四边形

平滑(Smooth)
对可动节点进行平滑,调整来优化网格质量

缝合(Seam)
对小的内角边界进行缝合。

行调整(Row Adjustment)
对于某些过大或过小的四边形,进行添加或删除四边形/边的形式调整四边形大小。

自交检测与处理(Intersection)
对于边界与自身相交或者与别的边界相交的情况,需要进行点移动和边的调整,保证没有自交情况。

收尾整体优化(Cleanup)
所有行的四边形生成后,进行四边形的添加和删除优化整体质量。

整体算法流程如下:
在这里插入图片描述


本人码农,希望通过自己的分享,让大家更容易学懂计算机知识。创作不易,帮忙点击公众号的链接,帮忙转发,感激不尽。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值