Пересечение двух окружностей

Этот онлайн калькулятор находит точки пересечения двух окружностей, если они существуют

Чтобы использовать калькулятор, введите координаты x и y центра и радиус каждой окружности.

Формулы для расчета приведены под калькулятором.

PLANETCALC, Точки пересечения двух окружностей

Точки пересечения двух окружностей

Первая окружность

Вторая окружность

Знаков после запятой: 2
Проверка расстояния между окружностями
 
Файл очень большой, при загрузке и создании может наблюдаться торможение браузера.

Пересечение окружностей

Сама по себе задача нахождения точек пересечения двух окружностей достаточно проста, однако предварительно надо проанализировать если ли вообще точки пересения у данных двух окружностей. Поэтому начать надо с вычисления расстояния d в декартовых координатах между центрами окружностей и сравнения его с радиусами окружностей r1 и r2.

При этом возможно следующие случаи (расстояние между центрами показано красным отрезком):

Случай Описание Условие
Тривиальный случай - окружности совпадают (это одна и та же окружность) d = 0, r1 = r2

separate.png

Окружности не касаются друг друга d > r1 + r2

contained.png

Одна окружность содержится внутри другой и не касается ее d < abs(r1 - r2)

twopoints.png

twopoints2.png

Окружности пересекаются в двух точках Не выполнено ни одно из условий выше

onepoint.png

onepoint2.png

Окружности соприкасаются в одной точке Частный случай предыдущего

Если окружности действительно пересекаются, калькулятор использует следующие формулы (в-основном выведенные из теоремы Пифагора), проиллюстрированные рисунком ниже:

Two intersection points
Two intersection points

Сначала калькулятор находит отрезок a
a=\frac{r^2_1-r^2_2+d^2}{2d}
и затем отрезок h
h=\sqrt{r^2_1-a^2}

Чтобы найти точку P3, калькулятор использует следующую формулу (в векторном виде):
P3=P1 + \frac{a}{d}(P2-P1)

И наконец, чтобы найти точки пересечения, калькулятор использует следующие уравнения:
Первая точка:
x_4=x_3+\frac{h}{d}(y_2-y_1)\\y_4=y_3-\frac{h}{d}(x2-x_1)
Вторая точка:
x_4=x_3-\frac{h}{d}(y_2-y_1)\\y_4=y_3+\frac{h}{d}(x2-x_1)
Обратите внимание на разные знаки перед вторым слагаемым

По теме также можно посмотреть следующие ссылки (на английском языке): Circle-Circle Intersection и Circles and spheres

Ссылка скопирована в буфер обмена
PLANETCALC, Пересечение двух окружностей

Комментарии