Инструкция
1
Предположим, что даны две окружности, заданные своими радиусами R и r, а также координатами их центров — соответственно (x1, y1) и (x2, y2). Требуется вычислить, пересекаются ли эти окружности, и если да, то найти координаты точек пересечения.Для простоты можно предположить, что центр одной из заданных окружностей совпадает с началом координат. Тогда (x1, y1) = (0, 0), а (x2, y2) = (a, b). Также имеет смысл предполагать, что a ≠ 0 и b ≠ 0.
2
Таким образом, координаты точки (или точек) пересечения окружностей, если они есть, должны удовлетворять системе из двух уравнений:x^2 + y^2 = R^2,
(x - a)^2 + (y - b)^2 = r^2.
(x - a)^2 + (y - b)^2 = r^2.
3
После раскрытия скобок уравнения приобретают вид:x^2 + y^2 = R^2,
x^2 + y^2 - 2ax - 2by + a^2 + b^2 = r^2.
x^2 + y^2 - 2ax - 2by + a^2 + b^2 = r^2.
4
Теперь первое уравнение можно вычесть из второго. Таким образом, квадраты переменных исчезают, и возникает линейное уравнение: -2ax - 2by = r^2 - R^2 - a^2 - b^2. С его помощью можно выразить y через x:y = (r^2 - R^2 - a^2 - b^2 - 2ax)/2b.
5
Если подставить найденное выражение для y в уравнение окружности, задача сводится к решению квадратного уравнения: x^2 + px + q = 0, гдеp = -2a/2b,
q = (r^2 - R^2 - a^2 - b^2)/2b - R^2.
q = (r^2 - R^2 - a^2 - b^2)/2b - R^2.
6
Корни этого уравнения позволят найти координаты точек пересечения окружностей. Если уравнение неразрешимо в действительных числах, то окружности не пересекаются. Если корни совпадают между собой, то окружности касаются друг друга. Если корни различны, то окружности пересекаются.
7
Если a = 0 или b = 0, то исходные уравнения упрощаются. Например, при b = 0 система уравнений примет вид:x^2 + y2 = R^2,
(x - a)^2 + y^2 = r^2.
(x - a)^2 + y^2 = r^2.
8
После вычитания первого уравнения из второго получается:- 2ax + a^2 = r^2 - R^2.Его решение: x = - (r^2 - R^2 - a2)/2a. Очевидно, что в случае b = 0 центры обеих окружностей лежат на оси абсцисс, и у точек их пересечения будет одинаковая абсцисса.
9
Это выражение для x можно подставить в первое уравнение окружности и получить квадратное уравнение относительно y. Его корни — ординаты точек пересечения, если таковые существуют. Аналогичным образом находится выражение для y, если a = 0.
10
Если a = 0 и b = 0, но при этом R ≠ r, то одна из окружностей заведомо находится внутри другой, и точки пересечения отсутствуют. Если же R = r, то окружности совпадают, и точек их пересечения бесконечно много.
11
Если ни у одной из двух окружностей центр не совпадает с началом координат, то их уравнения будут иметь вид:(x - x1)^2 + (y - y1)^2 = R^2,
(x - x2)^2 + (y - y2)^2 = r^2.Если перейти к новым координатам, получающимся из старых методом параллельного переноса: x′ = x + x1, y′ = y + y1, то эти уравнения приобретают вид:x′^2 + y′^2 = R^2,
(x′ - (x1 + x2))^2 + (y′ - (y1 + y2))^2 = r^2.Задача, таким образом, сводится к предыдущей. Найдя решения для x′ и y′, можно легко вернуться к изначальным координатам, обратив уравнения для параллельного переноса.
(x - x2)^2 + (y - y2)^2 = r^2.Если перейти к новым координатам, получающимся из старых методом параллельного переноса: x′ = x + x1, y′ = y + y1, то эти уравнения приобретают вид:x′^2 + y′^2 = R^2,
(x′ - (x1 + x2))^2 + (y′ - (y1 + y2))^2 = r^2.Задача, таким образом, сводится к предыдущей. Найдя решения для x′ и y′, можно легко вернуться к изначальным координатам, обратив уравнения для параллельного переноса.