【问题标题】:Cutting a Polygon with another polygon用另一个多边形切割一个多边形
【发布时间】:2018-09-25 12:07:49
【问题描述】:

我想知道如何从 2 个现有多边形中获取新多边形。 1 个多边形是正多边形,另一个多边形在 (0|0) 处始终有 1 个点。第 2 个点位于 x 轴,第 3 个点位于 y 轴。最后一点总是在另一个多边形内。

我想把这块切下来并得到它的新坐标,我想在没有这块的情况下得到旧坐标的新坐标。

我的想法是返回交点并尝试找出在哪条线上将其切掉,但我有点卡住了。

【问题讨论】:

  • 您在寻找什么?算法?帮助您编写代码?
  • 好问题 :-) 我想说:从 Pol1 中获取位于 Pol2 内的所有点,从 Pol2 中获取位于 Pol1 内的所有点,获取交点,然后从所有这些。但是当你有凹多边形时呢?

标签: java polygon


【解决方案1】:

我会为此使用 JTS。 https://github.com/locationtech/jts JTS 是此类操作的事实上的标准库。

我不会为此使用 JavaFX(除非您已经将它用作您的 GUI 技术),因为几个小时后(Java 11 的普遍可用性)它就不再包含在 Oracle JDK 中了。

【讨论】:

  • 它比 JavaFx 好还是我为什么要接受它?我认为联合和减法正是我所需要的。
【解决方案2】:

尝试使用 JavaFx Polygon。 Polygon 扩展了 shape,它具有一些您可能会觉得有用的功能,例如 subtractunion
JavaFx 与 Java SE 7 或更高版本集成。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-06-20
    • 1970-01-01
    • 2021-06-20
    • 1970-01-01
    • 2023-03-22
    • 1970-01-01
    • 2010-12-19
    相关资源
    最近更新 更多