Script Setup
#Define points on hexagon and its center
#L_1 = Sequence((cos(k), sin(k)), k, 0, 2 pi, pi/3)
#SetVisibleInView(L_1, 1, false)
#P1 = Element(L_1, 1)
#P2 = Element(L_1, 2)
#P3 = Element(L_1, 3)
#P4 = Element(L_1, 4)
#P5 = Element(L_1, 5)
#P6 = Element(L_1, 6)
Execute(Zip("P"+k+" = (cos(2pi "+k+"/6), sin(2pi "+k+"/6))", k, 1...6))
O = (0, 0)
#Define figures
A1 = Polygon(O, P4, P3, P2)
A2 = Polygon(O, P2, P1, P6)
A3 = Polygon(O, P6, P5, P4)
#Define points of triangle
r = Slider(1, 8, 0.01, 1, 160, false, true, false, false)
SetValue(r, 2.66)
L_2 = Rotate(Sequence((r * cos(k), r * sin(k)), k, 0, 2π, 2π / 3), -π / 2, (0, 0))
SetVisibleInView(L_2, 1, false)
T1 = Element(L_2, 1)
T2 = Element(L_2, 2)
T3 = Element(L_2, 3)
d = Distance(T1, T2)
#Define vectors
v1 = Vector((0, 0), T3)
v2 = Vector((0, 0), ( x(T3) + d/3, y(T3)))
v3 = Vector((0, 0), ( x(T3) + 2 * d/3, y(T3)))
v4 = Vector(T3, (x(T3) + d/3, y(T3)))
t = Slider(0, 1, 0.01, 3, 160, false, true, false, false)
#Part 1
#Grey#
TA1 = Translate( Translate( A1, v1 ), t * v4 )
TA2 = Translate( Translate( A1, v2 ), t * v4 )
TA3 = Translate( Translate( A1, v3 ), t * v4 )
#Set layer for effect
SetLayer( TA1, 4 )
SetLayer( TA2, 4 )
SetLayer( TA3, 2 )
#Light Purple#
R1TA1 = Rotate( TA1, 2 * pi / 3, (0,0) )
R1TA2 = Rotate( TA2, 2 * pi / 3, (0,0) )
R1TA3 = Rotate( TA3, 2 * pi / 3, (0,0) )
#Set layer for effect
SetLayer( R1TA1, 1 )
SetLayer( R1TA2, 2 )
SetLayer( R1TA3, 2 )
#Purple#
R2TA1 = Rotate( TA1, 4 * pi / 3, (0,0) )
R2TA2 = Rotate( TA2, 4 * pi / 3, (0,0) )
R2TA3 = Rotate( TA3, 4 * pi / 3, (0,0) )
#Set layer for effect
SetLayer( R2TA1, 2 )
SetLayer( R2TA2, 3 )
SetLayer( R2TA3, 1 )
#Part 2
#Purple#
UA1 = Translate( Translate( A2, v1 ), t * v4 )
UA2 = Translate( Translate(A2, v2 ), t * v4 )
UA3 = Translate( Translate( A2, v3 ), t * v4 )
#Set layer for effect
SetLayer( UA1, 3 )
SetLayer( UA2, 1 )
SetLayer( UA3, 1 )
#Grey#
T1TA1 = Rotate( UA1, 2 * pi / 3, (0,0) )
T1TA2 = Rotate( UA2, 2 * pi / 3, (0,0) )
T1TA3 = Rotate( UA3, 2 * pi / 3, (0,0) )
#Set layer for effect
SetLayer( T1TA1, 1 )
SetLayer( T1TA2, 1 )
SetLayer( T1TA3, 2 )
#Light Purple#
T2TA1 = Rotate( UA1, 4 * pi / 3, (0,0) )
T2TA2 = Rotate( UA2, 4 * pi / 3, (0,0) )
T2TA3 = Rotate( UA3, 4 * pi / 3, (0,0) )
#Set layer for effect
SetLayer( T2TA1, 2 )
SetLayer( T2TA2, 0 )
SetLayer( T2TA3, 0 )
#Part 3
#Light Purple#
VA1 = Translate( Translate( A3, v1 ), t * v4 )
VA2 = Translate( Translate( A3, v2 ), t * v4 )
VA3 = Translate( Translate( A3, v3 ), t * v4 )
#Set layer for effect
SetLayer( VA1, 3 )
SetLayer( VA2, 4 )
SetLayer( VA3, 1 )
#Purple#
U1TA1 = Rotate( VA1, 2 * pi / 3, (0,0) )
U1TA2 = Rotate( VA2, 2 * pi / 3, (0,0) )
U1TA3 = Rotate( VA3, 2 * pi / 3, (0,0) )
#Set layer for effect
SetLayer( U1TA1, 3 )
SetLayer( U1TA2, 1 )
SetLayer( U1TA3, 2 )
#Grey#
U2TA1 = Rotate( VA1, 4 * pi / 3, (0,0) )
U2TA2 = Rotate( VA2, 4 * pi / 3, (0,0) )
U2TA3 = Rotate( VA3, 4 * pi / 3, (0,0) )
#Set layer for effect
SetLayer( U2TA1, 5 )
SetLayer( U2TA2, 2 )
SetLayer( U2TA3, 0 )