a

c

b

dd = 0 (slider from 0 to 2.2, step 0.01)
d1 = Min(dd, 1.0)
D = (1.6152909090909084, -0.601606060606059)
B = (5.58, -2.2600000000000002)
A = (-0.68, -2.24)
g_1 = LineBisector(A, B)
polígono1, lado1, lado2, lado3, C = Polygon(A, B, 3.0)
recta3 = Line(C, A)
f = Line(D, recta3)
recta2 = Line(B, C)
d = OrthogonalLine(D, recta2)
U = Intersect(d, recta2)
G = Intersect(f, recta2)
h = OrthogonalLine(G, g_1)
I = Intersect(g_1, h)
w = Vector(G, I)
j_1: d1 * w
recta1 = Line(A, B)
a = Segment(D, Intersect[recta1, OrthogonalLine[D, recta1]])
b = Segment(D, U)
c = Segment(D, Intersect[recta3, OrthogonalLine[D, recta3]])
angAB = Angle(A, D, B)
angBC = Angle(B, D, C)
angCA = Angle(C, D, A)
test: sgn(180.0 * ° - {angAB, angBC, angCA})
texto1 = Text("Suma = " + (If[Element[test, 1.0] < 0.0, " - ", ""]) + "a" + (If[Element[test, 2.0] < 0.0, " - ", " + "]) + "b" + (If[Element[test, 3.0] < 0.0, " - ", " + "]) + "c = " + (a * Element[test, 1.0] + b * Element[test, 2.0] + c * Element[test, 3.0]))
d_1 = Line(D, recta1)
e_1 = Line(D, recta2)
E = Intersect(e_1, recta3)
F = Intersect(recta2, recta3)
u = Vector(E, F)
H = Intersect(d_1, g_1)
v = Vector(D, H)
d2 = Max(0.0, dd - 1.2)
J = Intersect(recta3, d_1)
K = Intersect(d_1, recta2)
L = Intersect(e_1, recta1)
M = Intersect(f, recta1)
z: d1 * u
i: d1 * v
polígono2, j, e, d_4 = Polygon(E, D, J)
E' = Translate(E, z)
D'_1 = Translate(D, z)
J' = Translate(J, z)
polígono2', j', e', d'_1 = Polygon(E', D'_1, J')
G' = Translate(G, j_1)
D'_2 = Translate(D, j_1)
K' = Translate(K, j_1)
polígono3', k', g'_1, d'_2 = Polygon(G', D'_2, K')
D'_3 = Translate(D, i)
M' = Translate(M, i)
L' = Translate(L, i)
polígono4', l', d', m' = Polygon(D'_3, M', L')
D'_4 = Translate(D, z)
N = Translate(Intersect[recta3, OrthogonalLine[D, recta3]], z)
c' = Segment(D'_4, N)
D'_5 = Translate(D, j_1)
O = Translate(U, j_1)
D' = Translate(D, i)
P = Translate(Intersect[recta1, OrthogonalLine[D, recta1]], i)
a' = Segment(D', P)
Q: N + (D'_4 - N) / 3.0
S = Rotate(D'_4, d2 * 120.0 * °, Q)
N' = Rotate(N, d2 * 120.0 * °, Q)
c'' = Segment(S, N')
g = Segment(D'_5, O)
R: O + (D'_5 - O) / 3.0
T = Rotate(D'_5, -1.0 * d2 * 120.0 * °, R)
O' = Rotate(O, -1.0 * d2 * 120.0 * °, R)
g' = Segment(T, O')