init_elements() z.A = point(0, 0) z.a = point(1, 0) z.B = point(5, 1) z.b = point(8, 1) C.A = circle(z.A, z.a) C.B = circle(z.B, z.b) L.common = C.A:common_tangent(C.B) z.Ta, z.Tb = L.common:get() z.O = C.A:external_similitude(C.B) L.AB = line(z.A, z.B) ra = C.A.radius rb = C.B.radius z.X = L.AB:report(rb-ra, z.B) z.M = L.AB.mid C.MA = circle(z.M, z.A) C.BX = circle(z.B, z.X) z.P, z.Q = intersection(C.MA, C.BX) z.R = C.A:point(-0.1) L.OR = line(z.O, z.R) z.S = intersection(C.B, L.OR, {near=z.R}) L.AR = line(z.A, z.R) L.BS = line(z.B, z.S) z.C = intersection(L.AR, L.BS) z.N = tkz.midpoint(z.O, z.C) C.NO = circle(z.N, z.O) C.CR = circle(z.C, z.R) z.ta, z.tb = intersection(C.NO, C.CR)