Hofstadter Ellipse

Author

Eric W. Weisstein
February 14, 2005

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

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

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

Equation

TrilinearEquation[HofstadterEllipse[r_]]:=Module[
{
D = Cos[A] - Sin[A] Cot[r A],
E = Cos[B] - Sin[B] Cot[r B],
F = Cos[C] - Sin[C]Cot[r C]
},
α^2 + β^2 + γ^2 + β γ(D + 1/D) + γ α(E + 1/E) + α β(F + 1/F) 
]

TrilinearEquation[HofstadterEllipse[r]]

Center

FullSimplify[Center[TrilinearEquation[HofstadterEllipse[r]]][[1]],TriangleQ[]&&0<r≤1/2]//Timing

r=0

Symmetrize[-Expand[Center[((β γ Sin[A])/A)+((α γ Sin[B])/B)+((α β Sin[C])/C)]/.f_Sin:>ToSidelengths[f]]/.Sqrt[x_]Sqrt[y_]:>FullSimplify[Sqrt[x y],TriangleQ[]]]

ctr=Symmetrize[Center[((β γ a)/A)+((α γ b)/B)+((α β c)/C)]]

IncidentCenters[KimberlingCenters,ctr]//Timing

{a/(A(B-C)),b/(B(C-A)),c/(C(A-B))}

t=Triangle[{{0,0},{1,0},{.3,.5}}];
Show[Graphics[{
t,
{Blue,Circumcircle[t]},
{Red,TrilinearCurve[t,((β γ a)/A)+((α γ b)/B)+((α β c)/C)]},
PointLabels[Join[
Transpose[{VertexPoints[t],{"A","B","C"}}],
{
{Cartesian[ctr[t]],"(Subscript[O, 0])",Red},
{Cartesian[{a/(A(B-C)),b/(B(C-A)),c/(C(A-B))}[t]],"P",Purple},
{Circumcenter[t],"O",Blue}
}
],LabelOffset->.03]
}],AspectRatio->Automatic,PlotRange->All]

(1/2)

?HalfAngle*

Symmetrize[ToSidelengths[HalfAngleFormulas[Center[TrilinearEquation[HofstadterEllipse[(1/2)]]][[1]]]]]

CenterFunction[X[37]]

Name[X[37]]

Special Cases

0

Limit[TrilinearEquation[HofstadterEllipse[r]],r->0]

(1/2)

HalfAngleFormulas[TrilinearEquation[HofstadterEllipse[1/2]]]

1-r

Simplify[Subtract@@(TrilinearEquation[HofstadterEllipse[#]]&/@{r,1-r}),0<r<1]

Figure

t=Triangle[{{0,0},{1,0},{.3,.7}}];
Show[Graphics[{
t,
TrilinearCurve[t,TrilinearEquation[HofstadterEllipse[#]],PlotStyle->Hue[2#]]&/@(.1Range[5]),
PointLabels[Join[
Transpose[{VertexPoints[t],{"A","B","C"}}]
],LabelOffset->.03]
}],AspectRatio->Automatic,PlotRange->All]

Incident Centers

r=(1/2)

(ctrs=IncidentCenters[KimberlingCenters,TrilinearEquation[HofstadterEllipse[(1/2)]]])//Timing

First/@ctrs

Length[ctrs]

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