两个不同角度的旋转矩形之间的最小距离

时间:2010-06-14 19:47:16

标签: geometry

如何计算两个矩形之间的最小距离?
对于没有角度的矩形(即0度1),但对于旋转矩形,它很容易任何不同的角度我都不知道怎么做。

你能推荐吗?

WhiteFlare

2 个答案:

答案 0 :(得分:1)

  1. 检查它们是否先交叉(尝试从一个矩形中取点并检查它是否在其他矩形内)。
    有几种方法可以做到。一种方法(不是最好的,但很容易解释)如下:
    A1A2A3,{{1 } - - 矩形点,A4 - 其他一些观点。
    然后计算三角形的正方形:
    TS1 = (A1,A2,T)S2 = S(A2,A3,T)S3 = S(A3, A4, T)
    S4 = S(A4, A1, A2)反复正方形。
    然后S_rectangle位于矩形< =>内T

    如果反应角不相互交叉,则执行以下步骤。

  2. 计算2个矩形的所有8个点的坐标。

  3. 在所有4 * 4 = 16对点中取最小值(来自不同矩形的点)。
    我们将其表示为S1 + S2 + S3 + S4 = S_rectangle

  4. 然后,从第一个矩形中取一些点(4种方法),取另一个矩形的4个段(4个方向),检查从该点垂直到那个细分到内部。
    采取这种垂直的最小值。我们将其表示为min_1

  5. min_2中的相同,但从第二个矩形中取出点,第一个中的行:您得到3

  6. min_3

答案 1 :(得分:1)

  1. 计算所有8的坐标 2个矩形的点。
  2. 取两个最低距离 所有4 * 4 = 16对点 (来自不同矩形的点)。 得到3分P1,P2和P3 {其中两个属于一个矩形 和第三个到另一个}
  3. 2个点属于一个矩形 应该被视为段,现在 找到一个短距离 细分和第三点。