A = (3.64, -8.1)
B = Point(Circle[A, 4])
f = segment(A, B)
g = Line(A, B)
h = OrthogonalLine(A, g)
i = OrthogonalLine(B, g)
c = Circle(B, A)
C = Intersect(c, g, 2)
d = Circle(C, B)
D = Intersect(d, g, 2)
j = OrthogonalLine(C, g)
k = OrthogonalLine(D, g)
e = Circle(A, 8)
E = Intersect(e, h, 2)
l = OrthogonalLine(E, h)
F = Intersect(i, l)
G = Intersect(j, l)
H = Intersect(l, k)
poly1, m, n, p, I = Polygon(F, G, 3)
poly2, q, r, s, J = Polygon(C, B, 3)
t = segment2(F, B)
a = segment2(B, C)
b = segment2(C, G)
f_1 = segment2(G, F)
K, L, M, N, O, P, Q, R, S, T, U, c_1, g_1, h_1, i_1, j_1, k_1 = Languette1(E, F)
V, W, Z, A_1, B_1, C_1, D_1, E_1, F_1, G_1, H_1, d_1, l_1, m_1, n_1, p_1, q_1 = Languette1(I, G)
I_1, J_1, K_1, L_1, M_1, N_1, O_1, P_1, Q_1, R_1, S_1, e_1, r_1, s_1, t_1, a_1, b_1 = Languette1(D, C)
T_1, U_1, V_1, W_1, Z_1, A_2, B_2, C_2, D_2, E_2, F_2, c_2, f_2, g_2, h_2, i_2, j_2 = Languette1(J, B)
k_2, l_2, m_2, n_2, p_2, q_2 = languette2(F, I)
r_2, s_2, t_2, a_2, b_2, d_2 = languette2(G, H)
e_2, f_3, g_3, h_3, i_3, j_3 = languette2(C, J)
k_3, l_3, m_3, n_3, p_3, q_3 = languette2(B, A)
c_3, r_3, s_3, t_3, a_3, b_3, d_3, e_3, f_4, g_4, h_4, i_4 = languettes(A, E)
c_4, j_4, k_4, l_4, m_4, n_4, p_4, q_4, r_4, s_4, t_4, a_4 = languettes(H, D)

Tool: segment-trait-plein (command segment)
segment[ <Point>, <Point> ]
Input: F, G
Output: g

g = Segment(F, G)

Tool: languette-ronde-1pour2 (command Languette1)
deux points
Input: A, B
Output: C, D, D', E, E', F, F', G, G', H, I, c, f, h, g, k, l

C = Midpoint(A, B)
D = Midpoint(A, C)
E = Midpoint(D, C)
F = Midpoint(D, E)
G = Midpoint(D, F)
D' = Mirror(D, C)
E' = Mirror(E, C)
F' = Mirror(F, C)
G' = Mirror(G, C)
c = Semicircle(D, D')
f = segment(G, G')
g = segment(G, A)
h = segment(G', B)
i = OrthogonalLine(G, g)
j = OrthogonalLine(G', h)
H = Intersect(c, i, 1)
I = Intersect(c, j, 1)
k = segment(H, G)
l = segment(I, G')

Tool: languette-trapeze-2pour1 (command languette2)
deux points [créés ou non]
Input: A, B
Output: i, j, k, l, m, n

poly1, f, g, h, C = Polygon(A, B, 3)
D = Midpoint(C, B)
E = Midpoint(B, D)
H = Midpoint(C, A)
I = Midpoint(H, A)
L = Midpoint(A, B)
M = Midpoint(L, B)
N = Midpoint(L, A)
l = segment(N, M)
m = segment(A, N)
n = segment(M, B)
i = segment(A, I)
j = segment(I, E)
k = segment(E, B)

Tool: languette-triangle-4pour3 (command languette3)
deux points [créés ou non]
Input: A, B
Output: h, j, l, i, k

B' = Rotate(B, 18°, A)
f = Ray(A, B')
A' = Rotate(A, -18°, B)
g = Ray(B, A')
C = Intersect(f, g)
D = Midpoint(A, B)
E = Midpoint(A, D)
F = Midpoint(D, B)
h = segment(A, C)
i = segment(C, B)
j = segment(B, F)
k = segment(F, E)
l = segment(E, A)

Tool: languette-triangle-arrondi-3pour4 (command languette)
deux points [créés ou non]
Input: A, B
Output: c_1, d, t, s, r, q, a, b, f_1

f, g, h, i, j = languette3(A, B)
C, D, E, F, G, H, I, J, K, L, M, c, k, l, m, n, p = Languette1(A, B)
N = Intersect(c, f, 1)
O = Intersect(c, i, 1)
P = Intersect(f, i)
Q = Intersect(f, n)
R = Intersect(i, p)
T = Intersect(n, m)
U = Intersect(p, l)
V = Intersect(c, m, 1)
Z = Midpoint(A, B)
d = CircleArc(Z, N, V)
q = segment(N, P)
r = segment(P, O)
s = segment(T, Q)
t = segment(U, R)
a = segment(A, J)
b = segment(K, B)
f_1 = segment(J, K)
c_1 = CircleArc(C, E, O)

Tool: languettes-ronde-trapeze (command languettes)
deux points (créés ou non]
Input: A, B
Output: c, f, g, h, i, j, k, l, m, n, p, q

C = Midpoint(A, B)
D, E, F, G, H, I, J, K, L, M, N, c, f, g, h, i, j = Languette1(A, C)
k, l, m, n, p, q = languette2(C, B)

Tool: ouverture-pour-languettes-1et3 (command ouverture)
ouverture[ <Point>, <Point> ]
Input: A, B
Output: f

C = Midpoint(A, B)
D = Midpoint(A, C)
E = Midpoint(C, B)
f = segment(D, E)

Tool: segment-pointillé (command segment2)
segment2[ <Point>, <Point> ]
Input: H, I
Output: h

h = segment(H, I)

Tool: languette-trapeze-colle (command languette5)
Input: J, K
Output: i, j, k, p

i, j, k, l, m, n = languette2(J, K)
p = segment(J, K)

Tool: languette-triangle-colle (command languette6)
Input: P, Q
Output: b, e, g_1

b, c, d, e, f_1 = languette3(P, Q)
g_1 = segment(P, Q)