---
title: "IntersectCirLin - Получить координаты точек пересечения окружности и прямой"
type: interface
api: [api7]
tags: [interface, api7, intersectcirlin]
sources:
  - intersectcirlin.html
---

*API экспортных функций > Функции работы с графическим документом  > Вспомогательные построения  > Функции вычисления пересечений *


## IntersectCirLin - Получить координаты точек пересечения окружности и прямой

Пример...
Аналог данной функции при использовании Automation - метод ksMathematic2D::ksIntersectCirLin.
Синтаксис:
```
void IntersectCirLin (double xc,
double yc,
double rad,
double x,
double y,
double ang,
int *kp,
double xp,
double yp);
Входные параметры:
xc, yc    - координаты центра окружности,
rad    - радиус окружности,
x, y    - координаты точки на прямой,
ang    - угол наклона прямой.
Выходные параметры:
kp    - число пересечений (от 0 до 2),
xp, yp    - координаты точки пересечения.
```


## IntersectCirLin - пример использования

void IntersectCirLin_Example (void) {
double x, y;
int k;
Circle ( 60, 60, 30, 1);
Line ( 20, 20, 45);
IntersectCirLine (60, 60, 30, 20, 20, 45, &k, &x, &y);
char buf[128];
sprintf(buf, "Количество пересечений = %i", k);
::Message(buf);
if (k) Point (x, y, 1); /* точка пересечения */
};
