二维四边形网格生成算法:paving(七)边界相交处理 Perimeter Intersection Handling

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

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

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

paving(一)基本概述

paving(二)新行选择

paving(三)行生成

paving(四)平滑

paving(五)缝合 与 闭合

paving(六)行调整 与 收尾

边界相交

边界节点负角度的自交情况可以通过缝合的方式解决。边界自交分两种情况:1 单个边界自交,2 多个边界相交。

在这里插入图片描述

单个边界自交

当边界发生自交时,肯定有两对线段处于相交状态。

线段求交算法

其中的参数化方法,可以快速判断是否相交以及具体位置。

处理自交比较直接的方式是把相交的线段合并在一起,但这往往不是最佳的方式。

更普遍的做法是尝试搜索相交位置以及附近的组合,来构建合法的边界,还使得奇异点尽可能少。

在处理相交时需要考虑以下4个方面:

  • 边界偶性:在基本概述中提到边界必须是偶数个节点。如果当前选中的合并线段会使边界出现奇数个数,那么需要根据相交的具体位置重新选择合并的线段。
  • 向前/向后搜索:有时候合并相交线段会产生奇异结点,反而合并当前线段的前一段或后一段可以使得奇异点变少。此时可以根据两线段的距离和平行性来选择需要合并的线段。
  • 边长差异:当合并的线段边长差异较大时,可以使用楔子插入法来纠正。
  • 自交完备:一个边界有可能有多处自交,需要先搜索出所有自交区域,然后根据距离和平行度进行排序,按照排序进行合并。

进行一次自交合并后,会产生两个新的边界。此时需要马上做一次缝合操作。然后继续检测自交。

在这里插入图片描述
上图为一次单边界自交处理过程。

虚线处为检测到的相交地方。对上面的一对合并可以得到更简单的边界。合并后得到c), 再进行缝合得到d)。

多个边界相交

当有内部边界存在时,最终肯定会发生多个边界相交的情况。

在这里插入图片描述
上图展示了多个内部边界的自交处理情况。


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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值