А вот ещё способ. Типа аналитический, по Декарту. Малоизвестный, поэтому справочных формул наколотить придётся.
Пусть ориентированная (т.е. с нарисованной стрелочкой) прямая/окружность кривизны

имеет в точке

касательную с направлением

. Тогда уравнение этой окружности можно записать в виде
![$$ k_0\left[(x{-}x_0)^2{+}(y{-}y_0)^2\right]+
2(x{-}x_0)\sin\tau_0 - 2(y{-}y_0)\cos\tau_0\equiv
A(x^2{+}y^2)+2Bx+2Cy+D = 0$$ $$ k_0\left[(x{-}x_0)^2{+}(y{-}y_0)^2\right]+
2(x{-}x_0)\sin\tau_0 - 2(y{-}y_0)\cos\tau_0\equiv
A(x^2{+}y^2)+2Bx+2Cy+D = 0$$](https://dxdy-01.korotkov.co.uk/f/c/f/5/cf5cd51f0ac1673f2d6d9f2b4402a59a82.png)
(

,

, итд.). При этом выполнено нормировочное условие

Координаты центра окружности, если понадобятся:

Тогда для угла пересечения

двух окружностей

и

справедлива формула

Пусть

— зелёная окружность,

— синяя. Искомая красная прямая-касательная есть

. Условие (1) принимает привычный вид

.
На первом рисуночке

,

. Эти прямые мы получим из системы уравнений

На втором рисунке мы имеем "антикасание": касательные векторы противоположны,

. Эту прямую мы получим из системы уравнений

Мы получим прямую, в коэффициентах которой заложена именно такая ориентация. Нарисованное решение также не единственно.
На третьем —

,

.
Либо можно реверсировать одну из окружностей, чисто поменяв знак всех коэффициентов. Ну да, все четыре прямые получим из двух систем,

Как-то так...