Orthic Axis

Author

Eric W. Weisstein
January 21, 2005

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

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

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

Code

OrthicAxisLines::usage="OrthicAxisLines[triangle] gives the lines used in the construction of the orthic axis of the specified triangle."

OrthicAxisPoints::usage="OrthicAxisPoints[triangle] gives the points used in the construction of the orthic axis of the specified triangle."

OrthicAxisPoints[t_Triangle]:=Module[{ot=OrthicTriangle[t]},Intersections@@@Transpose[Sides/@{t,ot}]]

OrthicAxisLines[t_Triangle]:=Outer[Line[{#1,#2}]&,Coordinates/@OrthicAxisPoints[t],Vertices[OrthicTriangle[t]],1]

Figure

t=Triangle[{{0,0},{1.1,0},{.2,.8}}];
ot=OrthicTriangle[t];
Show[Graphics[{
{
Red,
PerpSquare[#,.05,3]&/@Transpose[{Sides[t],Altitudes[t]}],
Dashing[{.02}],
Line/@Transpose[Vertices/@{t,ot}]
},
{Blue,
OrthicAxis[t],
Dashing[{.02}],
OrthicAxisLines[t]
},
t,
{Red,ot},
PointLabels[Join[
Transpose[{VertexPoints[t],{"A","B","C"}}],
Append[#,Red]&/@Transpose[{VertexPoints[ot],{"(Subscript[H, A])","(Subscript[H, B])","(Subscript[H, C])"}}],
Append[#,Blue]&/@Transpose[{OrthicAxisPoints[t],{"(Subscript[O, A])","(Subscript[O, B])","(Subscript[O, C])"}}]
],{PointSize[.035],LabelOffset->.06}]
}],AspectRatio->Automatic,PlotRange->All]

Radical Axis of N and O

t=Triangle[{{0,0},{1.1,0},{.2,.8}}];
ot=OrthicTriangle[t];
Show[Graphics[{
{
Red,
PerpSquare[#,.05,3]&/@Transpose[{Sides[t],Altitudes[t]}],
Dashing[{.02}],
Line/@Transpose[Vertices/@{t,ot}]
},
{Blue,
OrthicAxis[t],
Dashing[{.02}],
OrthicAxisLines[t]
},
Circumcircle[t],
NinePointCircle[t],
t,
{Red,ot},
PointLabels[Join[
Transpose[{VertexPoints[t],{"A","B","C"}}],
Append[#,Red]&/@Transpose[{VertexPoints[ot],{"(Subscript[H, A])","(Subscript[H, B])","(Subscript[H, C])"}}],
Append[#,Blue]&/@Transpose[{OrthicAxisPoints[t],{"(Subscript[O, A])","(Subscript[O, B])","(Subscript[O, C])"}}]
],{PointSize[.035],LabelOffset->.06}]
}],AspectRatio->Automatic,PlotRange->All]

Equation

LineEquation[OrthicAxis]

Incident Centers

(ctrs=IncidentCenters[KimberlingCenters,OrthicAxis])//Timing

First/@ctrs

Length[ctrs]

{#,CenterName[#]}&/@ctrs//TableForm

Check

Do[
Print[{i,ctrs[[i]],
FullSimplify[Simplify[DistanceTrilinears[TrigExpand[LineEquation[OrthicAxis]/.Thread[{α,β,γ}->Trilinears[ctrs[[i]]]]]],TriangleQ[]],TriangleQ[]]//Timing}],
{i,Length[ctrs]}]

Radical Line

t=RandomTriangle[20];

Length[pairs=Subsets[Select[CentralCircles,(CircleFunction[#]=!=Null&)],{2}]]

p=Cartesian[TrilinearLine[OrthicAxis][[1]][t]]

(coaxal=Select[pairs,Cartesian[First[RadicalLine@@#][t]]==p&])//Timing

Coaxal Systems

Subsets[circs=Union[Flatten[coaxal]],{2}]==coaxal

{Length[circs],circs}

Check Collinearity

Refine[Together//@ToSidelengths[CollinearQ[Center/@circs]/.cos_Cos:>TrigExpand[cos]],TriangleQ[]]

Check Radical Axis

First/@Symmetrize/@ToAngles/@Symmetrize/@ToSidelengths[First/@(RadicalLine@@@coaxal)]

Figure

t=Triangle[{{0,0},{1,0},{-.35,.5}}];
Show[Graphics[{
t,
{Blue,Through[circs[t]]},
{
Red,
l1=OrthicAxis[t],
{
Dashing[{.015}],
l2=PerpendicularLine[Circumcenter[t],l1,10]
},
PerpSquare[{l1,l2},.15,4]
},
PointLabels[Join[
Transpose[{VertexPoints[t],{"A","B","C"}}]
],PointSize[.015],LabelOffset->.1]
}],AspectRatio->Automatic,PlotRange->{{-2.4,3.5},{-2.3,2}}]