Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Apollonius' circle tactation

46 views
Skip to first unread message

Dr. Heinz Schumann

unread,
Jan 29, 2013, 2:42:35 AM1/29/13
to
Dear Colleagues,
does exist a veritable and short Mathematica solution of the problem to calculate the midpoint coordinates and the radius of a third (fourth) circle tangent to two (three) given circles already mutual tangent.
Best
Heinz Schumann

Alexander Elkins

unread,
Jan 31, 2013, 8:46:25 PM1/31/13
to
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...

Narasimham

unread,
Feb 2, 2013, 1:15:23 AM2/2/13
to
1) Google " Kiss precise " for Soddy circles in general.

2) Hint: Using 1/d = 1/a+1/b+1/c+ 2*Sqrt[(a+b+c)/(a*b*c)] above ,
find d.

Center of circles radii a, b are foci in a bipolar coordinate system.
Find Apollonius circle locus for constant ratio of sides ( a + d )/( b
+ d ), pairwise, to find the center of inward contact of all circles.

Narasimham

0 new messages