Андрей Мельников
Мыслитель
(6933)
12 лет назад
Пусть известны координаты (xA,yA) и (xC,yC).
Можно найти середину диагонали квадрата (точка O):
x0=(xA+xC)/2
y0=(yA+yC)/2
Найдем координаты вектора OA:
(x1,y1)=(xA-x0,yA-y0)
Координаты перпендикулярного ему вектора той же длины равны:
(x2,y2)=(y1,-x1) (проверяется через скалярное произведение)
Диагонали квадрата пересекаются под прямым углом и точкой пересечения делятся пополам, поэтому координаты оставшихся точек равны:
(xB,yB)=(x0,y0)+(x2,y2)
(xD,yD)=(x0,y0)-(x2,y2)