Function Repository Resource:

NagelPoint

Source Notebook

Get the Nagel point of a triangle

Contributed by: Shenghui Yang

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

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

Details

The Nagel point of a triangle is the point of concurrence of the three lines that respectively pass through a vertex of a triangle and the corresponding excircle contact point (extouch point) of the opposite side.
ResourceFunction["NagelPoint"] is the isotomic conjugate of the Gergonne point.
The existence of the Nagel point follows directly from Ceva's theorem and the semiperimeter partition of the extouch point.
ResourceFunction["NagelPoint"] effectively uses the triangle center function with a barycentric weighted average of the vertices of the given triangle.
ResourceFunction["NagelPoint"][Triangle[{p1,p2,p3}]] is equivalent to ResourceFunction["NagelPoint"][{p1,p2,p3}].

Examples

Basic Examples (1) 

Find the Nagel point of three triangle vertices:

In[1]:=
tri = {{0, 0}, {1.2, 4}, {5, 0}};
na = ResourceFunction["NagelPoint"][tri]
Out[1]=
In[2]:=
Graphics[{
   {Orange, Opacity[0.2], Triangle[tri]},
   TriangleConstruct[tri, {"Excircle", tri[[#]]}] & /@ {1, 2, 3},
   HalfLine[{tri[[#]], na[[1]]}] & /@ {1, 2, 3},
   {Thin, InfiniteLine[{#1, #2}]} & @@@ NestList[RotateLeft, tri, 2],
   {
PointSize[
Scaled[0.08]], 
Hue[0.58, 1, 1], na, 
Text[
Style["Na", White, FontSize -> Scaled[0.04]], 
Part[na, 1]]},
   }, PlotRange -> {{-2.5, 7}, {-3, 6.5}}] // Framed
Out[2]=

Scope (2) 

Compute the Nagel point of a 3D triangle:

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

Show the Nagel point and the triangle together:

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

Neat Examples (2) 

The Nagel point of the medial triangle is the same as the incenter of the reference triangle:

In[5]:=
tri = {{0, 0}, {1.1, 4}, {5, 0}};
mtri = TriangleConstruct[tri, "MedialTriangle"];
na = ResourceFunction["NagelPoint"][mtri]
Out[5]=
In[6]:=
Insphere[tri] // First
Out[6]=
In[7]:=
Graphics[{
   {Orange, Opacity[0.2], Triangle[tri]},
   {Opacity[0.3, Blue], Disk[na[[1]], RegionDistance[Line[tri[[1 ;; 2]]], na[[1]]]]},
   {Opacity[0.5, Red], mtri},
   {
PointSize[
Scaled[0.08]], 
Hue[0.58, 1, 1], na, 
Text[
Style["Na", White, FontSize -> Scaled[0.04]], 
Part[na, 1]]}
   }] // Framed
Out[7]=

The Nagel point, the centroid and the incenter are collinear:

In[8]:=
Chop[Det[PadRight[First /@ {cen, inc, na}, {3, 3}, 1]]] == 0
Out[8]=
In[9]:=
Graphics[{
   {Dashed, InfiniteLine[{inc[[1]], na[[1]]}]},
   {Orange, Opacity[0.2], Triangle[tri]},
   MapThread[{
PointSize[
Scaled[0.08]], 
Hue[0.58, 1, 1], #2, 
Text[
Style[#, White, FontSize -> Scaled[0.04]], 
Part[#2, 1]]}& , {{"G", "I", "Na"}, {cen, inc, na}}],
   }] // Framed
Out[9]=

Publisher

Shenghui Yang

Version History

  • 1.0.0 – 01 September 2021

Related Resources

License Information