Окружности
Содержание
Как задать окружность?
Центром и радиусом.
Пересечение окружности с прямой
Возможны следующие случаи:
- Окружность $\omega$ и прямая $L$ не пересекаются $\iff$ расстояние от центра окружности $O$ до $L$ строго больше радиуса окружности
- $\omega$ и $L$ касаются $\iff$ $\rho(O, L) = R(\omega) = :R$
- $\omega$ и $L$ имеют 2 точки пересечения $\iff \rho(O, L) < R$
Научимся искать точки пересечения. Обозначим их $A$ и $B$ (пока мы их не умеем искать, но нарисовать картинку нам это не мешает). Опустим перпендикуляр из $O$ на $L ~-$ основание перпендикуляра $H$. В $\Delta AOH \text{ мы знаем} |AO| = R, OH = \rho(O, L) \implies \text{ можем найти по теореме Пифагора } |AH|$. Заметим теперь, что $A$ и $B$ симметричны относительно $OH$, из чего мы получаем следующий алгоритм нахождения $A$ и $B$:
- Опускаем перпендикуляр $OH$.
- Прибавляем к $H$ $\pm$(направляющий вектор $L$, нормированный и приведённый к длине $AH$).
Пересечение двух окружностей
Возможны следующие варианты взаимного расположения двух окружностей:
- Окружности совпадают (тривиально)
- Центр $O_2$ одной из окружностей $\omega_2$ лежит внутри другой окружности $\omega_1$ и
- окружности не пересекаются $\iff d(=\rho(O_2O_1)) + R_2 < R_1$
- окружности касаются $\iff d + R_2 = R_1$
- окружности имеют 2 точки пересечения $\iff d + R_2 > R_1$
- Центры окружностей не лежат внутри другой окружности и
- окружности не пересекаются $\iff d > R_1 + R_2$
- окружности касаются $\iff d = R_1 + R_2$
- окружности имеют 2 точки пересечения $\iff d < R_2 + R_1$
Все сравнения выше выполняются с точностью до EPS!
Все случаи, кроме 2.3 и 3.3 тривиальны. Разберём 3.3:
Пусть точки пересечения окружностей $~- A$ и $B$. В $\Delta O_1O_2A$ мы знаем все 3 стороны $\implies$ можем по теореме косинусов найти $\angle O_2O_1A = \angle O_2O_1B(= :\alpha)$ по теореме косинусов. Теперь, чтобы найти точки $A$ и $B$ достаточно повернуть $\overline{(O_1O_2)}$ на углы $\pm \alpha$ и привести к длине $|O_1A|$, а результат прибавить к точке $O_1$.
Касательные из точки к окружности
Возможны следующие случаи:
- Точка $P$ лежит внутри окружности $\omega ~-$ в этом случае касательных не бывает.
- $P$ лежит на $\omega ~-$ в этом случае касательная ровно одна и вектор $\overline{OP}$ нормальный к этой касательной $\implies$ мы уже знаем для этой прямой точку и направляющий вектор, так что дальше дело за малым.
- $P$ лежит вне $\omega \implies$ существует 2 касательные из $P$ к $\omega$. Разберём этот случай отдельно.
Обозначим точки касания за $A$ и $B$. Заметим, что в $\Delta POA$ мы знаем гипотенузу и катет $\implies$ можем найти (по теореме Пифагора) $|PA|$. Но тогда $A$ и $B$ можно получить как точки пересечения $\omega$ с окружностью с центром в $P$ и радиусом $|PA|$. А мы это уже умеем делать.
Автор конспекта: Александр Гришутин
По всем вопросам пишите в telegram @rationalex