Заданы координаты точки A (xa, ya) и точки B (xb, yb). Найдите еще две точки C и D, такие что ACBD – квадрат, причем AB – его диагональ. Исходные данные: с клавиатуры вводятся xa, ya, xb и yb, гарантируется, что точки A и B не совпадают. Исходные данные являются целыми числами, по модулю не превышающими 1000.

2 Авг 2021 в 19:41
144 +1
0
Ответы
1

Для начала найдем координаты точек C и D.

Поскольку AB - диагональ квадрата, то она будет проходить через центр квадрата O, который является серединой отрезка AB. Найдем координаты центра квадрата O:
xc = xa+xbxa + xbxa+xb / 2
yc = ya+ybya + ybya+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.

17 Апр 2024 в 13:47
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир