Function Repository Resource:

GergonnePoint

Source Notebook

Return the Gergonne point of a triangle

Contributed by: Shenghui Yang

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

returns the Gergonne point of the triangle defined by vertices p1,p2 and p3.

Details

ResourceFunction["GergonnePoint"] is the perspector of a triangle and its contact triangle.
The existence of the Gergonne point follows directly from Ceva's theorem.
ResourceFunction["GergonnePoint"] effectively uses the corresponding triangle center function to compute barycentric coordinates.
ResourceFunction["GergonnePoint"][Triangle[{p1,p2,p3}]] is equivalent to ResourceFunction["GergonnePoint"][{p1,p2,p3}].

Examples

Basic Examples (2) 

Find the Gergonne point of three triangle vertices:

In[1]:=
tri = {{0, 0}, {1.5, 4}, {5, 0}};
ge = ResourceFunction["GergonnePoint"][tri]
Out[1]=

The perspectors concur at the Gergonne point (marked Ge in the diagram):

In[2]:=
Graphics[{
  {Orange, Opacity[0.2], Triangle[tri]},
  TriangleConstruct[tri, "Incircle"],
  HalfLine[{tri[[1]], ge[[1]]}],
  HalfLine[{tri[[2]], ge[[1]]}],
  HalfLine[{tri[[3]], ge[[1]]}],
  {
PointSize[
Scaled[0.08]], 
Hue[0.58, 1, 1], ge, 
Text[
Style["Ge", White, FontSize -> Scaled[0.04]], 
Part[ge, 1]]}
  }, PlotRange -> {{0, 5}, {-1/3, 4}}]
Out[2]=

Scope (2) 

Compute the Gergonne point of a 3D triangle:

In[3]:=
tri = Triangle[{{0, 0, 0}, {1, 0, 0}, {0, 1, 1}}];
pt = Simplify[ResourceFunction["GergonnePoint"][tri]]
Out[3]=

Show the Gergonne point and the triangle together:

In[4]:=
Graphics3D[{{Opacity[0.3, Orange], tri}, {AbsolutePointSize[8], pt}}]
Out[4]=

Neat Examples (3) 

The Gergonne point, incenter and de Longchamps point (Kimberling center X20) are collinear:

In[5]:=
tri = {{0, 0}, {1, 5}, {5, 0}};
circumcenter = TriangleConstruct[tri, "Circumcenter"];
orthocenter = TriangleConstruct[tri, "Orthocenter"];
incenter = TriangleConstruct[tri, "Incenter"];
In[6]:=
x20 = Point[
   ReflectionTransform[orthocenter[[1]] - circumcenter[[1]], circumcenter[[1]]][orthocenter[[1]]]];
ge = ResourceFunction["GergonnePoint"][tri];

Show the collinearity:

In[7]:=
Det[PadRight[First /@ {incenter, x20, ge}, {3, 3}, 1]] == 0 // FullSimplify
Out[7]=

Visualize the points and the line passing them:

In[8]:=
label[sym_, Point[pos_]] := {PointSize[Scaled[0.063]], Hue[0.58, 1, 1], Point[pos], Text[Style[sym, White, FontSize -> Scaled[0.03]], pos]};

Graphics[{
  {Orange, Opacity[0.2], Triangle[tri]},
  TriangleConstruct[tri, "Incircle"],
  InfiniteLine[Identity @@@ {ge, incenter}],
  MapThread[
   label, {{"Ge", "I", Subscript[X, 20]}, {ge, incenter, x20}}]
  }, PlotRange -> {{0, 5}, {-1/3, 5}}]
Out[8]=

Publisher

Shenghui Yang

Version History

  • 1.0.0 – 16 August 2021

Source Metadata

Related Resources

License Information