In[]:=
OrthicInconic::usage="The orthic inconic can be an ellipse (acute angles) or a hyperbola (obtuse angle). Go through the three foots of the heights and other points. Its center is the simedian point K. References: Wolfram MathWorld: Orthic Inconic; Personal. ";OrthicInconic[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]];s1=NSolve[{(y1-y2)x+(x2-x1)y+(x1y2-y1x2)==0,(x2-x1)x+(y2-y1)y+(x3x1-x2x3+y1y3-y2y3)==0},{x,y}];xp11=x/.s1;xp1=xp11.{1};yp11=y/.s1;yp1=yp11.{1};s2=NSolve[{(y1-y3)x+(x3-x1)y+(x1y3-y1x3)==0,(x3-x1)x+(y3-y1)y+(x1x2-x2x3+y1y2-y2y3)==0},{x,y}];xp22=x/.s2;xp2=xp22.{1};yp22=y/.s2;yp2=yp22.{1};s3=NSolve[{(y2-y3)x+(x3-x2)y+(x2y3-y2x3)==0,(x3-x2)x+(y3-y2)y+(x1x2-x1x3+y1y2-y1y3)==0},{x,y}];xp33=x/.s3;xp3=xp33.{1};yp33=y/.s3;yp3=yp33.{1};f1=++;f2=++;xs1=;ys1=;xs2=;ys2=;solución=NSolve[{(xs1-x2)y-(ys1-y2)x-y2(xs1-x2)+x2(ys1-y2)==0,(xs2-x3)y-(ys2-y3)x-y3(xs2-x3)+x3(ys2-y3)==0},{x,y}];xl1=x/.solución;xl=xl1.{1};yl1=y/.solución;yl=yl1.{1};x4=2xl-xp1;y4=2yl-yp1;x5=2xl-xp2;y5=2yl-yp2;p5={{xp1,yp1},{xp2,yp2},{xp3,yp3},{x4,y4},{x5,y5}};γ=ResourceFunction["FivePointConic"][p5,{x,y}];g1=Line[{{x1,y1},{x2,y2},{x3,y3},{x1,y1}}];g3=Point[{xp1,yp1}];g4=Point[{xp2,yp2}];g5=Point[{xp3,yp3}];g6=Point[{x4,y4}];g7=Point[{x5,y5}];g8=Point[{xl,yl}];g9=Point[{xo,yo}];g11=ContourPlotγ==0,{x,X0,X1},{y,Y0,Y1},Epilog,Point[p5];g12=Point[{x1,y1}];g13=Point[{x2,y2}];g14=Point[{x3,y3}];g15=InfiniteLine[{{xp1,yp1},{x3,y3}}];g16=InfiniteLine[{{xp2,yp2},{x2,y2}}];g17=InfiniteLine[{{xp3,yp3},{x1,y1}}];label[sym_,Point[pos_]]:={PointSize[Scaled[0.028]],Hue[0.58,1,1],Point[pos],Text[Style[sym,White,FontSizeScaled[0.015]],pos]};Print[PasteButton["Information about the equation of the orthic inconic and all its points and parameters:"]];Print[" "];β=ResourceFunction["ConicProperties"][γ==0,{x,y}];Print[β];SwatchLegend[{Blue,Orange,Green,Purple},{"Orthic inconic","Foots of the heights","Points obtained with the simedian point (center K), the feet of the heights and the property of the mean point applied to the diameter","Heights"}]Show[{Graphics[{Brown,g1}],Graphics[{Orange,Thick,PointSize[0.015],g3}],Graphics[{Orange,Thick,PointSize[0.015],g4}],Graphics[{Orange,Thick,PointSize[0.015],g5}],Graphics[{Green,Thick,PointSize[0.015],g6}],Graphics[{Green,Thick,PointSize[0.015],g7}],g11,Graphics[{MapThread[label,{{"O",},{g9,g8}}]}],Graphics[{Black,Thick,PointSize[0.015],g12}],Graphics[{Black,Thick,PointSize[0.015],g13}],Graphics[{Black,Thick,PointSize[0.015],g14}],Graphics[{Purple,Dashed,g15}],Graphics[{Purple,Dashed,g16}],Graphics[{Purple,Dashed,g17}]},AxesTrue,AxesOrigin{0,0},AspectRatioAutomatic,ImageSize700,PlotLabelStyle[Framed["Orthic inconic"],16,Blue,BackgroundYellow]]
2
(x2-x1)
2
(y2-y1)
2
(x3-x2)
2
(y3-y2)
2
(x3-x1)
2
(y3-y1)
2
(x3-x2)
2
(y3-y2)
f1x3+x1
1+f1
f1y3+y1
1+f1
f2x2+x1
1+f2
f2y2+y1
1+f2
K
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[]:=
OrthicInconic[tri={{-2,5},{7,12},{9,-4}},{-10,10},{-10,10}]
TypeEllipse,Equation50.3746-3.51152x+1.-22.7315y-0.639569xy+2.306040,Foci{{6.77423,6.17395},{0.19874,4.65037}},Vertices{{7.69261,6.38674},{-0.719641,4.43758}},Covertices{{2.87863,8.03556},{4.09434,2.78876}},Eccentricity0.781656,Center{3.48649,5.41216},SemimajorAxisLength4.31756,SemiminorAxisLength2.6929,AreaEnclosed36.5265,SemiLatusRectum1.67959,Directrices{y22.0955-4.31583x,y42.329-4.31583x},AxesOfSymmetry{y4.60433+0.231705x,y20.4592-4.31583x},Circumference22.3207,RotationAngle0.227687,BaseConicEquation0.0536443+0.1378981,RotationAngle0.227687,DisplacementFromOrigin{3.48649,5.41216}
2
x
2
y
2
x
2
y
Out[]=