Другие языки программирования и технологии

Как найти ближайшую точку на окружности к той, что вне окружности???

Дана окружность (х,у,R) и точка вне окружности (х,у). Как найти х и у ближайшей точки на окружности к той точке, которая лежит вне окружности. (я знаю про "провести прямую из центра к точке) Мне нужен или алгоритм или формулы...
Формула окружности с центром Хц; Уц, заданным в системе координат, и радиусом R : (Х - Хц) в квадрате + (У - Уц) в квадрате = R в квадрате
Формула прямой через через центр окружности ( Хц; Уц ) и точку вне окружности ( Х1 У1) : У = k*Х + b,
- где k = (У1 - Уц) / (Х1 - Хц)
- b найдём, подставляя в формулу прямой координаты одной из точек и найденное значение "k". Например возьмём ( Хц; Уц ), получим:
....Уц = k*Хц + b, отсюда b = Уц - k*Хц
- и теперь в уравнении прямой У = k*Х + b известны k и b
Так как прямая и окружность пересекаются, то точка пересечения принадлежит и прямой и окружности.
Поэтому можно взять У из уравнения прямой и заменить им У в уравнении окружности, получим:
( Х - Хц )в квадрате + ( ( k*Х + b ) - Уц )в квадрате = R в квадрате
В этом уравнении неизвестно только Х. После раскрытия скобок и группировки подобных членов уравнения получится обыкновенное квадратное уравнение вида:
А*Хв квадрате + В*Х + С = 0, где
... А = k в квадрате + 1
... В = ( - 2*Хц + 2*k*( b - Уц) )
... С = ( Хц в квадрате + ( b - Уц) в квадрате - R в квадрате )
При решении уравнения получится 2 значения Х, потому что данная прямая пересекает окружность в двух точках. Можно сделать чертёж, чтобы посмотреть, какое значение Х следует взять.
Дальше подставить Х в уравнение прямой линии, и найдём У.
НД
Никита Дорошенко
486
Лучший ответ
Че тут думать? Проведи через центр окружности и твою точку отрезок. Точка пересечения его с окружностью - искомая.
Ну, извини, я не сразу заметил, что "ты знаешь". Так это и есть алгоритм.
Тебе лет-то сколько? Ты что-нибудь слыхал об аналитической геометрии? Все формулы - оттуда.
Vaishnavasevaka Das
Vaishnavasevaka Das
94 643
Ответ снял.
Сергей Сидоров
Сергей Сидоров
77 091
Исмат Самедов Так мне нужны Х и У этой точки.
Корень из (Х. точкиКвадрат+У. точкиКвадрат) - РАдиус
Исмат Самедов И что это?