1

2

3

C = (-1.628109690543659, 4.6238537158774955)
A = Point(xAxis)
s = OrthogonalLine(A, xAxis)
M = Point(s)
q = Circle(A, C)
B = Point(xAxis)
poly1_1, b_3, c, a5 = Polygon(C, A, B)
k = OrthogonalLine(A, b_3)
G, H = Intersect(q, k)
m_1 = Line(G, b_3)
j = OrthogonalLine(C, b_3)
I = Intersect(m_1, j)
b1 = Line(I, M)
poly1, a_1, g_1, i_1, c_2 = Polygon(A, G, I, C)
Z = Intersect(i_1, b1)
n1 = Line(G, Z)
S = Intersect(s, n1)
d = OrthogonalLine(C, a5)
e = OrthogonalLine(B, a5)
f = Circle(B, C)
D = Intersect(f, e, 1)
g = Line(D, a5)
E = Intersect(d, g)
poly2, c_1, b_1, d_1, e_1 = Polygon(C, B, D, E)
h = OrthogonalLine(B, c)
i = OrthogonalLine(A, c)
p = Circle(A, B)
F = Intersect(p, i, 1)
l = Line(F, xAxis)
J = Intersect(h, l)
poly3, a_2, b_2, j_1, f_1 = Polygon(A, B, J, F)
b = 0 (slider from 0 to 1, step 0.01)
a_r = 1 (slider from 0 to 1, step 0.01)
n = OrthogonalLine(B, xAxis)
K = Intersect(d_1, n)
u = Vector(K, B)
Lu = Length(u)
ub = Vector(D, K)
Lub = Length(ub)
r = OrthogonalLine(C, xAxis)
L = Intersect(r, xAxis)
m_2 = Vector(I, M)
t = Line(D, E)
N = Intersect(r, t)
c1 = Circle(N, E)
a1 = Line(M, xAxis)
Lm = Length(m_2)
O = Point(Circle[C, Lm])
d1 = Segment(C, O)
e1 = Line(C, a1)
f1 = OrthogonalLine(O, e1)
P = Intersect(f1, xAxis)
Q = Intersect(e1, f1)
v_1 = Vector(Q, P)
Lv = Length(v_1)
sliderAm: Lub + Lv + Lu
a: 1 - a_r
z: 1 - b
ka1: Lub / sliderAm
ka2: (Lub + Lv) / sliderAm
D' = If(a < ka1, Point[D, a / ka1 ub], If[a < ka2, Point[D, ub], Point[D, ub + (a - ka2) / (1 - ka2) u]])
R = Intersect(e1, s)
g1 = Line(D, xAxis)
T = Intersect(g1, r)
h1 = Line(K, g1)
V = Intersect(r, h1)
E' = If(a < ka1, Point[E, a / ka1 ub], If[a < ka2, Point[N, (a - ka1) / (ka2 - ka1) v_1], Point[V, (a - ka2) / (1 - ka2) u]])
U = Intersect(s, t)
i1 = Segment(U, E)
k1 = Circle(D, i1)
B' = If(a < ka1, B, If[a < ka2, B, Point[B, (a - ka2) / (1 - ka2) u]])
C' = If(a < ka1, C, If[a < ka2, Point[C, (a - ka1) / (ka2 - ka1) v_1], Point[C, v_1 + (a - ka2) / (1 - ka2) u]])
poly5, d', e', c', b' = Polygon(D', E', C', B')
j1 = OrthogonalLine(I, e1)
W = Intersect(a1, j1)
l1 = Segment(C, M)
p1 = Circle(I, l1)
A1 = Point(p1)
m1 = Line(A1, xAxis)
B1 = Point(m1)
m = Vector(G, S)
kb1: Lub / sliderAm
q1 = Segment(G, S)
r1 = Circle(Z, q1)
D1, E1 = Intersect(r1, n1)
u'b' = Vector(Z, E1)
v = Vector(C, L)
C1 = (19.33810937255765, 29.96949316543965)
lu'b' = Length(u'b')
lv = Length(v)
u' = Vector(E1, C)
lu' = Length(u')
sliderBm: lu'b' + Lv + lu'
w = Vector(S, A)
kb2: (lu'b' + lv) / sliderBm
G' = If(b < kb1, Point[G, b / kb1 m], If[b < kb2, Point[G, m], Point[G, m + (b - kb2) / (1 - kb2) w]])
s1 = Line(S, h1)
H1' = Point(s1)
Z' = If(b < kb1, Point[Z, b / kb1 u'b'], If[b < kb2, Point[E1, (b - kb1) / (kb2 - kb1) v], Point[H1', (b - kb2) / (1 - kb2) u']])
X = If(b < kb1, C, If[b < kb2, Point[C, (b - kb1) / (kb2 - kb1) v], Point[C, v + (b - kb2) / (1 - kb2) w]])
A' = If(b < kb1, A, If[b < kb2, A, Point[A, (b - kb2) / (1 - kb2) w]])
poly6, g', z', t1, a' = Polygon(G', Z', X, A')