Malfatti circles

Posted on January 16, 2020 by Stéphane Laurent
Tags: R, maths, geometry

The Malfatti cirlces of a triangle can be constructed using straightedge and compass.

Here we provide the analytical formulae of the Malfatti circles of a triangle ABC.

Let I be the incircle of ABC and r its inradius. Let a=BC, b=AC and c=AB be the edge lengths of ABC, and s=12(a+b+c) be the semiperimeter. The radii of the Malfatti circles are given by r1=r(sr(IB+ICIA))2(sa), r2=r(sr(IC+IAIB))2(sb), r3=r(sr(IA+IBIC))2(sc). Now, the centers. Set d1=r1tan(arccos((CA).(BA)bc)2), d2=r2tan(arccos((CB).(AB)ac)2), d3=r3tan(arccos((AC).(BA)ba)2), w=d1+d2+r1r2, u=d2+d3+r2r3, v=d3+d1+r3r1, d=(u+v+w)(u+vw)(uv+w)(u+v+w)2. Then the trilinear coordinates x:y:z of the center O1 are x=dr1(v+w),y=u,z=u. For O2, x=v,y=dr2(u+w),z=v. And for O3, x=w,y=w,z=dr3(u+v).

Here is a R code returning the Malfatti circles:

Try it: