In[]:=
JerabekHyperbola::usage="The Jerabek hyperbola passes through the three vertices of the triangle and passes through the circumcenter, the orthocenter and the symmedian point K. The Jerabek hyperbola has the center of the point .References: Personal. ";JerabekHyperbola[tri={{x1_,y1_},{x2_,y2_},{x3_,y3_}},{X0_,X1_},{Y0_,Y1_}]:=Module{},DEP=Det[{{x1,y1,1},{x2,y2,1},{x3,y3,1}}];IfDEP==0||X0≥X1||Y0≥Y1,Print[PasteButton["Incorrect data or points do not form a triangle"]],ρ=TriangleCenter[tri,"Orthocenter"];xo=ρ[[1]];yo=ρ[[2]];ξ=TriangleCenter[tri,"Circumcenter"];xc=ξ[[1]];yc=ξ[[2]];xm1=;ym1=;xm2=;ym2=;xm3=;ym3=;tri1={{xm1,ym1},{xm2,ym2},{xm3,ym3}};ϕ=TriangleCenter[tri1,"Circumcenter"];xce=ϕ[[1]];yce=ϕ[[2]];ϕ1=TriangleMeasurement[tri1,"Circumradius"];rce=ϕ1;aa=+;bb=+;cc1=+;α=ArcCos+-;β=ArcCos+-;γ=ArcCos+-;xx=Sin[2α];yy=Sin[2β];zz=Sin[2γ];=;=;=;PX125={x1,y1}+{x2,y2}+{x3,y3};xX125=Take[PX125,{1}].{1};yY125=Take[PX125,{2}].{1};Print[PasteButton["Coordinates of the center of the Jerabek hyperbola () "]];Print[" "];Print["","(",N[xX125]," , ",N[yY125],")"];Print[" "];s5=NSolve[aex1^2+x1y1+cey1^2+dex1+eey1+fe==0, aex2^2+x2y2+cey2^2+dex2+eey2+fe==0, aex3^2+x3y3+cey3^2+dex3+eey3+fe==0, aexc^2+xcyc+ceyc^2+dexc+eeyc+fe==0, aexo^2+xoyo+ceyo^2+dexo+eeyo+fe==0,{ae,ce,de,ee,fe}]; a11=ae/.s5;c11=ce/.s5;d11=de/.s5;e11=ee/.s5;f11=fe/.s5; at=Dot[a11,{1}]; bt=1; ct=Dot[c11,{1}]; dt=Dot[d11,{1}]; et=Dot[e11,{1}]; ft2=Dot[f11,{1}]; Print[PasteButton["The Jerabek hyperbola equation:"]];Print[" "];Print[{at,bt,ct,dt,et,ft2}.{,xy,,x,y,1},"= 0"];Print[""];Print[PasteButton["Information about the Jerabek hyperbola:"]];μ=ResourceFunction["ConicProperties"][{at,bt,ct,dt,et,ft2}.{,xy,,x,y,1}==0,{x,y}];Print[μ];p=μ[[6,1]];p1=μ[[6,2]];g1=Line[{{x1,y1},{x2,y2},{x3,y3},{x1,y1}}];g2=Point[{xo,yo}];g3=Point[{xc,yc}];g4=Point[{x1,y1}];g5=Point[{x2,y2}];g6=Point[{x3,y3}];g7=Point[{xX125,yY125}];g8=ContourPlot[atx^2+btxy+cty^2+dtx+ety+ft2==0,{x,X0,X1},{y,Y0,Y1}];g9=Circle[{xce,yce},rce];g10=ContourPlot[p,{x,X0,X1},{y,Y0,Y1},ContourStyle->{Gray,Dashed}];g11=ContourPlot[p1,{x,X0,X1},{y,Y0,Y1},ContourStyle->{Gray,Dashed}];SwatchLegend[{Red,Green,Orange,Purple,Gray},{" point","Orthocenter","Circumcenter","Nine points circumference","Asymptotes"}]Show[{Graphics[{Green,PointSize[0.01],g2}],Graphics[{Blue,g1}],Graphics[{Orange,PointSize[0.01],g3}],Graphics[{Black,PointSize[0.01],g4}],Graphics[{Black,PointSize[0.01],g5}],Graphics[{Black,PointSize[0.01],g6}],Graphics[{Red,PointSize[0.01],g7}],g8,Graphics[{Purple,g9}],g10,g11},AxesTrue,AspectRatioAutomatic,AxesOrigin{0,0},ImageSize900,PlotLabelStyle[Framed["The hyperbola of Jerabek and detail of the triangle"],16,Blue,BackgroundYellow]]
X
125
x1+x2
2
y1+y2
2
x2+x3
2
y2+y3
2
x3+x1
2
y3+y1
2
2
(x3-x2)
2
(y3-y2)
2
(x3-x1)
2
(y3-y1)
2
(x2-x1)
2
(y2-y1)
2
bb
2
cc1
2
aa
2bbcc1
2
aa
2
cc1
2
bb
2aacc1
2
aa
2
bb
2
cc1
2aabb
2
(Sin[β-γ])
2
(Sin[γ-α])
2
(Sin[α-β])
λ
1
xx
xx+yy+zz
λ
2
yy
xx+yy+zz
λ
3
zz
xx+yy+zz
λ
1
λ
2
λ
3
X
125
X
125
2
x
2
y
2
x
2
y
X
125
In the command below, type the new coordinates of the points. You can also change the extension to X and Y. Evaluate the notebook.
In[]:=
JerabekHyperbola[tri={{-2,5},{7,12},{9,-4}},{-20,20},{-20,20}]
X
125
48.6858-4.30171x-0.244851-10.4862y+xy+0.244851= 0
2
x
2
y
TypeHyperbola,Equation48.6858-4.30171x-0.244851-10.4862y+xy+0.2448510,Foci{{9.16622,11.4709},{4.35147,3.75211}},Vertices{{8.46112,10.3405},{5.05658,4.8825}},Eccentricity1.41421,Asymptotes{y36.7815-4.31583x,y6.04547+0.231705x},Center{6.75885,7.61153},SemimajorAxisLength3.21641,SemiminorAxisLength3.21641,Directrices{y14.4278-0.623765x,y14.486-0.623765x},AxesOfSymmetry{y-3.22404+1.60317x,y11.8275-0.623765x},SemiLatusRectum3.21641,RotationAngle1.01309,ConjugateHyperbola1.(-668.965+17.5687x+1.+42.827y-4.08412xy-1.)0,BaseConicEquation0.0966624-0.09666241,RotationAngle1.01309,DisplacementFromOrigin{6.75885,7.61153}
2
x
2
y
2
x
2
y
2
x
2
y
Out[]=