Function Repository Resource:

MixtilinearIncircles

Source Notebook

Get the three mixtilinear incircles of a triangle

Contributed by: Shenghui Yang

ResourceFunction["MixtilinearIncircles"][{p1,p2,p3}]

gives the three mixtilinear incircles for a triangle with vertices p1,p2 and p3.

ResourceFunction["MixtilinearIncircles"][{p1,p2,p3},property]

returns additional related geometric objects of the mixtilinear incircles for the given property.

ResourceFunction["MixtilinearIncircles"][{p1,p2,p3},{prop1,}]

returns a list of properties.

Details

The mixtilinear incircles of a triangle are the three circles that are tangent to two sides and internally tangent to the circumcircle.
Given triangle ABC, the convention of the order for mixtilinear incenters and circles follows the diagram given here (points and circles are sorted with respect to alphabetic order in subscript):
Given triangle ABC, the mixtilinear radical axis for vertex A is the line through the intersection of circles OB and OC in the diagram. Those for vertices B and C are defined similarly.
Given triangle ABC, the mixtilinear circle passes through points OA, OB and OC.
The following values are available for property:
"Circles"the mixtilinear incircles of a triangle
"MixtilinearIncircles"same as "Circles"
"MixtilinearIncenters"the centers of mixtilinear incircles of a triangle
"MixtilinearInradii"the radii of mixtilinear incircles of a triangle
"MixtilinearTriangle"the triangle connecting the three mixtilinear incenters
"MixtilinearCircle"the circumcircle of the mixtilinear triangle
"MixtilinearRadicalAxes"the radical axes of pairs of the mixtilinear incircles
"MixtilinearRadicalCenter"the intersection of the radical axes
"ContactsOnCirumcircle"the contacts between mixtilinear incircles and circumcircle
"OverlappingInversions"combination of circle inversion and reflection along the angle bisector
"X56"the concurrence of lines joining vertices and contacts on the circumcircle
Allan association including all properties given above
ResourceFunction["MixtilinearIncircles"][Triangle[{p1,p2,p3}]] is equivalent to ResourceFunction["MixtilinearIncircles"][{p1,p2,p3}].

Examples

Basic Examples (2) 

Find the three mixtilinear incircles for a reference triangle:

In[1]:=
ResourceFunction[
 "MixtilinearIncircles"][{{0, 0}, {1.1, 3.8}, {5, 0.5}}]
Out[1]=

An equivalent specification:

In[2]:=
ResourceFunction[
 "MixtilinearIncircles"][{{0, 0}, {1.1, 3.8}, {5, 0.5}}, "Circles"]
Out[2]=

Scope (4) 

Find a list of properties for a triangle:

In[3]:=
ResourceFunction[
 "MixtilinearIncircles"][{{0, 0}, {1.1, 3.8}, {5, 0.5}}, {"Circles", "ContactsOnCirumcircle"}]
Out[3]=

Visualize the three mixtilinear circles along with the reference triangle:

In[4]:=
tri = Triangle[{{0, 0}, {1.2, 4}, {5, 0.5}}];
Graphics[{
   {Opacity[0.2], Orange, tri},
   {Opacity[0.4], ResourceFunction["MixtilinearIncircles"][tri]},
   {Dashed, TriangleConstruct[tri, "Circumcircle"]}
   }] // Framed
Out[4]=

MixtilinearIncircles works with Triangle objects:

In[5]:=
tri = {{0, 0}, {1.1, 3.8}, {5, 0.5}};
ResourceFunction["MixtilinearIncircles"][Triangle[tri]]
Out[5]=

Find the mixtilinear incircles for several triangles:

In[6]:=
triList = Triangle[{
    {{0, 0}, {1.2, 4}, {5, 0.5}},
    {{0.5, -0.5}, {1.2, 3}, {5, 0}}
    }];
ResourceFunction["MixtilinearIncircles"][triList]
Out[6]=

Applications (3) 

