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

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


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

Пример...
Аналог данной функции при использовании Automation - метод ksMathematic2D::ksIntersectCirCir.
Синтаксис:
```
void IntersectCirCir (double xc1,double yc1,
double rad1, double xc2,
double yc2, double rad2,
int *kp, double xp, double yp);
Входные параметры:
xc1, yc1    - координаты центра первой окружности,
rad1    - радиус первой окружности,
xc2, yc2    - координаты центра второй окружности,
rad2    - радиус второй окружности,
Выходные параметры:
kp    - число пересечений (от 0 до 2),
xp, yp    - координаты точки пересечения.
```


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

void IntersectCirCir_Example (void) {
double x[2], y[2];
int k, i;
Circle ( 60, 60, 30, 1);
Circle ( 75, 60, 30, 1);
IntersectCirCir (60, 60, 30, 75, 60, 30, &k, x, y);
char buf[128];
sprintf(buf, "Количество пересечений = %i", k);
::Message(buf);
if (k)
for (I=0; i<k; I) Point (x[i], y[i], 1); /* точки пересечения */
};
