给定矩形内的一个点,确定最接近该点的一侧

时间:2012-10-12 21:16:16

标签: performance algorithm math

我很好奇是否有一种优雅的方式来做到这一点,除了计算从点到每一侧的距离并找到最小值。

我想过的一些事情: 如果它是一个正方形,我们可以绘制对角线并找出该点落在哪4个区域。这些区域中的每一个对应于最近的一侧。

也许我们可以将矩形划分为正方形并从那里去某处?

似乎替代解决方案太复杂,不值得寻找。

2 个答案:

答案 0 :(得分:5)

对于矩形,您可以使用以下区域:

Rectangle closest points regions

答案 1 :(得分:0)

我认为矩形与坐标系不正交。首先计算每一方的中点。这应该很简单,具体取决于您如何定义矩形。

然后计算到这个中间点的距离。最小的距离是最近的一侧。你不需要用pytagoras来计算全部距离。平方的总和就足够了。