Let us consider the Nagel point of a triangle. According to this article,"There exists an easy construction of the Nagel point. Starting from each vertex of a triangle, it suffices to carry twice the length of the opposite edge. We obtain three lines which concur at the Nagel point". Can it be realized in Mathematica? I make only

GeometricScene[{a, b, c}, {Triangle[{a, b, c}]}]

It is unclear to me how "to carry twice the length of the opposite edge".


3 Answers 3



RandomInstance[GeometricScene[{a, b, c, s, i,n}, 
{s == TriangleCenter[{a, b, c}, "Centroid"],i == TriangleCenter[{a, b, c}, "Incenter"], n == 3 s - 2 i, 
Point[s], Point[i], Point[n], Triangle[{a, b, c}]}], 1]

Addition made by user 64494 for the user's convenience. See German Wiki where Norm[n-s]:2 Norm[s-i]==2:1 is stated. enter image description here

  • $\begingroup$ A good code is a commented code. Could you comment your code, giving us more details? In particular. what is your n? $\endgroup$
    – user64494
    Commented Feb 18, 2022 at 13:02
  • $\begingroup$ The Wiki article writes only "The Nagel point, the centroid, and the incenter are collinear on a line called the Nagel line". $\endgroup$
    – user64494
    Commented Feb 18, 2022 at 13:09
  • $\begingroup$ n is the nagelpoint. German wiki and you as OP too, states ` Norm[n-s]:2 Norm[s-i]==2:1` $\endgroup$ Commented Feb 18, 2022 at 13:15
  • $\begingroup$ Thank you. Unfortunately, the relation n == 2 s - i implies the relation n - s == s - i so the lengths of n - s and s - i are equal, whereas de.wikipedia.org/wiki/Nagel-Punkt says this ratio equals $2$. $\endgroup$
    – user64494
    Commented Feb 18, 2022 at 13:41
  • $\begingroup$ I modified n== 3 s-2 i in my answer $\endgroup$ Commented Feb 18, 2022 at 13:54

Here we don't provide an updated answer since @user64494 always make unreasonable demands.

int = 6;
 GeometricScene[{a, b, c, i, tc, Tc, ta, Ta, tb, Tb, 
   n}, {i == RegionCentroid@Insphere[{a, b, c}], 
   GeometricAssertion[Triangle[{a, b, c}], "Counterclockwise"], 
   RegionMember[Line[{a, b}], tc], 
   RegionMember[Insphere[{a, b, c}], tc], tc - a == b - Tc, 
   RegionMember[Line[{b, c}], ta], 
   RegionMember[Insphere[{a, b, c}], ta], ta - b == c - Ta, 
   RegionMember[Line[{c, a}], tb], 
   RegionMember[Insphere[{a, b, c}], tb], tb - c == a - Tb, 
   RegionMember[Line[{a, Ta}], n], RegionMember[Line[{b, Tb}], n], 
   RegionMember[Line[{c, Tc}], n]}], RandomSeeding -> int]

enter image description here

 GeometricScene[{{a, b, c, Ia, Ta, Ib, Tb, Ic, Tc, n}, {ra, rb, rc}},
  {GeometricAssertion[Triangle[{a, b, c}], "Counterclockwise"],
   PlanarAngle[b -> {Ia, c}] == (π - PlanarAngle[b -> {c, a}])/2,
   PlanarAngle[c -> {b, Ia}] == (π - PlanarAngle[c -> {a, b}])/2,
   GeometricAssertion[{Circle[Ia, ra], Line[{b, c}]}, {"Tangent", Ta}],
   PlanarAngle[c -> {Ib, a}] == (π - PlanarAngle[c -> {a, b}])/2,
   PlanarAngle[a -> {c, Ib}] == (π - PlanarAngle[a -> {b, c}])/2,
   GeometricAssertion[{Circle[Ib, rb], Line[{c, a}]}, {"Tangent", Tb}],
   PlanarAngle[a -> {Ic, b}] == (π - PlanarAngle[a -> {b, c}])/2,
   PlanarAngle[b -> {a, Ic}] == (π - PlanarAngle[b -> {c, a}])/2,
   GeometricAssertion[{Circle[Ic, rc], Line[{a, b}]}, {"Tangent", Tc}],
   Line[{a, n, Ta}], Line[{b, n, Tb}], Line[{c, n, Tc}]
   }], RandomSeeding -> int]

