Заданы координаты точки A (xa, ya) и точки B (xb, yb). Найдите еще две точки C и D, такие что ACBD – квадрат, причем AB – его диагональ. Исходные данные: с клавиатуры вводятся xa, ya, xb и yb, гарантируется, что точки A и B не совпадают. Исходные данные являются целыми числами, по модулю не превышающими 1000.
Поскольку AB - диагональ квадрата, то она будет проходить через центр квадрата O, который является серединой отрезка AB. Найдем координаты центра квадрата O: xc = (xa + xb) / 2 yc = (ya + yb) / 2
Теперь найдем координаты точек C и D. Поскольку AC = BC, то точки C и D будут лежать на прямой, проходящей перпендикулярно к прямой AB через точку O.
Для этого найдем координаты вектора AB: dx = xb - xa dy = yb - ya
Теперь найдем координаты вектора перпендикуляра к AB: dxc = -dy dyc = dx
Таким образом, координаты точек C и D будут: xc = xc + dxc yc = yc + dyc
Для начала найдем координаты точек C и D.
Поскольку AB - диагональ квадрата, то она будет проходить через центр квадрата O, который является серединой отрезка AB. Найдем координаты центра квадрата O:
xc = (xa + xb) / 2
yc = (ya + yb) / 2
Теперь найдем координаты точек C и D. Поскольку AC = BC, то точки C и D будут лежать на прямой, проходящей перпендикулярно к прямой AB через точку O.
Для этого найдем координаты вектора AB:
dx = xb - xa
dy = yb - ya
Теперь найдем координаты вектора перпендикуляра к AB:
dxc = -dy
dyc = dx
Таким образом, координаты точек C и D будут:
xc = xc + dxc
yc = yc + dyc
и
xd = xc - dxc
yd = yc - dyc
Таким образом, мы нашли координаты точек C и D.