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

Geometry 如何找到两个平行矩形之间的最小出租车/曼哈顿距离?,geometry,coordinates,distance,minimum,Geometry,Coordinates,Distance,Minimum,给定两个矩形的左上角坐标和右下角坐标,并且两个矩形相互平行,以及x轴和y轴,您如何找到两个矩形之间的最小出租车/曼哈顿距离?这一切归结为对两个矩形之间的关系进行分类。我假设它们不相交。在这种情况下,只能发生两种情况: 第二个矩形完全位于第一个矩形的四个角部分之一 所有其他情况 在第一种情况下,计算两个相对角(TL-BR、TR-BL、BR-TL、BL-TR)之间的曼哈登距离 在第二种情况下,根据具体情况,取矩形边(B-T,L-R,R-L,T-B)的x坐标差或y坐标差。这一切都很容易用几个if或c

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

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

  • 第二个矩形完全位于第一个矩形的四个角部分之一
  • 所有其他情况
  • 在第一种情况下,计算两个相对角(TL-BR、TR-BL、BR-TL、BL-TR)之间的曼哈登距离

    在第二种情况下,根据具体情况,取矩形边(B-T,L-R,R-L,T-B)的x坐标差或y坐标差。这一切都很容易用几个if或case语句进行测试