Вы можете расширить скобки и решить квадратное уравнение для неизвестного t
:
((px - cx) + t * dx)^2 + ((py - cy) + t * dy)^2 = r^2
Если (dx,dy)
вектор нормализован (единичная длина), тогда необходимо значение t
(положительный корень, если ваша линия действительно является лучом, начинающимся внутри круга).
Формула для точки пересечения (не требуется в текущем утверждении)
ix = px + t * dx
iy = py + t * dy