% !TEX TS-program = lualatex % Created by Alain Matthes on 2024-12-25. % Copyright (c) 2024 AlterMundus. \documentclass[margin = 12pt]{standalone} \usepackage[mini]{tkz-euclide} \usepackage{tkz-elements} \begin{document} \directlua{ init_elements() z.A = point(0, 0) z.B = point(5, 1) L.AB = line(z.A, z.B) z.C = point(0.8, 3) T.ABC = triangle(z.A, z.B, z.C) z.N = T.ABC.eulercenter z.G = T.ABC.centroid z.O = T.ABC.circumcenter z.H = T.ABC.orthocenter z.Ma, z.Mb, z.Mc = get_points(T.ABC:medial()) z.Ha, z.Hb, z.Hc = get_points(T.ABC:orthic()) z.Ea, z.Eb, z.Ec = get_points(T.ABC:extouch()) L.euler = T.ABC:euler_line() C.circum = T.ABC:circum_circle() C.euler = T.ABC:euler_circle() z.I, z.J = intersection(L.euler, C.euler) CO.E = conic(EL_bifocal(z.H, z.O, z.I)) PA.curve = CO.E:points(0, 1, 50) L.AH = line(z.A, z.H) L.BH = line(z.B, z.H) L.CH = line(z.C, z.H) z.X = intersection(L.AH, C.circum) _, z.Y = intersection(L.BH, C.circum) _, z.Z = intersection(L.CH, C.circum) L.BC = line(z.B, z.C) L.XO = line(z.X, z.O) L.YO = line(z.Y, z.O) L.ZO = line(z.Z, z.O) z.x = intersection(L.BC, L.XO) z.U = intersection(L.XO, CO.E) _, z.V = intersection(L.YO, CO.E) _, z.W = intersection(L.ZO, CO.E) } \begin{tikzpicture}[scale = 2] \tkzGetNodes \tkzDrawPolygon(A,B,C) \tkzDrawCoordinates[smooth,cyan](PA.curve) \tkzDrawCircles[red](N,Ma O,A) \tkzDrawSegments(A,X B,Y C,Z B,Hb C,Hc X,O Y,O Z,O) \tkzDrawPolygon[red](U,V,W) \tkzDrawLine[blue](I,J) \tkzDrawPoints(I,J,U,V,W) \tkzDrawPoints(A,B,C,N,G,H,O,X,Y,Z,Ma,Mb,Mc,Ha,Hb,Hc) \tkzLabelPoints[blue,right](O,N,G,H,I,J) \tkzLabelPoints[red](U,V,W) \tkzLabelPoints(A,B,Z) \tkzLabelPoints[above](C,X,Y) \end{tikzpicture} \end{document}