Да се намерят пресечните точки на две окръжности

Нека са зададени две окръжности (A и B) в двумерно пространство (2D) с техните координати на центровете (Ax,Ay) и (Bx,By), също са зададени радиуси (R1 и R2) да се напише програма на C++, която намира кооридинатите на пресечните точки на двете окръжности, в случая в който те се пресеичат.

За помощ:
http://mathworld.wolfram.com/Circle-CircleIntersection.html

Програмен фрагмент на C++ реализиращ двете окръжности:

class circle
{
private:
int x,y,r;
public:
circle(int a, int b, int c);
void print();
}
circle::circle
{
x = a; y = b; r = c;
print();
}
void circle::print()
{
cout << "(" << x << "," << y << "), r=" << r << endl; } int main() { circle A(0,0,2), B(3,3,2); return 0; }

Автор: Димитър Минчев

Доктор по информатика и компютърни науки