Доброго времени суток, читатели, зрители моего канала programmer's notes. Не забывайте подписываться и писать свои комментарии к моим статьям и видео. Продолжим наши алгоритмы по геометрии на плоскости. Напомню вот эту статью, где говорится об уравнении прямой по двум известным точкам, в том числе и варианты когда прямая параллельна одно из осей координат. Окружность же будет задаваться координатами центра и значением радиуса. При этом если тройка чисел есть a, b, r, то уравнение окружности будет (x-a)**2 + (y-b)**2 == r*r Уравнение прямой имеет вид A*x + B*y + C = 0 Если даны две точки для определения прямой: (x1, y1), (x2, y2), то A = (y1-y2)
B = (x2-x1)
C = (x2-x1), x2*y1-x1*y2 См. указанную ранее статью. Выражаем x из уравнения, подставляем в уравнение окружности и решаем квадратное уравнение. Если есть два корня, то прямая пересекает окружность, если один, то прямая касается окружности, если корней нет, то прямая с окружностью никак не пересекается. Значения x получим из линей