In the leftmost diagram, the overlapping inversion for vertex A={0,0} uses circle inversion at A with power and then applies the reflection transformation about the angular bisector of A. This operation sends the mixtilinear incircle and circumcircle contact point (black) to the blue point, which is the contact point between A-excircle and side BC:

In[7]:=
label[sym_String | sym_StringForm, pos_] := {
PointSize[
Scaled[0.08]], 
Hue[0.58, 1, 1], 
Point[pos], 
Text[
Style[sym, White, FontSize -> Scaled[0.07]], pos]};
In[8]:=
(* Evaluate this cell to get the example input *) CloudGet["https://www.wolframcloud.com/obj/fdb3bc3e-7f28-4063-9f95-a7023cb6f158"]
Out[8]=

Therefore, the lines connecting A to the blue point and A to the black point are isogonal conjugate with respect to the angle bisector of A. Similar results apply to B and C.


The isogonal conjugacy also relates the Nagel point (brown) and the Kimberling center X56 (blue). The latter is the concurrence of the lines joining the vertex and the corresponding mixtilinear incircle-to-circumcircle contact point:

In[9]:=
(* Evaluate this cell to get the example input *) CloudGet["https://www.wolframcloud.com/obj/64ad8262-ae16-4e3a-96f8-8c77c7cc9251"]
Out[9]=

Given triangle ABC, the overlapping inversion at A sends the incenter to the A-excenter. Similar results apply to B and C:

In[10]:=
tri = {{0, 0}, {0.8, 3.9}, {5, 0.5}};
{TriangleConstruct[tri, {"Excenter", tri[[1]]}],
 ResourceFunction["MixtilinearIncircles"][tri, "OverlappingInversions"][[1]][TriangleConstruct[tri, "Incenter"]]}
Out[10]=

Properties and Relations (1) 

Display all available information from MixtilinearIncircles in a dataset:

In[11]:=
tri = {{0, 0}, {1.5, 4.2}, {5, 0}};
Dataset[ResourceFunction["MixtilinearIncircles"][tri, All]]
Out[11]=

Neat Examples (3) 

For a given triangle, the point X56 (blue), mixtilinear radical center (red), incenter (orange) and circumcenter (black) are collinear:

In[12]:=
tri = {{0, 0}, {0.8, 4}, {5, .5}};
circumCen = TriangleConstruct[tri, "Circumcenter"];
inCen = TriangleConstruct[tri, "Incenter"];
x56 = ResourceFunction["MixtilinearIncircles"][tri, "X56"];
mrc = ResourceFunction["MixtilinearIncircles"][tri, "MixtilinearRadicalCenter"];

Show the collinearity:

In[13]:=
Chop[Det[PadRight[First /@ {inCen, circumCen, x56}, {3, 3}, 1]]] == 0
Out[13]=
In[14]:=
Chop[Det[PadRight[First /@ {inCen, circumCen, mrc}, {3, 3}, 1]]] == 0
Out[14]=

Visualize the points and the line passing the four points:

In[15]:=
Legended[Graphics[{
   {LightBlue, EdgeForm[Thick], Triangle[tri]},
   {Dashed, Opacity[0.5], InfiniteLine[{inCen[[1]], circumCen[[1]]}]},
   {Opacity[0.2], TriangleConstruct[tri, "Circumcircle"], ResourceFunction["MixtilinearIncircles"][tri]},
   PointSize[Large], {Blue, x56}, {Red, mrc}, {Orange, inCen}, {Black,
     circumCen}
   }],
 PointLegend[{Blue, Red, Orange, Black}, {"\!\(\*SubscriptBox[\(X\), \(56\)]\)", "mixtilinear radical center", "incenter", "circumcenter"}, LegendMarkers -> ConstantArray[Graphics[Disk[]], 4]]]
Out[15]=

Publisher

Shenghui Yang

Version History

  • 1.0.1 – 22 April 2022
  • 1.0.0 – 01 November 2021

Source Metadata

Related Resources

Author Notes

The function is designed as a handy companion to work with the thorough study about mixtilinear circle properties and a series of beautiful lemmata discussed in Baca's note. Check the Links section.

License Information