如何计算两个矩形之间的最小距离?
对于没有角度的矩形(即0
度1),但对于旋转矩形,它很容易任何不同的角度我都不知道怎么做。
你能推荐吗?
WhiteFlare
答案 0 :(得分:1)
检查它们是否先交叉(尝试从一个矩形中取点并检查它是否在其他矩形内)。
有几种方法可以做到。一种方法(不是最好的,但很容易解释)如下:
让A1
,A2
,A3
,{{1 } - - 矩形点,A4
- 其他一些观点。
然后计算三角形的正方形:
T
,S1 = (A1,A2,T)
,S2 = S(A2,A3,T)
,S3 = S(A3, A4, T)
。
让S4 = S(A4, A1, A2)
反复正方形。
然后S_rectangle
位于矩形< =>内T
。
如果反应角不相互交叉,则执行以下步骤。
计算2个矩形的所有8个点的坐标。
在所有4 * 4 = 16对点中取最小值(来自不同矩形的点)。
我们将其表示为S1 + S2 + S3 + S4 = S_rectangle
。
然后,从第一个矩形中取一些点(4种方法),取另一个矩形的4个段(4个方向),检查从该点垂直到那个细分到内部。
采取这种垂直的最小值。我们将其表示为min_1
。
与min_2
中的相同,但从第二个矩形中取出点,第一个中的行:您得到3
。
min_3
答案 1 :(得分:1)