Даны две окружности, каждая определена координатами своего центра и радиусом. Требуется найти все их точки пересечения (либо одна, либо две, либо ни одной точки, либо окружности совпадают).
Видео:Точка встречи прямой с плоскостьюСкачать
Решение
Предположим, не теряя общности, что центр первой окружности — в начале координат (если это не так, то перенесём центр в начало координат, а при выводе ответа будем обратно прибавлять координаты центра). Тогда мы имеем систему двух уравнений:
Вычтем из второго уравнения первое, чтобы избавиться от квадратов переменных:
Таким образом, мы свели задачу о пересечении двух окружностей к задаче о пересечении первой окружности и следующей прямой:
А решение последней задачи описано в соответствующей статье.
Единственный вырожденный случай, который надо рассмотреть отдельно — когда центры окружностей совпадают. Действительно, в этом случае вместо уравнения прямой мы получим уравнение вида 0 = С, где C — некоторое число, и этот случай будет обрабатываться некорректно. Поэтому этот случай нужно рассмотреть отдельно: если радиусы окружностей совпадают, то ответ — бесконечность, иначе — точек пересечения нет.
Видео:Алгоритмы. Пересечение окружностейСкачать
Пересечение двух окружностей
Этот онлайн калькулятор находит точки пересечения двух окружностей, если они существуют
Чтобы использовать калькулятор, введите координаты x и y центра и радиус каждой окружности.
Формулы для расчета приведены под калькулятором.
Точки пересечения двух окружностей
Первая окружность
Вторая окружность
Видео:Взаимное расположение окружностей. Точки пересечения окружностейСкачать
Пересечение окружностей
Сама по себе задача нахождения точек пересечения двух окружностей достаточно проста, однако предварительно надо проанализировать если ли вообще точки пересения у данных двух окружностей. Поэтому начать надо с вычисления расстояния d в декартовых координатах между центрами окружностей и сравнения его с радиусами окружностей r1 и r2.
При этом возможно следующие случаи (расстояние между центрами показано красным отрезком):
Случай | Описание | Условие |
---|---|---|
Тривиальный случай — окружности совпадают (это одна и та же окружность) | ||
Окружности не касаются друг друга | r1 + r2″ /> | |
Одна окружность содержится внутри другой и не касается ее | ||
Окружности пересекаются в двух точках | Не выполнено ни одно из условий выше | |
Окружности соприкасаются в одной точке | Частный случай предыдущего |
Если окружности действительно пересекаются, калькулятор использует следующие формулы (в-основном выведенные из теоремы Пифагора), проиллюстрированные рисунком ниже:
Сначала калькулятор находит отрезок a
Чтобы найти точку P3, калькулятор использует следующую формулу (в векторном виде):
И наконец, чтобы найти точки пересечения, калькулятор использует следующие уравнения:
Первая точка:
Обратите внимание на разные знаки перед вторым слагаемым
По теме также можно посмотреть следующие ссылки (на английском языке): Circle-Circle Intersection и Circles and spheres
Видео:Определение точки пересечения окружности с прямойСкачать
Алгоритм точки пересечения окружностей
Перевод Кантора И.А.
Подход 1
Будем рассматривать нашу задачу из системы координат с началом в центре первой окружности.
Определить центр окружности по каноническому уравнению вида Ax 2 + Ay 2 + a1x + a2y + a0 = 0, где A =/= 0, довольно просто — это (-a1/2A, -a2/2A);
перенести систему координат можно простым преобразованием
— подставить вместо старых переменных их новые значения в уравнения.
В такой системе координат уравнения окружностей можно записать как
(1) x 2 + y 2 = R 2 (2)(x-a) 2 + (y-b) 2 = r 2
Раскрывая скобки, вычитая (1) из (2) и приводя подобные, получаем другой вид (2):
-2ax-2by = R 2 — r 2 — a 2 — b 2 .
Если еще упростить и немного поменять обозначения, то (2) приведется к виду
ax+by=C, где С — новое обозначение выражения справа.
Таким образом, имеем систему:
(1) x 2 + y 2 = R 2 (2) ax + by = C,
решение которой, надеюсь, не составит проблем (например, подойдет подстановка — естественно с учетом случаев a=0, b=0 и т.п.) (2) в (1) и имеем простое квадратное уравнение на одну из переменных.
Решив его и получив из (2) значение оставшейся переменной, имеем(если и только если она есть) точку пересечения.
Подход 2
Пусть нужно найти пару точек P3 пересечения, если они существуют.
Для начала найдем расстояние между центрами окружностей. d = || P1 — P0 ||. Если d > r0 + r1, тогда решений нет: круги лежат отдельно. Аналогично в случае d a 2 + h 2 = r0 2 and b 2 + h 2 = r1 2
Используя равенство d = a + b, мы можем разрешить относительно a:
a = (r0 2 — r1 2 + d 2 ) / (2 d)
В случае соприкосновения окружностей, это, очевидно, превратится в r0, так как: d = r0 + r1
Решим относительно h, подставив в первое уравнение h 2 = r0 2 — a 2
Таким образом, получаем координаты точек P3 = (x3,y3):
🔍 Видео
Линия пересечения двух поверхностей конус и цилиндр (Метод секущих плоскостей)Скачать
Точки пересечения прямой с поверхностью/Points of intersection of a straight line with a surface.Скачать
Пересечение двух окружностейСкачать
Взаимное расположение и точки пересечения прямой и окружностиСкачать
Пересечение двух плоскостей. Плоскости в виде треугольникаСкачать
Линия пересечения двух поверхностей вращения (Метод вспомогательных сфер)Скачать
Всё про углы в окружности. Геометрия | МатематикаСкачать
Построение точки пересечения прямой и плоскостиСкачать
Точка пересечения двух окружностей равноудалена ... | ОГЭ 2017 | ЗАДАНИЕ 13 | ШКОЛА ПИФАГОРАСкачать
Пересечение прямой и плоскостиСкачать
Canvas & JavaScript | Находим точки пересечения окружностейСкачать
Построение точек встречи прямой m с поверхностью сферыСкачать
Лекция 2 | Компьютерная графика | Виталий Галинский | ЛекториумСкачать
Построение точки пересечения прямой и плоскости | Стереометрия #29 | ИнфоурокСкачать
2 3 проекция точки на конусеСкачать
1 2 4 сопряжение окружностейСкачать