Function Repository Resource:

KimberlingCenter

Source Notebook

Construct a specified Kimberling center of a triangle

Contributed by: Minh Trinh Xuan and Ed Pegg Jr

ResourceFunction["KimberlingCenter"][tri,n]

returns the nth Kimberling triangle center of a triangle tri.

Details

Clark Kimberling maintains the Encyclopedia of Triangle Centers, which lists over 50,000 triangle centers, though some are not well defined.
About a hundred centers are provided by the ResourceFunction["KimberlingCenter"] function, including most of the important centers.
tri can be a list of vertices or a Triangle object.
Supported Kimberling centers currently include the centers in the following table where the middle column specifies the value of n:
X11incenter I
X22centroid G
X33circumcenter O
X44orthocenter H
X55nine-point center N
X66symmedian K
X77Gergonne Ge
X88Nagel Na
X99mittenpunkt M
X1010Spieker Sp
X1111Feuerbach F
X1313Fermat X

Examples

Basic Examples (4) 

Find the incenter, X1 or I, where the angle bisectors intersect:

In[1]:=
tri = {{0, 0}, {12, 5}, {12, 9}};
kc = ResourceFunction["KimberlingCenter"][tri, 1]
Out[2]=

Show it:

In[3]:=
Graphics[{Gray, Triangle[tri], Green, InfiniteLine[{x1[[1]], #}] & /@ tri, Disk[x1[[1]], .2]}]
Out[3]=

Find the centroid, X2 or G, where the angle medians intersect:

In[4]:=
tri = {{0, 0}, {12, 5}, {12, 9}};
x2 = ResourceFunction["KimberlingCenter"][tri, 2]
Out[5]=

Show it:

In[6]:=
Graphics[{Gray, Triangle[tri], Green, InfiniteLine[{x2, Mean[#]}] & /@ Subsets[tri, {2}], Red, Disk[x2, .2]}]
Out[6]=

This is equivalent to the result of TriangleCenter or Mean:

In[7]:=
{
 ResourceFunction["KimberlingCenter"][tri, 2],
 TriangleCenter[tri, "Centroid"],
 Mean[tri]}
Out[8]=

Find the circumcenter, X3 or O, where the perpendicular bisectors intersect:

In[9]:=
tri = {{0, 0}, {12, 5}, {12, 9}};
x3 = ResourceFunction["KimberlingCenter"][tri, 3]
Out[10]=

Show it:

In[11]:=
Graphics[{Gray, Triangle[tri], Green, InfiniteLine[{x3, Mean[#]}] & /@ Subsets[tri, {2}], Red, Disk[x3, .2]}]
Out[11]=

Equivalent ways to compute the circumcenter:

In[12]:=
x3 = {
  ResourceFunction["KimberlingCenter"][tri, 3],
  TriangleCenter[tri, "Circumcenter"],
  Circumsphere[tri]}
Out[13]=

Find the orthocenter, X4 or H, where the altitudes intersect:

In[14]:=
tri = {{0, 0}, {12, 5}, {12, 9}};
x4 = ResourceFunction["KimberlingCenter"][tri, 4]
Out[15]=

Show it:

In[16]:=
Graphics[{Gray, Triangle[tri], Green, InfiniteLine[{x4, #}] & /@ tri, Black, InfiniteLine@# & /@ Subsets[tri, {2}], Red, Disk[x4, .2]}]
Out[16]=

Equivalent ways to compute the orthocenter:

In[17]:=
{
 ResourceFunction["KimberlingCenter"][tri, 4],
 TriangleCenter[tri, "Orthocenter"],
 ResourceFunction["Orthocenter"][tri]}
Out[17]=

Scope (1) 

Find the Spieker point X10 of a triangle:

In[18]:=
ResourceFunction["KimberlingCenter"][
 Triangle[{{0, 0}, {1, 0}, {1, 1}}], 10]
Out[18]=

Neat Examples (1) 

The Euler infinity point, X30, is not currently supported by KimberlingCenter. Find and show the first 29 Kimberling centers:

In[19]:=
tri = {{0, 0}, {-3, 1}, {3, 4}};
Graphics[{EdgeForm[Black], White, Polygon[tri], Black, Table[Text[n, ResourceFunction["KimberlingCenter"][tri, n]], {n, 1, 29}]}, PlotRange -> {{-4, 7}, {-4, 7}}]
Out[20]=

Requirements

Wolfram Language 13.0 (December 2021) or above

Version History

  • 1.0.0 – 27 October 2023

Source Metadata

Related Resources

License Information