--- title: "IntersectLinSCir - Получить координаты точек пересечения отрезка и окружности" type: interface api: [api7] tags: [interface, api7, intersectlinscir] sources: - intersectlinscir.html --- *API экспортных функций > Функции работы с графическим документом  > Вспомогательные построения  > Функции вычисления пересечений * ## IntersectLinSCir - Получить координаты точек пересечения отрезка и окружности Пример... Аналог данной функции при использовании Automation - метод ksMathematic2D::ksIntersectLinSCir. Синтаксис: ``` void IntersectLinSCir (double x1, double y1, double x2, double y2, double xc, double yc, double rad, int * kp, double xp, double yp); Входные параметры: x1, y1 - координаты начальной точки отрезка, x2, y2 - координаты конечной точки отрезка, xc, yc - координаты центра окружности, rad - радиус окружности. Выходные параметры: kp - число пересечений (от 0 до 2), xp, yp - координаты точки пересечения. ``` ## IntersectLinSCir - пример использования void IntersectLinSCir_Example (void) { double x, y; int k; Circle ( 60, 60, 30, 1); LineSeg ( 20, 20, 100, 100, 1); IntersectLinSCir (20, 20, 100, 100, 60, 60, 30, &k, &x, &y); char buf[128]; sprintf(buf, "Количество пересечений = %i", k); ::Message(buf); if (k) Point (x, y, 1); /* точка пересечения */ };