Pythagoras

a_r = 1 (slider from 0 to 1, step 0.01)
A = Intersect(xAxis, yAxis)
B = Point(xAxis)
h = Semicircle(A, B)
O = Midpoint(A, B)
o = Circle(O, B)
C = Point(h)
D = Rotate(C, 90°, A)
E = Rotate(A, 270°, C)
m = Line(D, E)
v_b = Vector(D, E)
k_b = Length(v_b)
F = Rotate(C, 270°, B)
G = Rotate(B, 90°, C)
n = Line(F, G)
H = Intersect(m, n)
hc = Line(H, yAxis)
u_a = Vector(E, H)
ku_b = Length(u_a)
u_b = Vector(G, H)
ku_a = Length(u_b)
v_a = Vector(F, G)
k_a = Length(v_a)
I = Rotate(B, 270°, A)
v_c = Vector(A, I)
k_c = Length(v_c)
d = Circle(H, (ku_a * ku_b / k_c))
K, L = Intersect(d, hc)
v_h = Vector(H, L)
k_H: (k_a * k_b / k_c)
sliderA_m: ku_b + k_H + k_c
a: 1 - a_r
ka_1: ku_b / sliderA_m
ka_2: (ku_b + k_H) / sliderA_m
J = Rotate(A, 90°, B)
sliderB_m: ku_b + k_H + k_c
b = 0 (slider from 0 to 1, step 0.01)
F' = If(a  <  ka_1, Point[F, Vector[(a / ka_1 * u_b)]], If[a  <  ka_2, Point[F, u_b], Point[F, Vector[u_b + ((a - ka_2) / (1 - ka_2) * v_c)]]])
P, b_1, c, g, f = Polygon(B, C, G, F)
k_3: (ku_b + k_H + k_c) / sliderA_m
G' = If(a  <  ka_1, Point[G, Vector[(a / ka_1 * u_b)]], If[a  <  ka_2, Point[H, Vector[((a - ka_1) / (ka_2 - ka_1) * v_h)]], Point[L, Vector[((a - ka_2) / (1 - ka_2) * v_c)]]])
Ca' = If(a  <  ka_1, C, If[a  <  ka_2, Point[C, Vector[((a - ka_1) / (ka_2 - ka_1) * v_h)]], Point[C, Vector[v_h + ((a - ka_2) / (1 - ka_2) * v_c)]]])
u = Vector(G', Ca')
B' = If(a  <  ka_1, B, If[a  <  ka_2, B, Point[B, Vector[((a - ka_2) / (1 - ka_2) * v_c)]]])
v = Vector(F', B')
Q, b', c', g', f' = Polygon(B', Ca', G', F')
kb_1: ku_a / sliderB_m
kb_2: (ku_a + k_H) / sliderB_m
E' = If(b  <  kb_1, Point[E, Vector[(b / kb_1 * u_a)]], If[b  <  kb_2, Point[H, Vector[((b - kb_1) / (kb_2 - kb_1) * v_h)]], Point[L, Vector[((b - kb_2) / (1 - kb_2) * v_c)]]])
D' = If(b  <  kb_1, Point[D, Vector[(b / kb_1 * u_a)]], If[b  <  kb_2, Point[D, u_a], Point[D, Vector[u_a + ((b - kb_2) / (1 - kb_2) * v_c)]]])
Cb' = If(b  <  kb_1, C, If[b  <  kb_2, Point[C, Vector[((b - kb_1) / (kb_2 - kb_1) * v_h)]], Point[C, Vector[v_h + ((b - kb_2) / (1 - kb_2) * v_c)]]])
A' = If(b  <  kb_1, A, If[b  <  kb_2, A, Point[A, Vector[((b - kb_2) / (1 - kb_2) * v_c)]]])
R, a_1, c_1, e, d_1 = Polygon(A, C, E, D)
S, a', cb', e', d' = Polygon(A', Cb', E', D')
T, a_2, b_2, j, i = Polygon(A, B, J, I)
α = Angle(A, C, B)
M = Midpoint(C, B)
N = Midpoint(A, C)
U = Midpoint(a_2)
T2: "" + k_b + ""
T3: "" + k_c + ""