Tangrami pusle

Tegemist on Tangrami puslega. Pusle erinevaid tükke saab liigutada sobivasse kohta. 
Klõpsates mustale täpikesele pusletüki tipus, saab muuta tüki asendit, lillaga asukohta.
Liigutades liugurit, muutub ülesanne ehk soovitud kujundi tekkimine.
 

A = (4, 10)
B = (12, 10)
f = Segment(A, B)
C = (12, 2)
g = Segment(B, C)
D = (4, 2)
h = Segment(C, D)
i = Segment(D, A)
j = Segment(A, C)
E = Midpoint(A, C)
F = Midpoint(A, B)
G = Midpoint(B, C)
k = Segment(F, G)
l = Segment(D, E)
H = Midpoint(F, G)
m = Segment(E, H)
I = Midpoint(A, E)
J = Midpoint(E, C)
n = Segment(H, J)
p = Segment(F, I)
K = (8.040498443810053, 5.945248777871222)
L = Point(Circle[K, 2.8284271247461903])
M: K + (0 * Vector[K, L]) + (-1 * OrthogonalVector[Segment[K, L]])
t1, m_1, k_1, l_1 = Polygon(K, L, M)
N = (8.026602854907612, 5.933492979126008)
O = Point(Circle[N, 5.656854249492381])
P: N + (0 * Vector[N, O]) + (-1 * OrthogonalVector[Segment[N, O]])
t2, p_1, n_1, o = Polygon(N, O, P)
Q = (7.969422035823856, 9.98725495491319)
R = Point(Circle[Q, 4])
S: Q + (1 * Vector[Q, R]) + (-1 * OrthogonalVector[Segment[Q, R]])
t3, s, q, r = Polygon(Q, R, S)
T = (10.026693786378585, 7.927511186245797)
U = Point(Circle[T, 4])
V: T + (1.50000000000000 * Vector[T, U]) + (0.500000000000001 * OrthogonalVector[Segment[T, U]])
W: T + (0.500000000000001 * Vector[T, U]) + (0.500000000000001 * OrthogonalVector[Segment[T, U]])
q1, t, u, v, w = Polygon(T, U, V, W)
Z = (8.020570810871643, 5.969221168326733)
A_1 = Point(Circle[Z, 2.8284271247461903])
B_1: Z + (1 * Vector[Z, A_1]) + (1 * OrthogonalVector[Segment[Z, A_1]])
C_1: Z + (0 * Vector[Z, A_1]) + (1 * OrthogonalVector[Segment[Z, A_1]])
q2, z_1, a_1, b_1, c_1 = Polygon(Z, A_1, B_1, C_1)
D_1 = (4.007968499203514, 9.947240272725107)
E_1 = Point(Circle[D_1, 4])
F_1: D_1 + (0.500000000000001 * Vector[D_1, E_1]) + (-0.500000000000001 * OrthogonalVector[Segment[D_1, E_1]])
t4, f_1, d_1, e_1 = Polygon(D_1, E_1, F_1)
G_1 = (8.039219291297982, 5.9371166075732615)
H_1 = Point(Circle[G_1, 5.656854249492381])
I_1: G_1 + (0 * Vector[G_1, H_1]) + (1 * OrthogonalVector[Segment[G_1, H_1]])
t5, i_1, g_1, h_1 = Polygon(G_1, H_1, I_1)
Kuju = 1 (slider from 1 to 5, step 1)
J_1 = (32.86842485387416, 1.540333788734217)
K_1 = (37.7652439963623, 1.5072522918260236)
L_1 = (32.867150365958565, 1.5390004776169248)
M_1 = (37.78221536201899, 1.5041232363887886)
N_1 = (32.869125070755835, 1.4979458350352064)
O_1 = (37.805219772255235, 1.4940809928794405)
P_1 = (32.892527494393846, 1.521777139624152)
Q_1 = (37.805219772255164, 1.4940809928794465)
R_1 = (32.84280698785583, 1.536365111191873)
S_1 = (37.73915705433354, 1.4858872754549894)