B

G

leg1

leg2

F

E

H

D

A

C

change size

turn C

leg1

leg2

C

F

E

G

H

D

divide squares

show pieces

a

c

b

show triangle

B = (4, 14.5)
leg2 = 3.5 (slider from 1 to 5, step 0.5)
W = Point(Circle[B, leg2])
polyB, m_1, n_1, p_1, q_1, N_1, N = Polygon(B, W, 4)
leg1 = 3.5 (slider from 1 to 5, step 0.5)
K: (x(B) + leg1, y(B))
G = (4, 14.5)
c = Circle(G, leg1)
f: y = y(G)
B' = Intersect(c, f, 2)
d = Circle(G, leg2)
g: x = x(G)
C' = Intersect(d, g, 1)
h: y = y(G) + leg2
e = Circle(C', leg2)
i: x = x(G) + leg2
j: x = x(G) + leg2 + leg1
l: y = y(G) + leg1
polyG, c', a', b' = Polygon(G, B', C')
F = (4, 18)
k = Circle(F, leg2)
m: y = y(F)
B_2, C_1 = Intersect(k, m)
n: x = x(F) + leg2
p: y = y(F) - leg2
q: x = x(F)
D_2 = Intersect(n, p)
r = Circle(D_2, leg2 - leg1)
E_2 = Intersect(r, p, 1)
s = Circle(D_2, leg1)
F_2 = Intersect(s, n, 1)
G_1 = Intersect(q, p)
t_3 = Segment(F, E_2)
A'_1 = Rotate(F, (-(90°)), E_2)
a = Line(E_2, A'_1)
H_1 = Intersect(n, a)
polyF, a_1, c_1, h_1, e_1 = Polygon(F, C_1, H_1, E_2)
E = (7.5, 18)
d_1 = Circle(E, leg1)
b_4: y = y(E)
J = Intersect(d_1, b_4, 2)
f_1: x = x(i)
g_1: x = x(E)
k_1 = Circle(E, leg1^(2) / leg2)
K_2 = Intersect(k_1, g_1, 2)
polyE, k_2, i_1, j_1 = Polygon(E, J, K_2)
H = (7.5, 14.5)
r_1: y = y(H)
s_1: x = x(H)
t_1 = Circle(H, leg1)
P = Intersect(t_1, r_1, 2)
b_1: x = x(H) + leg1
c_2 = Circle(H, leg1 - leg1^(2) / leg2)
Q = Intersect(c_2, s_1, 1)
f_2: y = y(H) + leg1
R = Intersect(b_1, f_2)
polyH, o, p_2, r_2, q_2 = Polygon(H, P, R, Q)
D = (6.5, 14.5)
g_2: y = y(D)
d_2 = Circle(D, leg2 - leg1)
T = Intersect(d_2, g_2, 2)
h_2: x = x(D) + leg2 - leg1
e_2 = Circle(T, leg1 - leg1^(2) / leg2)
U = Intersect(e_2, h_2, 1)
polyD, u_1, s_2, t_2 = Polygon(D, T, U)
l_1 = Segment(B, W)
A = (7.5, 14.5)
Z = Point(Circle[A, leg1])
i_2 = Segment(A, Z)
polyA, j_2, l_2, m_2, n_2, M, B_1 = Polygon(A, Z, 4)
C = (15, 14.5)
D_1 = Point(Circle[C, sqrt(leg1^(2) + leg2^(2))])
a_2 = Segment(C, D_1)
polyC, b_2, f_3, g_3, h_3, E_1, F_1 = Polygon(C, D_1, 4)
size = false
hyp: sqrt(leg1^(2) + leg2^(2))
α, β, γ = Angle(polyG)
t = false
v: atand(leg2 / leg1)
ε: 90° - v
list3 = Sequence(Segment[(x(A), y(A) + w), (x(A) + leg1, y(A) + w)], w, 0, leg1)
list6 = Sequence(Segment[(x(A) + w, y(A)), (x(A) + w, y(A) + leg1)], w, 0, leg1)
list1 = Sequence(Segment[(x(C), y(C) + w), (x(C) + hyp, y(C) + w)], w, 0, hyp)
list4 = Sequence(Segment[(x(C) + w, y(C)), (x(C) + w, y(C) + hyp)], w, 0, hyp)
polyC' = Rotate(polyC, ε, C)
list1' = Rotate(list1, ε, C)
list4' = Rotate(list4, ε, C)
i_3 = AngularBisector(F, C_1, H_1)
j_3 = AngularBisector(F, E_2, C_1)
I = Intersect(i_3, j_3)
k_3 = AngularBisector(E, J, K_2)
l_3 = AngularBisector(K_2, E, J)
m_3 = AngularBisector(J, K_2, E)
L = Intersect(k_3, l_3)
n_3 = AngularBisector(C', G, B')
p_3 = AngularBisector(B', C', G)
O = Intersect(n_3, p_3)
q_3 = AngularBisector(P, H, Q)
r_3 = AngularBisector(H, P, R)
s_3 = AngularBisector(H, Q, R)
a_3 = AngularBisector(Q, R, P)
S = Intersect(r_3, a_3)
b_3 = AngularBisector(D, T, U)
c_3 = AngularBisector(U, D, T)
W_1 = Intersect(b_3, c_3)
b = Segment(B, W)
d_3 = Segment(N, K)
u = false
list2 = Sequence(Segment[(x(W), y(W) + w), (x(W) - leg2, y(W) + w)], w, 0, leg2)
list5 = Sequence(Segment[(x(W) - w, y(W)), (x(W) - w, y(W) + leg2)], w, 0, leg2)
w = false
V = (11.5, 14.5)
I_1 = Point(Circle[V, leg1])
g_4 = Segment(V, I_1)
h_4: x = x(V)
c_4 = Circle(V, leg2)
J_1 = Intersect(c_4, h_4, 1)
poly1, v_2, v_1, v_3 = Polygon(V, I_1, J_1)
o_1 = false
f_4 = Segment(M, K)
δ = Angle(M, K, N)