Altitude

Author

Eric W. Weisstein
August 26, 2010

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

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

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

Diagram

V5

t=Triangle[{{0.,0.},{1.1,2.},{3.,0.}}];
Show[Graphics[{
t,
{
Red,
PerpSquare[#,.1,3]&/@Transpose[{Altitudes[t],Sides[t]}],
Altitudes[t]
}
}],AspectRatio->Automatic,PlotRange->All]

V6

t=Triangle[{{0.,0.},{3.,0.},{1.1,2.}}];
Graphics[{
t,
{
{
Red,
PerpSquare[#,.1,3]&/@Transpose[{Altitudes[t],Sides[t]}],
Altitudes[t],
PointLabels[
Prepend[Transpose[{Subscript["H",#]&/@{"A","B","C"},Coordinates/@Feet[Altitudes[t]],{LabelOffset->.15,LabelOffset->1.5{-.1,.1},LabelOffset->1.7{0,-.1}}}],{"O",Orthocenter[t][[1]],LabelOffset->2{.04,-.09}}]]
},
PointLabels[Transpose[{{"A","B","C"},Vertices[t],{LabelOffset->-.15,LabelOffset->{.15,-.15},LabelOffset->{0,.15}}}],PointSize->.03,LabelOffset->.12]
}
},BaseStyle->14,PlotRangePadding->.2]

t=Triangle[{{0.,0.},{3.,0.},{1.1,2.}}];
g=Graphics[{
t,
{
{
Red,
PerpSquare[#,.1,3]&/@Transpose[{Altitudes[t],Sides[t]}],
Altitudes[t],
PointLabels[
Prepend[Transpose[{Subscript["H",#]&/@{"A","B","C"},Coordinates/@Feet[Altitudes[t]],{LabelOffset->.15,LabelOffset->1.5{-.1,.1},LabelOffset->1.7{0,-.1}}}],{"O",Orthocenter[t][[1]],LabelOffset->2{.04,-.09}}]]
},
PointLabels[Transpose[{{"A","B","C"},Vertices[t],{LabelOffset->-.15,LabelOffset->{.15,-.15},LabelOffset->{0,.15}}}],PointSize->.03,LabelOffset->.12]
}
}]

Show[g,BaseStyle->18]

Altitude Lengths

hs=FullSimplify[DistanceTrilinears[Distance@@@Transpose[{Permutations[{1,0,0}],CevianTrilinears[Orthocenter]}]
Circumradius[{a,b,c}]/R
] ,TriangleQ[{a,b,c}]]

hs=FullSimplify[DistanceTrilinears[Distance@@@Transpose[TrilinearVertexMatrix/@{OrthicTriangle,ReferenceTriangle}]],TriangleQ[]]

Simplify[% Circumradius[{a,b,c}]/R]

FullSimplify[Together//@DistanceTrilinears/@{c Sin[B],a Sin[C],b Sin[A]}Circumradius[{a,b,c}]/R,TriangleQ[]]

FullSimplify[Together//@DistanceTrilinears/@{b Sin[C],c Sin[A],a Sin[B]}Circumradius[{a,b,c}]/R,TriangleQ[]]

Altitude Length Identities

prod=Times@@hs

FullSimplify[Plus@@(1/hs) Inradius[{a,b,c}]/r/.R->Circumradius[{a,b,c}],TriangleQ[{a,b,c}]]

Altitude Circles

AltitudeCircleDiagram[p_List]:=Module[{},
t=Triangle[p];
alt[i_]:=Feet[Altitudes[t]][[i]];
vert[i_]:=Vertices[t][[i]];
v=Vertices@t;
pts={vert[1],"A",vert[2],"B",vert[3],"C"};
redpts={alt[1],"(Subscript[H, A])",alt[2],"(Subscript[H, B])",alt[3],"(Subscript[H, C])",Orthocenter,"H"};
{PointLabels[t,pts,.03],
{Thickness[.01],t},
{
Red,
Altitudes[t]
},
Circumcircle[Triangle@{v[[1]],Coordinates@alt[2],Coordinates@alt[3]}],Circumcircle[Triangle@{v[[2]],Coordinates@alt[2],Coordinates@alt[3]}],
{Red,PointLabels[t,redpts,.03]}
}
]

Show[Graphics[AltitudeCircleDiagram[{{0.,0.},{1.1,2.},{3.,0.}}]],AspectRatio->Automatic,PlotRange->All]

Inversely Similar

t=Triangle[a,b,c]

h=FullSimplify[OrthicTriangle[t],TriangleQ[]]

SimilarQ[t,Triangle[Join[Vertices[t][[{1}]],Vertices[h][[{2,3}]]]]]