将矩形/正方形分割成更小的区域并强制每个子区域的最大面积是非常容易的。您可以将区域划分为边长 sqrt(max_area) 的区域,并小心处理剩余部分。
然而,对于四边形,我被难住了。假设我不知道任何角的角度。我们还假设所有四个点都在同一平面上。另外,我不需要小区域的大小都相同。我唯一的要求是每个单独区域的面积小于最大面积。
我可以使用特定的数据结构来简化此操作吗?
有没有我找不到的算法?
我可以使用四叉树来做到这一点吗?我对树并不是非常精通,但我确实知道如何实现该结构。
当我这样做时,我考虑的是 GIS 工作,但我相当有信心这不会对分割四边形的算法产生影响。
最佳答案
您可以在长边上递归地将四边形分成两半,直到所得区域足够小。
关于python - 将四边形分割为最大面积的子区域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11217855/