如何找到两个平行矩形之间的最小出租车/曼哈顿距离?

Posted

技术标签:

【中文标题】如何找到两个平行矩形之间的最小出租车/曼哈顿距离?【英文标题】:How to Find the Minimum Taxicab/Manhattan Distance Between Two Parallel Rectangles? 【发布时间】:2011-11-09 08:27:31 【问题描述】:

给定两个矩形左上角的坐标,以及两个矩形右下角的坐标,并且两个矩形相互平行,以及x和y轴,你怎么找到两个矩形之间的最小出租车/曼哈顿距离

【问题讨论】:

【参考方案1】:

这一切都归结为对两个矩形之间的关系进行分类。我假设它们不相交。在这种情况下,只会出现两种情况:

    第二个矩形完全位于第一个矩形的四个角部分之一 所有其他情况

在第一种情况下,您计算两个相对角之间的曼哈顿距离 (TL-BR,TR-BL,BR-TL,BL-TR)

在第二种情况下,您可以根据情况取矩形边的 x 坐标差或 y 坐标差 (B-T,L-R,R-L,T-B)。这一切都可以通过一些 if 或 case 语句轻松测试。

【讨论】:

以上是关于如何找到两个平行矩形之间的最小出租车/曼哈顿距离?的主要内容,如果未能解决你的问题,请参考以下文章

A*算法(简介)

欧几里得距离曼哈顿距离切比雪夫距离

在CAD中,如何画两条平行线的中心线?

找到最小矩形数量的算法

UVA 1201 - Taxi Cab Scheme(二分图匹配+最小路径覆盖)

使用曼哈顿距离的最近点对