Mécanisme à leviers articulés d'une balance à deux plateaux

A = (5, 1)
c = Circle(A, 1)
B = Point(c)
C = Point(xAxis)
a = OrthogonalLine(C, xAxis)
d = Circle(B, 4.2)
D, E = Intersect(d, a)
b = Ray(B, D)
e = Circle(D, 0.5)
F, G = Intersect(e, a)
H = Midpoint(B, D)
f = Circle(H, 1.5)
I = Point(yAxis)
J = Point(f)
i = Segment(D, F)
j = Segment(J, H)
h = Line(I, J)
k = Circle(I, 5)
K, L = Intersect(k, h)
p = Circle(K, 1.91)
M, N = Intersect(p, h)
q = Circle(N, 1.5)
O = Point(yAxis)
l = Line(I, O)
A' = Mirror(A, l)
a' = Mirror(a, l)
P = Intersect(l, yAxis)
Q = Intersect(l, yAxis)
R = Intersect(l, yAxis)
S = Point(l)
D' = Mirror(D, S)
distanceDB = Distance(D, B)
r = Circle(D', 0.5)
H' = Mirror(H, S)
g = Ray(D', H')
D'' = Mirror(D', H')
m = Segment(A, B)
n = Segment(B, D)
s = Segment(A', D'')
t = Segment(K, L)
a_1 = Segment(N, H')
c_1 = Circle(D', 0.5)
b_1 = Segment(D'', D')
T, U = Intersect(c_1, a')
d_1 = Segment(D', T)
e_1 = Segment(J, H)
V = Intersect(l, xAxis)
f_1 = Segment(I, V)
W = Point(xAxis)
Z = Point(xAxis)
g_1 = Segment(A', W)
h_1 = Segment(A, Z)
i_1 = Segment(I, V)
k_1 = Circle(K, 1)
A_1 = Point(k_1)
p_1 = Circle(A_1, 2)
B_1 = Point(p_1)
l_1 = Segment(A_1, K)
C_1 = Mirror(B_1, A_1)
j_1 = Segment(C_1, B_1)
q_1 = Circle(T, 1)
D_1 = Point(q_1)
m_1 = Segment(D_1, B_1)
n_1 = Segment(D_1, T)
r_1 = Circle(L, 1)
E_1 = Point(r_1)
s_1 = Circle(E_1, 2)
F_1 = Point(s_1)
G_1 = Mirror(F_1, E_1)
t_1 = Segment(E_1, L)
a_2 = Segment(G_1, F_1)
c_2 = Circle(F, 1)
H_1 = Point(c_2)
b_2 = Segment(H_1, F)
d_2 = Segment(G_1, H_1)
I_1 = Point(xAxis)
J_1 = Point(xAxis)
e_2 = Segment(I_1, J_1)
K_1 = Intersect(l, t)
L_1 = Point(f_1)
f_2 = Segment(K_1, L_1)