pang = 0.31324521427628466 rad
zr = 1
v: (zr * Vector[(0, 1)])
A = (0, 0)
C: A + (2.5 * v)
C' = Point(Circle[A, (2.5 * zr)])
ang = Angle(C, A, C')
en = 4 (slider from 1 to 5, step 1)
den = 1 (slider from 1 to 5, step 1)
r1: (en * zr / 2)
r2: (den * zr / 2)
fr: r1 / r2
h: (zr * Vector[(1, 0)])
B: A + (6.5 * h)
E: B + (r2 * Vector[(0, 1)])
cc: 0
t: ((2 * π) * cc) + ang
t2: (t * fr)
t1: t
M: C' + (0.25 * v)
wr = 4
cl2: (π * r2)
cl1: (π * r1)
F: A + (r1 * Vector[(0, 1)])
l = Segment(F, E)
a = Segment(A, C')
c = CircleSector(A, F, Rotate[F, t1, A])
e = Circle(B, wr)
D: B + (wr * v)
thr = 10
fth, b, f, g = Polygon(F + v / 5, F + h / 10, F - h / 10)
fthr: (thr * en)
bthr: (thr * den)
bth, i, j, k = Polygon(E + v / 5, E + h / 10, E - h / 10)
list3 = Sequence(Rotate[fth, t1 + ((i * 2) * π / fthr), A], i, 1, fthr)
list4 = Sequence(Rotate[bth, t2 + ((i * 2) * π / bthr), B], i, 1, bthr)
m = Segment(Mirror[F, A], Mirror[E, B])
cl: cl1 + cl2 + (2 * l)
pos: (t1 * r1)
clv = Vector(E, F)
text1: "\frac{\blue{" + (LaTeX[en]) + "}}{\red{" + (LaTeX[den]) + "}}"
F' = Mirror(F, A)
d = CircleSector(B, E, Rotate[E, t2, B])
E' = Mirror(E, B)
clv2 = Vector(F', E')
G: A + (7 * v)
H: G - (7 * h)
n = PolyLine(A, B, G, A, H, G)
I: A - (8 * h)
p = CircumcircleArc(H, H - (3 * v), I)
e' = Translate(e, Vector[B, I])
J: I + (wr * v)
ws = 10
list1 = Sequence(Segment[Rotate[D, t2 + ((i * 2) * π / ws), B], Rotate[E, t2 + ((i * 2) * π / ws), B]], i, 1, ws)
list2 = Sequence(Segment[I, Rotate[J, t2 + ((i * 2) * π / ws), I]], i, 1, ws)
poly1, q, r, s = Polygon(G + (0.3 * v) + h, G + (0.7 * v) + h, G + (0.2 * v) - h)
K: G + v
d_1 = Circle(M, (5 * zr))
c_1 = Circle(K, (6 * zr))
L = Intersect(c_1, d_1, 2)
poly2, b_1, e_1, f_1, g_1 = Polygon(C' + (0.5 * h) + (0.25 * v), C' + (0.5 * h) - (0.25 * v), C' - (0.5 * h) - (0.25 * v), C' - (0.5 * h) + (0.25 * v))
a_1 = PolyLine(K, L, M)
C'' = Mirror(C', A)
poly2' = Mirror(poly2, A)
N: C'' + (0.25 * v)
h_1 = Circle(N, (5 * zr))
O = Intersect(c_1, h_1, 2)
i_1 = PolyLine(K, O, N)
j_1 = Segment(A, C'')
k_1 = Circle(A, r1)
p_1 = Circle(B, r2)
clink: cl / 20
posModl: Mod[pos, clink] - clink / 2
posModb: Mod[pos - cl1, clink] - clink / 2
posModr: Mod[pos - cl1 - l, clink] - clink / 2
posModt: Mod[pos - cl1 - l - cl2, clink] - clink / 2
list5 = Sequence(Arc[k_1, Rotate[F, Min[3.141592653589793, Max[0, (((clink * i) + posModl) / cl1 * π)]], A], Rotate[F, Max[0, Min[3.141592653589793, (((clink * i) + posModl + clink / 2) / cl1 * π)]], A]], i, 0, round(cl1 / clink))
list7 = Sequence(Arc[p_1, Rotate[E', Min[3.141592653589793, Max[0, (((clink * i) + posModr) / cl2 * π)]], B], Rotate[E', Max[0, Min[3.141592653589793, (((clink * i) + posModr + clink / 2) / cl2 * π)]], B]], i, 0, round(cl2 / clink))
nclink: floor(l / clink)
list6 = Sequence(Segment[F' + (clv2 * Min[1, Max[0, ((clink * i) + posModb) / l]]), F' + (clv2 * Min[1, Max[0, ((clink * i) + posModb + clink / 2) / l]])], i, 0, If[(clink * nclink) + posModb > l, nclink - 1, nclink])
list8 = Sequence(Segment[E + (clv * Min[1, Max[0, ((clink * i) + posModt) / l]]), E + (clv * Min[1, Max[0, ((clink * i) + posModt + clink / 2) / l]])], i, 0, If[(clink * nclink) + posModb > l, nclink - 1, nclink])
l_1 = Element(list1, Length[list1])