У меня есть два прямоугольника a и b со сторонами, параллельными осям системы координат. У меня есть их координаты x1, y1, x2, y2.
Я пытаюсь определить, не только они перекрываются, но НАСКОЛЬКО они перекрываются? Я пытаюсь понять, действительно ли это один и тот же прямоугольник, плюс-минус немного места для маневра. Так одинакова ли их площадь на 95%?
Есть ли помощь в вычислении% перекрытия?
Протестированный ответ @user3025064, результаты были корректны для всех случаев кроме тех случаев, когда прямоугольник полностью включается в другом. Так, после получения SI необходимо вычислить отношение следующим образом:
S=SA+SB-SI
ratio = SI / S
if SI == SA or SI == SB:
ratio = 1
return ratio*100
Это даст 100, когда каждый будет включен в другом. Другой подход должен был бы вычислить SI/SA и SI/SB и проверку, если один из них равняется 1.