微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

c# – 如何将三角形网格化为凸多边形?

我有一个三角形网格.三角形有不同的“颜色”.像这样:

我需要得到的是优化网格,其中过多的三角形合并为凸多边形.像这样:

有人可以给我一些关于某些算法的链接来实现吗?提前致谢!

附:我正在使用C#.

解决方法

Hertel-Mehlhorn算法是执行此操作的标准方法;它可以概括为

>从多边形P的三角剖分开始;
>删除不必要的对角线
>重复一遍.

(自http://www.philvaz.com/compgeom/起)

这在多项式时间内起作用,并且具有最优性的界限,尽管它不一定是最优的.

在您的情况下,您将通过不考虑不同颜色的三角形之间的对角线来修改步骤#2.

一种通常产生“更漂亮”的片段的启发式是在每一步合并最长的对角线.

希望有所帮助.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