If four mutually tangent circles have curvature ki (for i=1,...,4),
Descartes' theorem says:
(k1+k2+k3+k4)^2==2*(k1^2+k2^2+k3^2+k4^2).
The curvature ki is just the reciprocal of the radius ri.
Frederick Soddy rediscovered Descartes' theorem back in the 1920's.
Solve(k1+k2+k3+k4)^2==2(k1^2+k2^2+k3^2+k4^2),k4] gives:
{{k4->k1+k2+k3-2*Sqrt[k1*k2+k1*k3+k2*k3]},
{k4->k1+k2+k3+2*Sqrt[k1*k2+k1*k3+k2*k3]}}
%/.{k1->1/a,k2->1/b,k3->1/c,k4->1/r}/.s:Sqrt[_]:>Together[s] gives:
{{1/r->1/a+1/b+1/c-2*Sqrt[(a+b+c)/(a*b*c)]},
{1/r->1/a+1/b+1/c+2*Sqrt[(a+b+c)/(a*b*c)]}}
With i as Sqrt[(a*b*c)/(a+b+c)], the radius of the in-circle of the triangle
formed by the centers of the touching circles with radii of a, b and c, the
inner Soddy circle, touching all three circles on the inside, is given by
the reciprocal of 1/a+1/b+1/c+2/i. Note that the reciprocal of
1/a+1/b+1/c-2/i gives the radius of the outer Soddy circle which touches the
all three circles so as to enclose them. There are actually up to eight
different possible circles which touch all three circles, enclosing or not
enclosing any combination of the three circles. See
mathworld.wolfram.com/ApolloniusProblem.html for the general case of circles
touching any combination of circles, lines (infinite radius circles) and
points (zero radius circles). Here is a drawing you can manipulate showing
both the inner (Cyan) and outer (Magenta) Soddy circles:
Manipulate[With[{i=Sqrt[(a*b*c)/(a+b+c)]},
With[{r=(1/a+1/b+1/c+2/i)^-1,r2=(1/a+1/b+1/c-2/i)^-1},
With[{d=Darker[#,1/5]&,pts={{0,0},{a,0},{a+c,0},
{a+c,0}+{(a-c)/(a+c)*b-c,(2*Sqrt[a*b*c*(a+b+c)])/(a+c)}*c/(b+c),
{a+(a-c)/(a+c)*b,(2*Sqrt[a*b*c*(a+b+c)])/(a+c)},{a+(a-c)/(a+c)*b,
(2*Sqrt[a*b*c*(a+b+c)])/(a+c)}*a/(a+b),{a,i},{a+(a-c)/(a+c)*r,
(2*Sqrt[a*r*c*(a+r+c)])/(a+c)},{a+(a-c)/(a+c)*r2,
(2*Sqrt[a*r2*c*(a+r2+c)])/(a+c)}}},
Graphics[{{d@Red,Dashed,Circle[pts[[1]],a],
d@Green,Circle[pts[[3]],c],d@Blue,Circle[pts[[5]],b],
d@Yellow,Circle[pts[[7]],i],PointSize[0.02],d@Cyan,
Circle[pts[[8]],Abs@r],Tooltip@Point@pts[[8]],d@Magenta,
Circle[pts[[9]],Abs@r2],Tooltip@Point@pts[[9]]},{#1,#2[pts[[#3]]],
Text[#4,Mean[pts[[#3]]],{0,-1},-Subtract@@pts[[#3]]]}&@@@{
{d@Red,Line,{1,6},"a"},{d@Red,Line,{1,2},"a"},{d@Green,Line,
{3,2},"c"},{d@Green,Line,{3,4},"c"},{d@Blue,Line,{5,4},"b"},
{d@Blue,Line,{5,6},"b"},{d@Yellow,Line,{7,2},"i"},
{d@Yellow,Line,{7,4},"i"},{d@Yellow,Line,{7,6},"i"}}},
BaseStyle->{24,Italic}]]]],{{a,14},1,15},{{b,6},1,15},{{c,7},1,15}]
Hope this helps...
"Dr. Heinz Schumann" <
schum...@web.de> wrote in message
news:ke7uhb$4i2$1...@smc.vnet.net...