Найдите угол между касательными, проведенными из данной внешней точки к окружности.
Даны положительные целые числа R , представляющие радиус окружности и центр окружности (X1, Y1), и другая точка (X2, Y2) на декартовой плоскости, задача состоит в том, чтобы найти угол между парой касательных, проведенных из точка (X2, Y2) на окружность.
Примеры:
Input: R = 6, (X1, Y1) = (5, 1), (X2, Y2) = (6, 9)
Output: 96.1851Input: R = 4, (X1, Y1) = (7, 12), (X2, Y2) = (3, 4)
Output: 53.1317
Подход: Данная проблема может быть решена на основе следующих наблюдений:
- Радиус составляет угол 90 градусов с касательной в точке контакта касательной и окружности. Кроме того, угол, образуемый парой касательных (θ) , делится пополам линией, соединяющей центр окружности и внешнюю точку.
- Следовательно, расстояние между центром и внешней точкой можно рассчитать по формуле расстояния:
Distance =
Now, consider d as the distance between the two given points, then In the right-angled triangle OAB,
=>
=>
=>
=>
Следовательно, используя приведенную выше формулу, можно вычислить угол между парой касательных, проведенных из точки (X2, Y2) к окружности.
Ниже приведена реализация вышеуказанного подхода:
Временная сложность: O(1)
Вспомогательное пространство: O(1)




