Nine-Point Center

Author

Eric W. Weisstein
January 3, 2007

This notebook downloaded from http://mathworld.wolfram.com/notebooks/PlaneGeometry/Nine-PointCenter.nb.

For more information, see Eric's MathWorld entry http://mathworld.wolfram.com/Nine-PointCenter.html.

©2006 Wolfram Research, Inc. except for portions noted otherwise

Lines

CenterName/@X/@{5,485,486}

CenterFunction/@X/@{5,485,486}

CollinearQ[X/@{5,485,486}]

LineEquation[Trilinears/@X/@{485,486}]

t=Triangle[Table[Random[Real,{0,1},50],{3},{2}]];

ctr=TrilinearToCartesian[t,CyclicTrilinears[-Sec[B-(π/4)] Sec[A+(π/4)]+Sec[A-(π/4)] Sec[B+(π/4)]/.Thread[{A,B,C}->Angles[t]]]];

ctr

ctrs=TrilinearToCartesian[t,#]&/@Trilinears/@Centers/.Thread[{A,B,C}->Angles[t]]/.Thread[{a,b,c}->SideLengths[t]];//Timing

Select[ctrs,Norm[ctr-#]<10^-10]

Collinearity

CollinearQ[{Circumcenter,NinePointCenter,Orthocenter}]

NH/NO

Simplify[Together//@DistanceTrilinears[(((((Distance[NinePointCenter,Orthocenter])/(Distance[NinePointCenter,Circumcenter]))/.Cos[x_]:>TrigExpand[Cos[x]]))^2)],TriangleQ[]]

OH/NH

((Simplify[Together//@DistanceTrilinears[(((((Distance[Circumcenter,Orthocenter])/(Distance[NinePointCenter,Orthocenter]))/.Cos[x_]:>TrigExpand[Cos[x]]))^2)],TriangleQ[]])^(1/2))

Distances

NCl

FullSimplify[Together//@ToSidelengths[Distance[NinePointCenter,ClawsonPoint]^2/.Cos[x_]:>TrigExpand[Cos[x]]]/.Sqrt[x_]Sqrt[y_]:>FullSimplify[Sqrt[x y],TriangleQ[]],TriangleQ[]]

Factor[%]

ToAngles[%]

NF

Factor[FullSimplify[ToSidelengths[Distance[NinePointCenter,FeuerbachPoint]^2/.Cos[x_]:>TrigExpand[Cos[x]]],TriangleQ[]]]

ToAngles[%]

NG

Factor[FullSimplify[ToSidelengths[Distance[NinePointCenter,Centroid]^2/.Cos[x_]:>TrigExpand[Cos[x]]],TriangleQ[]]]

ToAngles[%]

NGe

Factor[ToSidelengths[Distance[NinePointCenter,GergonnePoint]^2/.Cos[x_]:>TrigExpand[Cos[x]]]/.Sqrt[x_]Sqrt[y_]:>FullSimplify[Sqrt[x y],TriangleQ[]]]

ToAngles[%]

NH

Factor[FullSimplify[ToSidelengths[Distance[NinePointCenter,Orthocenter]^2/.Cos[x_]:>TrigExpand[Cos[x]]],TriangleQ[]]]

ToAngles[%]

NI

Factor[FullSimplify[ToSidelengths[Distance[NinePointCenter,Incenter]^2/.Cos[x_]:>TrigExpand[Cos[x]]],TriangleQ[]]]

ToAngles[%]

NK

Factor[FullSimplify[ToSidelengths[Distance[NinePointCenter,SymmedianPoint]^2/.Cos[x_]:>TrigExpand[Cos[x]]],TriangleQ[]]]

ToAngles[%]

NL

Factor[FullSimplify[ToSidelengths[Distance[NinePointCenter,DeLongchampsPoint]^2/.Cos[x_]:>TrigExpand[Cos[x]]],TriangleQ[]]]

ToAngles[%]

NM

Factor[ToSidelengths[Distance[NinePointCenter,Mittenpunkt]^2/.Cos[x_]:>TrigExpand[Cos[x]]]/.Sqrt[x_]Sqrt[y_]:>FullSimplify[Sqrt[x y],TriangleQ[]]]

FullSimplify[%,TriangleQ[]]

Factor[%]

ToAngles[%]

NN

Distance[NinePointCenter,NinePointCenter]^2

NNa

FullSimplify[Factor[ToSidelengths[Distance[NinePointCenter,NagelPoint]^2/.Cos[x_]:>TrigExpand[Cos[x]]]/.Sqrt[x_]Sqrt[y_]:>FullSimplify[Sqrt[x y],TriangleQ[]]],TriangleQ[]]

Factor[%]

ToAngles[%]

NO

Factor[FullSimplify[ToSidelengths[Distance[NinePointCenter,Circumcenter]^2/.Cos[x_]:>TrigExpand[Cos[x]]],TriangleQ[]]]

ToAngles[%]

NSp

FullSimplify[Factor[ToSidelengths[Distance[NinePointCenter,SpiekerCenter]^2/.Cos[x_]:>TrigExpand[Cos[x]]]/.Sqrt[x_]Sqrt[y_]:>FullSimplify[Sqrt[x y],TriangleQ[]]],TriangleQ[]]

Factor[%]

ToAngles[%]

Relationships

FullSimplify[ToSidelengths[Subtract@@{Plus@@(Distance[#,Trilinears[NinePointCenter]]^2&/@IdentityMatrix[3]),3Circumradius^2-(Distance@@Trilinears/@{Circumcenter,NinePointCenter})^2}],TriangleQ[]]

Of Named Triangles

General Triangle

NinePointCenter[Triangle[{{p1,q1,r1},{p2,q2,r2},{p3,q3,r3}}]]

FullSimplify[%]

Named Triangles

t=RandomTriangle[20];

rules=Join[Thread[{a,b,c}->SideLengths[Evaluate[t]]],Thread[{A,B,C}->Angles[Evaluate[t]]]];
kc=KimberlingCenters;

Length[k=Rest[#]/First[#]&/@((Trilinears/@KimberlingCenters)/.TriangleRules/.rules)]//Timing

trips=Triangles;

search::zero="Bad zero encountered `1`";
l={};
Do[
Print[l0={
i,
trips[[i]],
rc=NinePointCenter[trips[[i]]]/.TriangleRules/.rules;
(
pt=Switch[rc,
_?(#=={0,0,0}&),{0,0,0},
Or@@Thread[#==0]&,Message[search:zero,#];rc,
_,Rest[rc]/First[rc]
];
If[pt=={0,0,0},{0},
If[#=={},{},kc[[#]]]&[Flatten[Position[k,_?(#==pt&)]]]
]
)//Timing
}];
AppendTo[l,l0],
{i,Length[trips]}
]

Not in Kimberling

#[[2]]&/@Cases[l,_?(#[[-1,-1]]=={}&)]

Table

{Name[#[[2]]],#[[-1,-1,1]],Name[#[[-1,-1,1]]]}&/@DeleteCases[Sort[l,(OrderedQ[{Name[#1[[2]]],Name[#2[[2]]]}]&)],_?(#[[-1,-1]]=={}&)]//TableForm

Structures Passing through It

pt=NinePointCenter;

Circles

First/@Select[{#,IncidentCenters[{pt},#]}&/@Circles,Last[#]=!={}&]

Circle Centers

First/@Select[{#,IncidentCenters[{pt},CircleCenter[#]]}&/@Circles,Last[#]=!={}&]

Conics

First/@Select[{#,IncidentCenters[{pt},#]}&/@Conics,Last[#]=!={}&]

Cubics

First/@Select[{#,IncidentCenters[{pt},#]}&/@TriangleCubics,Last[#]=!={}&]

Lines

First/@Select[{#,IncidentCenters[{pt},#]}&/@Lines,Last[#]=!={}&]