gpt4 book ai didi

algorithm - 如何有效地测试任意多边形是否与正方形相交?

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:42:36 24 4
gpt4 key购买 nike

多边形可能是凸面也可能不是。我们可以假设正方形的边缘与 X 轴和 Y 轴对齐。

计算交集[多边形交集的简单算法] 1太过分了,因为我只需要知道它们是否相交(是或否)。

最佳答案

我不确定它是否是最知名的算法(实际上我更确定有更好和知名的算法),但我确信这个解决方案应该有效。

想法是将问题“减少”为将多边形裁剪到裁剪区域的问题(即将问题转换为不同的问题并使用解决新问题的算法来解决)。做这样的减少:

  • 如果您最终将多边形的某些部分留在裁剪区域内 - 那么就会有一个交叉点
  • 如果你最终有一组空的多边形顶点——也就是说你在裁剪区域内没有任何东西——那么就没有交点

用于多边形裁剪的 Sutherland-Hodgman 算法会执行此操作 - 如果多边形穿过裁剪区域 - 它最终会为您提供表示裁剪多边形的顶点列表。如果多边形完全位于裁剪区域之外(即没有交叉点)——那么它最终会为您提供一个空列表,因为实际上没有多边形的任何部分可以在裁剪区域内绘制。

您可以在此处找到有关剪切多边形的 Sutherland-Hodgman 算法的说明:https://www.youtube.com/watch?v=Euuw72Ymu0M

关于algorithm - 如何有效地测试任意多边形是否与正方形相交?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30336131/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com