c²

a²

b²

c

b

a

A = (0, 0)
B = (8, 0)
A_1 = Midpoint(A, B)
Z: ((x(A) + x(B)) / 2, (x(A) + x(B)) / 2)
s = CircleArc(A_1, B, Z)
a = 0 (slider from 0 to 5, step 0.01)
z: (1 + sgn(4 - a + 0.001)) / 2
u: (1 + sgn(1 - a + 0.001)) / 2
v: (1 + sgn(2 - a + 0.001)) / 2
w: (1 + sgn(3 - a + 0.001)) / 2
a3: (1 - u) (1 - v) w z
a1: u v w z
a5: (1 - u) (1 - v) (1 - w) (1 - z)
a2: (1 - u) v w z
a4: (1 - u) (1 - v) (1 - w) z
c: a2 (a - 1) + a3 + a4 + a5
d: a3 (a - 2) + a4 + a5
b: a1 a + a2 + a3 + a4 + a5
e: a4 (a - 3) + a5
f: a5 (a - 4)
C = Point(s)
P, b_1, a_1, c_1 = Polygon(A, C, B)
α = Angle(A, C, B)
D = (11, 0)
h = Vector(A, D)
A' = Translate(A, h)
C' = Translate(C, h)
B' = Translate(B, h)
P', b', a', c' = Polygon(A', C', B')
E: (3 x(B) + 2, 0)
F: E + (b_1, 0)
G: E + (0, b_1)
H: F + (0, b_1)
I: G - (a_1, 0)
J: I - (0, a_1)
K: J + (a_1, 0)
L: B' + (0, c_1)
M: A' + (0, c_1)
Q, a'_1, m, l, b'_1 = Polygon(A', M, L, B')
R, i, j, k, g_1 = Polygon(I, J, K, G)
S, g_2, h_1, f_1, e_1 = Polygon(G, H, F, E)
n = Line(C', B')
p = Line(M, n)
q = OrthogonalLine(L, p)
N = Intersect(p, b')
O = Intersect(q, p)
T = Intersect(q, n)
U, a'_2, m_1, n_1 = Polygon(M, N, A')
V, o, m_2, l_1 = Polygon(M, L, O)
W, l_2, t, b'_2 = Polygon(T, B', L)
Y, t_1, o_1, n_2, c'_1 = Polygon(T, O, N, C')
g: b Vector[N, E]
T' = Translate(T, g)
O' = Translate(O, g)
N' = Translate(N, g)
C'' = Translate(C', g)
Y', t', o', n', c'' = Polygon(T', O', N', C'')
β = Angle(C, A, B)
T'' = Rotate(T', -b β, N')
O'' = Rotate(O', -b β, N')
N'' = Rotate(N', -b β, N')
C''' = Rotate(C'', -b β, N')
Y'', t'', o'', n'', c''' = Polygon(T'', O'', N'', C''')
r: c Vector[L, H]
T'_1 = Translate(T, r)
B'' = Translate(B', r)
L' = Translate(L, r)
W', l', t'_1, b'' = Polygon(T'_1, B'', L')
T'_1' = Rotate(T'_1, -c β, L')
B''' = Rotate(B'', -c β, L')
L'' = Rotate(L', -c β, L')
W'', l'', t'_1', b''' = Polygon(T'_1', B''', L'')
u_1: d Vector[A', C''']
M' = Translate(M, u_1)
N'_1 = Translate(N, u_1)
A'' = Translate(A', u_1)
U', a'', m', n'_1 = Polygon(M', N'_1, A'')
M'' = Rotate(M', -d β, A'')
N'_1' = Rotate(N'_1, -d β, A'')
A''' = Rotate(A'', -d β, A'')
U'', a''', m'', n'_1' = Polygon(M'', N'_1', A''')
v_1: e Vector[M, I]
M'_1 = Translate(M, v_1)
L'_1 = Translate(L, v_1)
O'_1 = Translate(O, v_1)
V', o'_1, m'_1, l'_1 = Polygon(M'_1, L'_1, O'_1)
M'_1' = Rotate(M'_1, -e β, M'_1)
L'_1' = Rotate(L'_1, -e β, M'_1)
O'_1' = Rotate(O'_1, -e β, M'_1)
V'', o'_1', m'_1', l'_1' = Polygon(M'_1', L'_1', O'_1')
w_1: f Vector[A', I]
A''_1 = Translate(A', w_1)
C''_1 = Translate(C', w_1)
B''_1 = Translate(B', w_1)
P'', b''_1, a''_1, c''_1 = Polygon(A''_1, C''_1, B''_1)
A''_1' = Rotate(A''_1, -f β, A''_1)
C''_1' = Rotate(C''_1, -f β, A''_1)
B''_1' = Rotate(B''_1, -f β, A''_1)
P''', b''_1', a''_1', c''_1' = Polygon(A''_1', C''_1', B''_1')
B_1 = (2.35, 11.3)
C_1 = (4.95, 11.3)
z_1 = Vector(B_1, C_1)