python - 将四边形分割为最大面积的子区域

标签 python math geometry gis

将矩形/正方形分割成更小的区域并强制每个子区域的最大面积是非常容易的。您可以将区域划分为边长 sqrt(max_area) 的区域,并小心处理剩余部分。

然而,对于四边形,我被难住了。假设我不知道任何角的角度。我们还假设所有四个点都在同一平面上。另外,我不需要小区域的大小都相同。我唯一的要求是每个单独区域的面积小于最大面积。

我可以使用特定的数据结构来简化此操作吗?
有没有我找不到的算法?

我可以使用四叉树来做到这一点吗?我对树并不是非常精通,但我确实知道如何实现该结构。

当我这样做时,我考虑的是 GIS 工作,但我相当有信心这不会对分割四边形的算法产生影响。

最佳答案

您可以在长边上递归地将四边形分成两半,直到所得区域足够小。

关于python - 将四边形分割为最大面积的子区域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11217855/

相关文章:

python - __rsub__ 和 __rtruediv__ 带分数

math - 确定渐近复杂度

opencv - 如何在 Mat 中查找特定区域中的非零像素

sql - 使用最后已知位置更新?

algorithm - 三角形内的最大面积

math - 计算点到线段和线段到线段的平均距离

Python:pyflakes 不解释 noqa 评论

python - 如何在文件中的行和列位置插入文本?

python - 为什么 "from PIL import Image"不起作用,但 "from pil import Image"起作用? (小写 pil)

javascript - 在 Canvas 上绘制六边形,测试鼠标单击事件与六边形