【问题标题】:creating polygons based on intersection基于交集创建多边形
【发布时间】:2015-08-30 07:55:42
【问题描述】:

假设我有两个多边形,A 和 B。
多边形 A 在 (0,0)、(0, 5) 和 (5, 0) 处有点
多边形 B 在 (-2, 2)、(5, 5) 和 (5, 2) 处有点
我的目标是将其分成 3 个不同的多边形
多边形 1 将是多边形 A - 它与多边形 B 相交
多边形 2 将是多边形 B - 它与多边形 A 相交
多边形 3 将是交叉区域。
对于多边形 1 和 2,我可以使用 java 的 geom.area.intersect 方法。
我将如何创建多边形 3?

【问题讨论】:

标签: java algorithm polygon intersection


【解决方案1】:

多边形 1、2 和 3 是同一个东西。 :-)

您可以使用 intersect() 获得面积 Gamma。

然后你可以从多边形 A 中减去() 面积 Gamma 以得到面积 Alpha(A 中位于 Gamma 之外的部分),并从 B 中减去 () Gamma 以得到 Beta(B 中位于 Gamma 之外的部分)。

要从 Area 转换回 Polygon,请使用 getPathIterator(null) 收集每个 Area 的顶点,然后将它们输入到 Polygon 构造函数中。

【讨论】:

    猜你喜欢
    • 2021-01-16
    • 1970-01-01
    • 2015-07-01
    • 2012-06-05
    • 2012-06-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多