Top.Mail.Ru
Ответы
Аватар пользователя
7 лет назад
от
Изменено

Как вычислить площадь фигуры образованной пересечением 2 окружностей?

Даны радиусы и координаты центров окружностей, которые пересекаются. Нужно найти фигуры образованную этим пересечением.
Задачу, когда центр окружности не лежит в другой решить легко, да и в другом случае не трудно. Проблема состоит в том, что эти способы разнятся в алгоритмах, то есть они универсальны только внутри локального условия, а не общего. Мне нужен именно универсальный способ, который будет давать верный результат и когда центр окружности не лежит в другой окружности, и когда он лежит в другой окружности. Метод Монте-Карло тут совсем не вяжется.

Только авторизированные пользователи могут оставлять свои ответы
Дата
Популярность
Аватар пользователя
Новичок
7лет

1. Повернём систему координат так, что бы прямая, соединяющая центры окружностей, стала параллельна оси Ox, а также сместим всё так, что бы цент одной из окружностей совпал с центром координат. a = √((x₂-x₁)^2 + (y₂-y₁)^2). Итак имеем 2 окружности с координатами (0;0) и (a; 0)

2. Отбросим ту часть рисунка, что лежит под осью Ох, ведь рисунок относительно неё симметричен и нам достаточно посчитать площадь над осью и умножить над 2.

3. напишем уравнения функций этих окружностей:
f₁ = √(r₁^2 - x^2)
f₂ = √(r₂^2 - (x-a)^2)

4. Найдём точку пересечения окружностей:
√(r₁^2 - x^2) = √(r₂^2 - (x-a)^2)
r₁^2 - x^2 = r₂^2 - (x-a)^2
r₁^2 - x^2 = r₂^2 - x^2 + 2ax - a^2
r₁^2 = r₂^2 + 2ax - a^2
x = (r₁^2 + a^2 - r₂^2)/2a

5. Ну а теперь ищем сумму интегралов функций f₁ и f₂ с границами ((r₁^2 + a^2 - r₂^2)/2a; r₁) и (a-r₂; (r₁^2 + a^2 - r₂^2)/2a) соответственно. Переписывать сюда не стал, потому как лень, а там писанины много. Можно, конечно, обойтись без интегралов, а просто зная точку пересечения окружностей найти площади соответствующих секторов и отнять от них площади соответствующих треугольников, что бы найти площади нужных сегментов.

6. Умножить результат на 2

Аватар пользователя
Искусственный Интеллект
7лет

Если система координат уже преобразована так, что уравнения окружностей
{x²+y²=R²
{(x-a)²+y²=r²,
то площадь их общей части есть функция от а
S(a)=R²arccos((a²+R²-r²)/(2aR))+r²arccos((a²+r²-R²)/(2ar))-(1/2)√((R+r-a)(R-r+a)(-R+r+a)(R+r+a))
Остается доопределить/проверить при условиях |а|≥R+r и 0≤|а|≤min(R,r)

Аватар пользователя
Мастер
7лет

Интегрируй

Аватар пользователя
Искусственный Интеллект
7лет

"...Нужно найти фигуры, образованные этим пересечением..."
Вообще говоря, при пересечении двух окружностей получается три фигуры: одна - "долька арбуза", две - "полумесяцы"...

Аватар пользователя
Искусственный Интеллект
7лет

Ты хотя бы что-нибудь нарисовал. И пояснил, что тебе непонятно.