enter image description here

int = 13;
RandomInstance[GeometricScene[{a, b, c, i, Ta, Tb, Tc, Ia, Ib, Ic, n},
  {GeometricAssertion[Triangle[{a, b, c}], "Counterclockwise"],
   i == TriangleCenter[{a, b, c}, "Incenter"],
   PlanarAngle[a -> {i, Ib}] == \[Pi]/2,
   PlanarAngle[b -> {i, Ic}] == \[Pi]/2,
   PlanarAngle[c -> {i, Ia}] == \[Pi]/2,
   Line[{Ib, a, Ic}], Line[{Ic, b, Ia}], Line[{Ia, c, Ib}],
   PlanarAngle[Ta -> {b, Ia}] = \[Pi]/2,
   PlanarAngle[Tb -> {c, Ib}] = \[Pi]/2,
   PlanarAngle[Tc -> {a, Ic}] = \[Pi]/2,
   RegionMember[Line[{a, b}], Tc],
   RegionMember[Line[{b, c}], Ta],
   RegionMember[Line[{c, a}], Tb],
   Line[{a, n, Ta}], Line[{b, n, Tb}], Line[{c, n, Tc}]}], 
 RandomSeeding -> int]

enter image description here

  • $\begingroup$ +1. A good work. Can you shortly comment your code in order to accept your answer? A good code is a commented code. $\endgroup$
    – user64494
    Commented Feb 18, 2022 at 14:27
  • $\begingroup$ BTW, Russian Wiki says there are four Nagel points. $\endgroup$
    – user64494
    Commented Feb 18, 2022 at 14:35
  • $\begingroup$ If unnecessary i == RegionCentroid@Insphere[{a, b, c}] is omitted, then RandomInstance[ GeometricScene[{a, b, c, ab, ba, bc, cb, ca, ac, n}, {Triangle[{a, b, c}], RegionMember[Line[{a, b}], ab], RegionMember[Insphere[{a, b, c}], ab], ba - b == a - ab, RegionMember[Line[{b, c}], bc], RegionMember[Insphere[{a, b, c}], bc], bc - b == c - cb, RegionMember[Line[{c, a}], ca], RegionMember[Insphere[{a, b, c}], ca], ca - c == a - ac, RegionMember[Line[{a, cb}], n], RegionMember[Line[{b, ac}], n], RegionMember[Line[{c, ba}], n]}]] produces an unclear result $\endgroup$
    – user64494
    Commented Feb 18, 2022 at 14:46
  • $\begingroup$ @user64494 For example RandomInstance[...,RandomSeeding -> 11] $\endgroup$
    – cvgmt
    Commented Feb 18, 2022 at 15:03
  • $\begingroup$ cvgmt(@ does not work): Thank you, RandomSeeding -> 11 does work. I repeat can you extend the comment to your code to be understandable to an average user? In particular, what do RegionMember and RandomSeed->11 do? $\endgroup$
    – user64494
    Commented Feb 18, 2022 at 15:18
 {P==With[{a=Norm[B-C],b=Norm[C-A],c=Norm[A-B]},({-a+b+c,a-b+c,a+b-c}/(a+b+c)). {A,B,C}], 

enter image description here

  • $\begingroup$ +1. A good code is a commented code. Do you apply barycentric coordinates? $\endgroup$
    – user64494
    Commented Feb 19, 2022 at 12:22

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.