=translate[A1, u]

A: (0, 0)
B = (20, 0)
poly1, a, b, c, d, C, D = Polygon(A, B, 4)
E = Point(c)
poly2, e, f, g, h, F, G = Polygon(D, E, 4)
H = Midpoint(G, A)
poly2' = Mirror(poly2, H)
poly1' = Mirror(poly1, H)
D' = Mirror(D, H)
u = Vector(D', F)
v = Vector(D', B)
poly2'_{1} = Translate(poly2, u)
A1: poly1
list1 = Sequence(Sequence[Translate[poly1, Vector[(a * u) + (b * v)]], a, -5, 5], b, -5, 5)
list2 = Sequence(Sequence[Translate[poly2, Vector[(a * u) + (b * v)]], a, -5, 5], b, -5, 5)
list3 = Sequence(Sequence[PolyLine[Translate[A, Vector[(a * u) + (b * v)]], Translate[D, Vector[(a * u) + (b * v)]], Translate[C, Vector[(a * u) + (b * v)]], Translate[B, Vector[(a * u) + (b * v)]], Translate[A, Vector[(a * u) + (b * v)]]], a, -5, 5], b, -5, 5)
list4 = Sequence(Sequence[PolyLine[Translate[D, Vector[(a * u) + (b * v)]], Translate[G, Vector[(a * u) + (b * v)]], Translate[F, Vector[(a * u) + (b * v)]], Translate[E, Vector[(a * u) + (b * v)]], Translate[D, Vector[(a * u) + (b * v)]]], a, -5, 5], b, -5, 5)
list5 = Sequence(Sequence[Translate[PolyLine[D', F, F + v, B, D'], Vector[(a * u) + (b * v)]], a, -5, 5], b, -5, 5)