我目前正试图找到一种方法来采取不规则形状的多边形并将它们分成尽可能少的四边形。
我无法在任何地方找到明显的开箱即用算法,所以我想考虑下两条可能的路线。
1.首先获得最佳三角测量,然后将这些三角测量转换为四边形
2.尝试从其2d多边形分区包更改CGAL optimal_convex_partitions函数以创建四边形分区https://doc.cgal.org/latest/Partition_2/group__PkgPolygonPartitioning2.html#ga3ca9fb1f363f9f792bfbbeca65ad5cc5
我是计算几何的初学者,所以我想知道在我尝试学习C ++之前,这些方法中的任何一种看起来都是傻瓜吗?如果有人知道最好的方法,那就更好了。谢谢!
(编辑)包括样本多边形 - 它们都不应该有洞,尽管它们可能有复杂的外部和凹面。
答案 0 :(得分:0)
我假设如果你从三角形开始,然后尝试以贪婪的方式将两个相邻的三角形合并成一个四边形,你可能会得到许多孤立的三角形。
不确定凸分区如何派上用场。
您可以在以下文章中找到有用的信息。据了解,有限元分析要求输入对象由三角形或四边形组成,因此已经在这方面进行了一些研究。以下是两篇可能相关的论文:
Ted D. Blacker和Michael B. Stephenson,“铺路:自动四边形网格生成的新方法”Int。 J. Num.Meth.Engg,Vol 32,811-847(1991)
我远不是这个主体的专家,但我确定这些alg。可以使用CGAL实现......