Drexel dragonThe Math ForumDonate to the Math Forum



Search All of the Math Forum:

Views expressed in these public forums are not endorsed by Drexel University or The Math Forum.


Math Forum » Discussions » Software » comp.soft-sys.math.mathematica

Topic: Apollonius' circle tactation
Replies: 2   Last Post: Feb 2, 2013 1:15 AM

Advanced Search

Back to Topic List Back to Topic List Jump to Tree View Jump to Tree View   Messages: [ Previous | Next ]
Alexander Elkins

Posts: 32
Registered: 4/13/09
Re: Apollonius' circle tactation
Posted: Jan 31, 2013 8:46 PM
  Click to see the message monospaced in plain text Plain Text   Click to reply to this topic Reply

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" <schumannph@web.de> wrote in message
news:ke7uhb$4i2$1@smc.vnet.net...

> 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
>









Point your RSS reader here for a feed of the latest messages in this topic.

[Privacy Policy] [Terms of Use]

© Drexel University 1994-2014. All Rights Reserved.
The Math Forum is a research and educational enterprise of the Drexel University School of Education.