A = (-2.28, 2.54)
B = Point(Circle[A, 4])
a = Segment(A, B)
b = OrthogonalLine(B, a)
c = Circle(B, 9)
C = Intersect(c, b, 1)
d = OrthogonalLine(C, b)
e = OrthogonalLine(A, a)
D = Intersect(d, e)
f = Segment(B, C)
g = Segment(C, D)
h = Segment(D, A)
E = (12.188247013337417, 2.6017857257463963)
F = Point(Circle[E, 6])
i = Segment(E, F)
j = OrthogonalLine(F, i)
k = OrthogonalLine(E, i)
p = Circle(F, 8)
G = Intersect(p, j, 1)
l = OrthogonalLine(G, j)
H = Intersect(k, l)
m = Segment(F, G)
n = Segment(G, H)
q = Segment(H, E)
r = Line(A, D)
M = Point(g)
s = Circle(D, Segment[M, D])
I = Intersect(s, h, 1)
N = Mirror(D, I)
poly1, a_1, b_1, c_1, m_1, n_1 = Polygon(A, B, C, M, N)
distanceDM = Distance(D, M)
TexteDM: "" + (Name[D] + (Name[M])) + " = " + distanceDM + ""
Textepoly1: "Aire " + (Name[A]) + (Name[B]) + (Name[C]) + (Name[M]) + (Name[N]) + " = " + poly1
t = Circle(H, Segment[D, N])
P = Intersect(t, n, 1)
poly2, e_1, f_1, g_1, p_1 = Polygon(E, F, G, P)
Textepoly2: "Aire " + (Name[E]) + (Name[F]) + (Name[G]) + (Name[P]) + " = " + poly2