Truchet patterns
Scripting: Version 1
A = (-2, -2)
B = (2, -2)
f = Segment(A, B)
square = Polygon(A, B, 4)
E = Midpoint(h)
F = Midpoint(g)
G = Midpoint(j)
H = Midpoint(i)
c = CircularArc(C, H, E)
d = CircularArc(A, F, G)
l1 = {0, π / 2, π, 3π / 2}
l2 = Rotate({c, d}, RandomElement(l1))
# hide all the previous stuff manually :)
size = Sequence(k, k, -24, 24, 4)
l3 = Zip(Zip(Translate(Rotate({c, d}, RandomElement(l1)), (a, b)), a, size), b, size)
speed = 0.5
n = Slider(0, 1, 0.1, speed, 200, false, true, false, false)
SetVisibleInView(n, 1, false)
ShowGrid(false)
ShowAxes(false)
CenterView((0, 0))
SetBackgroundColor("BLACK")
Scripting: Version 2
A = (-2, -2)
B = (2, -2)
C = (2, 2)
D = (-2, 2)
E = Midpoint(Segment(A, B))
F = Midpoint(Segment(B, C))
G = Midpoint(Segment(C, D))
H = Midpoint(Segment(D, A))
c = CircularArc(C, G, F)
d = CircularArc(A, E, H)
l1 = {0, π / 2, π, 3π / 2}
l2 = Rotate({c, d}, RandomElement(l1))
# hide all the previous stuff manually :)
size = Sequence(k, k, -24, 24, 4)
l3 = Zip(Zip(Translate(Rotate({c, d}, RandomElement(l1)), (a, b)), a, size), b, size)
speed = 0.5
n = Slider(0, 1, 0.1, speed, 200, false, true, false, false)
SetVisibleInView(n, 1, false)
ShowGrid(false)
ShowAxes(false)
CenterView((0, 0))
SetBackgroundColor("BLACK")