Demonstration that all Quadrilaterals Tessellate the Plane

Drag the blue points to your required position

Move the blue dots

A = (6.009336404376797, -4.030715544063779)
B = (29.59192533894734, -4.228335004409341)
C = (30.514149487226636, 13.096304352551584)
D = (8.973628309560246, 13.293923812897146)
poly1, a, b, c, d = Polygon(A, B, C, D)
M: {{0, -1}, {1, 0}}
matrix1: (M * poly1)
E = Centroid(poly1)
A' = Rotate(A, 3.141592653589793, E)
B' = Rotate(B, 3.141592653589793, E)
C' = Rotate(C, 3.141592653589793, E)
D' = Rotate(D, 3.141592653589793, E)
poly1', a', b', c', d' = Polygon(A', B', C', D')
u = Vector(D', C)
A'' = Translate(A', u)
B'' = Translate(B', u)
C'' = Translate(C', u)
D'' = Translate(D', u)
poly1'', a'', b'', c'', d'' = Polygon(A'', B'', C'', D'')
v = Vector(A, C)
w = Vector(B, D)
list1 = Sequence(Sequence[Polygon[Translate[A, Vector[(i * v) + (j * w)]], Translate[B, Vector[(i * v) + (j * w)]], Translate[C, Vector[(i * v) + (j * w)]], Translate[D, Vector[(i * v) + (j * w)]]], i, -7, 7, 1], j, -7, 7, 1)
list2 = Sequence(Sequence[Polygon[Translate[A'', Vector[(i * v) + (j * w)]], Translate[B'', Vector[(i * v) + (j * w)]], Translate[C'', Vector[(i * v) + (j * w)]], Translate[D'', Vector[(i * v) + (j * w)]]], i, -7, 7, 1], j, -7, 7, 1)