Будем рассматривать нашу задачу из системы координат с началом в центре первой окружности.
Определить центр окружности по каноническому уравнению вида Ax2 + Ay2 + a1x + a2y + a0 = 0, где A =/= 0,
довольно просто - это (-a1/2A, -a2/2A);
перенести систему координат можно простым преобразованием
Xстарое=Xновое - a1/2A
Yстарое=Yновое - a2/2A
- подставить вместо старых переменных их новые значения в уравнения.
В такой системе координат уравнения окружностей можно записать как
(1) x2 + y2 = R2
(2)(x-a)2 + (y-b)2 = r2
Раскрывая скобки, вычитая (1) из (2) и приводя подобные, получаем другой вид (2):
-2ax-2by = R2 - r2 - a2 - b2.
Если еще упростить и немного поменять обозначения, то (2) приведется к виду
ax+by=C, где С - новое обозначение выражения справа.
Таким образом, имеем систему:
(1) x2 + y2 = R2
(2) ax + by = C,
решение которой, надеюсь, не составит проблем (например, подойдет подстановка - естественно с учетом случаев a=0, b=0 и т.п.) (2) в (1) и имеем простое квадратное уравнение на одну из переменных.
Решив его и получив из (2) значение оставшейся переменной, имеем(если и только если она есть) точку пересечения.
|