Orthocenter

Author

Eric W. Weisstein
February 17, 2008

This notebook downloaded from http://mathworld.wolfram.com/notebooks/PlaneGeometry/Orthocenter.nb.

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

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

Figure

t=Triangle[{{0,0},{1,0},{.3,.7}}];
Show[Graphics[{
t,
{
Red,
alt=Altitudes[t],
PerpSquare[#,.03,3]&/@Transpose[{Sides[t],alt}]
},
PointLabels[Join[
Transpose[{VertexPoints[t],{"A","B","C"}}],
Append[#,Red]&/@Transpose[{VertexPoints[OrthicTriangle[t]],{"(Subscript[H, A])","(Subscript[H, B])","(Subscript[H, C])"}}],
{{Orthocenter[t],"H",Blue}}
],LabelOffset->{1,1}.03,PointSize[.025]]
}],AspectRatio->Automatic,PlotRange->All]

Distances from Sides

ExactTrilinears[Orthocenter]

Distances

HCl

Factor[FullSimplify[ToSidelengths[Distance[Orthocenter,ClawsonPoint]^2],TriangleQ[]]]

ToAngles[%]

HG

Factor[FullSimplify[ToSidelengths[Distance[Orthocenter,Centroid]^2],TriangleQ[]]]

ToAngles[%]

HGe

Factor[FullSimplify[ToSidelengths[Distance[Orthocenter,GergonnePoint]^2],TriangleQ[]]]

ToAngles[%]

HH

Distance[Orthocenter,Orthocenter]^2

HI

Factor[FullSimplify[ToSidelengths[Distance[Orthocenter,Incenter]^2],TriangleQ[]]]

ToAngles[%]

ToAngles[Factor[ToSidelengths[2(Inradius^2)+4(Circumradius^2)-(1/2)((a^2)+(b^2)+(c^2))]]]

HK

Factor[FullSimplify[ToSidelengths[Distance[Orthocenter,SymmedianPoint]^2],TriangleQ[]]]

ToAngles[-Denominator[%]]

ToAngles[%%]

HL

Factor[FullSimplify[ToSidelengths[Distance[Orthocenter,DeLongchampsPoint]^2],TriangleQ[]]]

ToAngles[%]

HM

Factor[FullSimplify[ToSidelengths[Distance[Orthocenter,Mittenpunkt]^2],TriangleQ[]]]

ToAngles[%]

HN

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

ToAngles[%]

HNa

Factor[FullSimplify[ToSidelengths[Distance[Orthocenter,NagelPoint]^2],TriangleQ[]]]

ToAngles[%]

HO

Factor[FullSimplify[ToSidelengths[Distance[Orthocenter,Circumcenter]^2],TriangleQ[]]]

ToAngles[-Denominator[%]]

ToAngles[%%]

HSp

Factor[FullSimplify[ToSidelengths[Distance[Orthocenter,SpiekerCenter]^2],TriangleQ[]]]

ToAngles[%]

Distance Relations

(a^2)+(b^2)+(c^2)+A (H^2)+B (H^2)+C (H^2)==12(R^2)

Factor[FullSimplify[ToSidelengths[(a^2)+(b^2)+(c^2)+Plus@@(Distance[#,Trilinears[Orthocenter]]^2&/@IdentityMatrix[3])],TriangleQ[]]]

ToAngles[%]

ToAngles[ToSidelengths[12Circumradius^2]]

A H+B H+C H==2(r+R)

FullSimplify[ToSidelengths[Plus@@(Distance[#,Trilinears[Orthocenter]]&/@IdentityMatrix[3])],TriangleQ[]]

FullSimplify[ToAngles[%],Area>0&&TriangleQ[]]

Acute

Simplify[%,AcuteQ[]]

FullSimplify[ToSidelengths[%]]

FullSimplify[ToSidelengths[Inradius+Circumradius],TriangleQ[]]

A (H^2)+B (H^2)+C (H^2)==-(((a^6)-(a^4) (b^2)-(a^2) (b^4)+(b^6)-(a^4) (c^2)+6 (a^2) (b^2) (c^2)-(b^4) (c^2)-(a^2) (c^4)-(b^2) (c^4)+(c^6))/((a-b-c) (a+b-c) (a-b+c) (a+b+c)))

Factor[FullSimplify[ToSidelengths[Plus@@(Distance[#,Trilinears[Orthocenter]]^2&/@IdentityMatrix[3])],TriangleQ[]]]

Factor[ToSidelengths[4Circumradius^2-2((SA SB SC)/(S^2))]]

FullSimplify[ToSidelengths[4Circumradius(Circumradius-2Circumradius Abs[Cos[A]Cos[B]Cos[C]])],
TriangleQ[]]

Acute

Factor[Simplify[%,AcuteQ[]]]

Circumcenter

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

Of Named Triangles

General Triangle

Orthocenter[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=Orthocenter[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]]=={}&),_?(#[[-1,-1]]=={}&)]//TableForm

Structures Passing through It

pt=Orthocenter;

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[#]=!={}&]