Все сводится к категоризации отношений между двумя прямоугольниками. Я предполагаю, что они не пересекаются. В этом случае возможны только две ситуации:
![enter image description here](https://i.stack.imgur.com/HeYMz.png)
- 2-й прямоугольник полностью расположен в одной из четырех угловых секций 1-го прямоугольника
- Все остальные ситуации
В первом случае вы вычисляете расстояние Манхэттена между двумя противоположными углами (TL-BR, TR-BL, BR-TL, BL-TR)
Во втором случае вы берете либо разницу в координатах x, либо разницу в координатах y сторон прямоугольника (B-T, L-R, R-L, T-B) в зависимости от ситуации. Все это очень легко проверить с помощью нескольких операторов if или case.