Koch fractal animated tiling (Zip's)
Script
K = Slider(1, 10, 1 , 1, 160, false, true, false, false)
R = Slider(0, 10, 0.01, 1, 160, false, true, false, false)
P = Slider(1, 10, 0.01, 1, 160, false, true, false, false)
t = Slider(0, 1, 0.01, 4, 160, false, true, false, false)
# Interpolation 0..1
#-----------------------------------------
fIntr(t) = t^P/(t^P + (1-t)^P)
fSign(k) = (-1)^(floor(k/6))
g(t) = t
#g(t) = 1/2(sin(pi/2 cos(t))+1)
#Define Dilation and Rotation function
#-------------------------------------
fFct(k,t) = 3^(g(t)-floor(k/6))
fAng(k,t) = fSign(k)*fIntr(g(t))*pi/3
#Define centres functions
#------------------------
fr(k,t) = R * fFct(k,t)
fφ(k,t) = pi/2 - (k*pi/3+fAng(k,t))
Lk = Sequence(6*K)-1
LC = Zip((fr(k,t);fφ(k,t)), k,Lk)
# 1) Translation, 2) Dilation, 3) Rotation
#-----------------------------------------
Lpic1 = Zip(Translate(pic, Vector(C)), C,LC)
Lpic2 = Zip(Dilate(pic1,fFct(k,t),C ), C,LC, k,Lk, pic1,Lpic1)
Lpic3 = Zip(Rotate(pic2,fAng(k,t),C ), C,LC, k,Lk, pic2,Lpic2)
SetVisibleInView(Lpic3, 1, false)
SetVisibleInView(Lpic3, 2, true)
SetActiveView[2]
CenterView[(0,0)]
StartAnimation[t,true]