提问人:furious programming 提问时间:10/7/2023 最后编辑:Rethunkfurious programming 更新时间:10/8/2023 访问量:107
在四个方向中的任何一个方向上查找与给定矩形最近的矩形 [关闭]
Find the closest rectangle to a given rectangle in any of four directions [closed]
问:
给定几十个不重叠但任意聚集在一起的矩形,如何选择任何特定矩形的上方、下方、左侧或右侧的矩形?
- 给定一个矩形 R,如何找到上面、下面、左边和右边最接近的矩形?(几何算法)
- 在特定矩形 R 的某个搜索方向上,如果另外两个矩形 S 和 T 与 R 同样接近,那么应该选择 S 和 T 中的哪一个?
上下文:在游戏中,特定的矩形 R 被视为活动。当用户按下箭头键或使用 4 方向控制器向某个方向(向上、向下、向左或向右)移动时,应仅选择一个向上、向下、向左或向右移动的矩形。
因此,我们需要一种有效的算法来选择相对于所选矩形 R 的某个方向上最接近的矩形,以及一些逻辑,以便在有多个矩形时仅选择一个矩形。
我已经尝试过许多不同的方法,包括:计算顶点、质心之间的距离、计算角度等,虽然这些方法效果很好,但在矩形的具体排列中,它们给出了完全糟糕和不直观的结果。
下面是一组矩形示例。蓝色是活动矩形。目标是在向上、向下和向右方向的每个方向上只选取一个矩形。
答: 暂无答案
评论