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)