Re: Apollonius' circle tactation
- To: mathgroup at smc.vnet.net
- Subject: [mg129635] Re: Apollonius' circle tactation
- From: "Alexander Elkins" <alexander_elkins at hotmail.com>
- Date: Thu, 31 Jan 2013 20:48:21 -0500 (EST)
- Delivered-to: l-mathgroup@mail-archive0.wolfram.com
- Delivered-to: l-mathgroup@wolfram.com
- Delivered-to: mathgroup-newout@smc.vnet.net
- Delivered-to: mathgroup-newsend@smc.vnet.net
- References: <ke7uhb$4i2$1@smc.vnet.net>
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 at web.de> wrote in message news:ke7uhb$4i2$1 at 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 >