На самом деле вам не нужно находить точки C
и D
, чтобы найти расстояние.
Полагаю, вы уже знаете координаты прямоугольника. Тривиально вычислить координаты центральных точек и длины ребер.
Теперь представьте себе вертикальную линию, проходящую через A
, и горизонтальную линию, проходящую через B
. Они пересекаются в точке, назовите это X
. Также представьте вертикальную линию, проходящую через C, и назовите ее точку пересечения с верхним краем прямоугольника RS
- C'
.
Вы можете тривиально вычислить длину AX
. Но длина AX
- это половина высоты RS
+ половина высоты PQ
(оба из которых вы знаете) + длина CC'
.
Итак, теперь вы знаете длину CC'
(назовите это x
).
Вы также можете вычислить угол (назовите его n
), который AB
составляет с CC'
из A
и координат B, поскольку вы знаете, что CC'
является вертикальным.
Ergo, длина сегмента CD равна x * cos(n)
.