ferrywheel
Author: Daniel Mentrard
Date: 13 Novembre 2014

A = (3.618207694157766, -7.60671828404904)
a = 3.9 (slider from -5 to 5, step 0.1)
B: A + (a, 0)
t = 5.2096 (slider from 0 to 6.283185307179586, step 1.0E-4)
BB = Rotate(B, t, A)
BB' = Rotate(BB, 0.7853981633974483, A)
BB'_3 = Rotate(BB, 1.5707963267948966, A)
BB'_1 = Rotate(BB, 2.356194490192345, A)
BB'_2 = Rotate(BB, 3.141592653589793, A)
BB'_4 = Rotate(BB, 3.9269908169872414, A)
BB'_5 = Rotate(BB, 4.71238898038469, A)
BB'_6 = Rotate(BB, 5.497787143782138, A)
poly1, bb'_5, bb'_6, bb, bb', bb'_3, bb'_1, bb'_2, bb'_4 = Polygon(BB'_5, BB'_6, BB, BB', BB'_3, BB'_1, BB'_2, BB'_4)
b = Line(BB, yAxis)
C: BB - (0, a / 10)
D: C + (a / 8, 0)
D' = Mirror(D, C)
k = Semicircle(D, D')
E: BB + (a / 15, 0)
j = Ray(D, E)
F = Intersect(j, b)
E' = Mirror(E, BB)
m = Segment(E', E)
G: F + (a / 8, (-a) / 12)
G' = Mirror(G, b)
p = Semicircle(G', G)
q = Semicircle(G', G)
r = Segment(BB, A)
u = Vector(BB, BB')
C' = Translate(C, u)
k' = Translate(k, u)
BB'_7 = Translate(BB, u)
q' = Translate(q, u)
p' = Translate(p, u)
F' = Translate(F, u)
D'_1 = Translate(D, u)
F'_1 = Translate(F, u)
D'' = Translate(D', u)
c = Segment(G, G')
poly2, g', g, e, e' = Polygon(G', G, E, E')
d = Segment(E', D')
H = Intersect(e, g)
f = Segment(H, D)
h = Segment(BB, C)
s = Circle(BB, a / 50)
H' = Translate(H, u)
D'_2 = Translate(D, u)
f' = Segment(H', D'_2)
E'' = Translate(E', u)
D''_1 = Translate(D', u)
d' = Segment(E'', D''_1)
G'' = Translate(G', u)
G'_1 = Translate(G, u)
E'_1 = Translate(E, u)
E''_1 = Translate(E', u)
poly2', g'', g'_1, e'_1, e''_1 = Polygon(G'', G'_1, E'_1, E''_1)
s' = Translate(s, u)
v = Vector(BB, BB'_3)
k'_1 = Translate(k, v)
H'_1 = Translate(H, v)
D'_3 = Translate(D, v)
f'_1 = Segment(H'_1, D'_3)
E''_2 = Translate(E', v)
D''_2 = Translate(D', v)
d'_1 = Segment(E''_2, D''_2)
s'_1 = Translate(s, v)
q'_1 = Translate(q, v)
p'_1 = Translate(p, v)
G''_1 = Translate(G', v)
G'_2 = Translate(G, v)
E'_2 = Translate(E, v)
E''_3 = Translate(E', v)
poly2'_1, g''_1, g'_2, e'_2, e''_3 = Polygon(G''_1, G'_2, E'_2, E''_3)
c_1 = Circle(A, BB'_1)
w = Vector(BB, BB'_1)
k'_2 = Translate(k, w)
H'_2 = Translate(H, w)
D'_4 = Translate(D, w)
f'_2 = Segment(H'_2, D'_4)
q'_2 = Translate(q, w)
p'_2 = Translate(p, w)
E''_4 = Translate(E', w)
D''_3 = Translate(D', w)
d'_2 = Segment(E''_4, D''_3)
G''_2 = Translate(G', w)
G'_3 = Translate(G, w)
E'_3 = Translate(E, w)
E''_5 = Translate(E', w)
poly2'_2, g''_2, g'_3, e'_3, e''_5 = Polygon(G''_2, G'_3, E'_3, E''_5)
d_1 = Semicircle(D'_4, D''_3)
e_1 = Semicircle(D'_3, D''_2)
f_1 = Semicircle(D'_1, D''_1)
g_1 = Semicircle(D, D')
i = Segment(BB'_3, A)
l = Segment(A, BB')
n = Segment(BB'_1, A)
z = Vector(BB, BB'_2)
C'_1 = Translate(C, z)
k'_3 = Translate(k, z)
p'_3 = Translate(p, z)
q'_3 = Translate(q, z)
G''_3 = Translate(G', z)
G'_4 = Translate(G, z)
E'_4 = Translate(E, z)
E''_6 = Translate(E', z)
poly2'_3, g''_3, g'_4, e'_4, e''_6 = Polygon(G''_3, G'_4, E'_4, E''_6)
H'_3 = Translate(H, z)
D'_5 = Translate(D, z)
f'_3 = Segment(H'_3, D'_5)
E''_7 = Translate(E', z)
D''_4 = Translate(D', z)
d'_3 = Segment(E''_7, D''_4)
u_1 = Vector(BB, BB'_4)
p'_4 = Translate(p, u_1)
q'_4 = Translate(q, u_1)
G''_4 = Translate(G', u_1)
G'_5 = Translate(G, u_1)
E'_5 = Translate(E, u_1)
E''_8 = Translate(E', u_1)
poly2'_4, g''_4, g'_5, e'_5, e''_8 = Polygon(G''_4, G'_5, E'_5, E''_8)
H'_4 = Translate(H, u_1)
D'_6 = Translate(D, u_1)
f'_4 = Segment(H'_4, D'_6)
E''_9 = Translate(E', u_1)
D''_5 = Translate(D', u_1)
d'_4 = Segment(E''_9, D''_5)
k'_4 = Translate(k, u_1)
v_1 = Vector(BB, BB'_5)
p'_5 = Translate(p, v_1)
q'_5 = Translate(q, v_1)
k'_5 = Translate(k, v_1)
H'_5 = Translate(H, v_1)
D'_7 = Translate(D, v_1)
f'_5 = Segment(H'_5, D'_7)
E''_{10} = Translate(E', v_1)
D''_6 = Translate(D', v_1)
d'_5 = Segment(E''_{10}, D''_6)
G''_5 = Translate(G', v_1)
G'_6 = Translate(G, v_1)
E'_6 = Translate(E, v_1)
E''_{11} = Translate(E', v_1)
poly2'_5, g''_5, g'_6, e'_6, e''_{11} = Polygon(G''_5, G'_6, E'_6, E''_{11})
w_1 = Vector(BB, BB'_6)
p'_6 = Translate(p, w_1)
q'_6 = Translate(q, w_1)
k'_6 = Translate(k, w_1)
H'_6 = Translate(H, w_1)
D'_8 = Translate(D, w_1)
f'_6 = Segment(H'_6, D'_8)
E''_{12} = Translate(E', w_1)
D''_7 = Translate(D', w_1)
d'_6 = Segment(E''_{12}, D''_7)
G''_6 = Translate(G', w_1)
G'_7 = Translate(G, w_1)
E'_7 = Translate(E, w_1)
E''_{13} = Translate(E', w_1)
poly2'_6, g''_6, g'_7, e'_7, e''_{13} = Polygon(G''_6, G'_7, E'_7, E''_{13})
s'_2 = Translate(s, w_1)
s'_3 = Translate(s, v_1)
s'_4 = Translate(s, u_1)
s'_5 = Translate(s, z)
s'_6 = Translate(s, w)
h_1 = Semicircle(D'_5, D''_4)
k_1 = Semicircle(D'_6, D''_5)
p_1 = Semicircle(D'_7, D''_6)
q_1 = Semicircle(D'_8, D''_7)
a_1 = Segment(G''_6, G'_7)
b_1 = Segment(BB'_6, A)
i_1 = Segment(BB'_2, A)
j_1 = Segment(BB'_4, A)
l_1 = Segment(BB'_5, A)
liste1 = Sequence(A + (a / 2 * cos(i + t), a / 2 * sin(i + t)), i, 0, 6.28319, 0.7853981633974483)
poly3 = Polygon(liste1)
I: A - (0, a + a / 4)
J: I - (a + a / 4, 0)
J' = Mirror(J, I)
K = Midpoint(J, I)
L = Midpoint(I, J')
M = Midpoint(K, I)
N = Midpoint(I, L)
O = Midpoint(K, M)
P = Midpoint(M, I)
m_1 = Segment(D''_7, D'_8)
n_1 = Segment(D', D)
r_1 = Segment(D'', D'_1)
s_1 = Segment(D''_2, D'_3)
t_1 = Segment(D''_3, D'_4)
a_2 = Segment(D''_4, D'_5)
b_2 = Segment(D''_5, D'_6)
c_2 = Segment(D''_6, D'_7)
Q = Midpoint(N, L)
poly4, o, a_3, m_2 = Polygon(A, M, O)
poly5, a_4, n_2, q_2 = Polygon(N, Q, A)
R: J + (0, a / 8)
S: J' + (0, a / 8)
liste2 = Sequence(R + i * Vector[R, S], i, 0, 1, 0.04)
liste3 = Sequence(J + i * Vector[R, S], i, 0, 1, 0.04)
liste4 = Sequence(Segment[Element[liste2, i], Element[liste3, i]], i, 1, Length[liste3])
d_2 = Segment(R, S)
e_2 = Segment(J, J')
Speed = 0.7 (slider from 0 to 5, step 0.1)
liste5 = Sequence(A + ((a + 0.21) * cos(i + t), (a + 0.21) * sin(i + t)), i, 0, 6.28319, 0.7854)
poly6 = Polygon(liste5)
f_2 = Circle(A, a + 0.2)
g_2 = Circle(A, a / 10)
T = (-19.585227646331354, -14.250460207203947)
U = (33.22778371781286, -14.998108028324333)
V = (-19.75137160658036, -1.3950712829392184)
h_2 = Segment(BB'_2, A)
k_2 = Circle(A, Element[liste1, 1])
W = Midpoint(BB'_2, BB'_4)
Z = Midpoint(BB'_4, BB'_5)
A_1 = Midpoint(BB'_5, BB'_6)
B_1 = Midpoint(BB'_6, BB)
C_1 = Midpoint(BB, BB')
D_1 = Midpoint(BB', BB'_3)
E_1 = Midpoint(BB'_3, BB'_1)
F_1 = Midpoint(BB'_1, BB'_2)
i_2 = Segment(A_1, A)
j_2 = Segment(B_1, A)
l_2 = Segment(C_1, A)
p_2 = Segment(A, D_1)
r_2 = Segment(A, E_1)
s_2 = Segment(A, F_1)
t_2 = Segment(A, W)
b_3 = Segment(A, Z)
ff = Mod(t * 10000, 2)
c_3 = Segment(BB'_6, A)
G_1 = (14.488606233050717, -3.9088701007306317)
H_1 = (9.93005200706335, -3.494456080186327)
I_1 = (8.686809945430431, -5.008661155252055)
J_1 = (-1.7851135737083788, -5.550587182117684)
K_1 = (7.124787867994202, -3.606029085717486)
L_1 = (11.810854100302894, -5.231807166314373)
M_1 = (15.476824282040985, -4.897088149720896)
N_1 = (15.588397287572144, -4.211711115743777)
O_1 = (-5.049767720679184, -12.440601518728212)
P_1 = (17.744737334982084, -12.488418521098708)
Q_1 = (16.560676335772232, -14.914614492652738)
R_1 = (-3.397584723049684, -16.66243149502324)
poly7, o_1, p_3, q_3, r_3 = Polygon(O_1, P_1, Q_1, R_1)