Square pursuit in 5 steps
Based on : Square pursuit and symmetries
News Feed : Square pursuit : ItérationListe()
Nice trick. Now we can construct the original design in five steps.
T = Slider(0.01, 0.3, 0.01, 1, 100, false, true)
LP = IterationList( P + (T^2; arg(P)+135°) , P , {(0.5, 0.5)} ,12)
LP4 = Zip(Zip(Rotate(P, k*90°), k, 0..3), P, LP)
L0 = Zip(Polygon(P4), P4, LP4)
L1 = Zip(Reflect(sqr, yAxis), sqr, L0)
L44 = Zip(Zip(Translate( If(Mod(u+v,2)==0, L0, L1) , (u,v) ), u,0..3), v,0..3)
Complete Setup script
Remark : After using the Delete button you will lose the breakpoints
of the navigation bar. I can't reset them in the setup script.
#============================================
# View Settings
#============================================
SetActiveView(1)
CenterView((0, 0.1))
ZoomOut(1.4/x(Corner(1,3)-Corner(1,1)))
ShowAxes(false)
ShowGrid(false)
SetBackgroundColor("#F4F5F7")
SetActiveView(2)
CenterView((1.5, 1.5))
ZoomOut(4.5/y(Corner(2,3)-Corner(2,1)))
ShowAxes(false)
ShowGrid(false)
SetBackgroundColor("#F4F5F7")
#============================================
# Graphics Objects
#============================================
Delete(T)
SetActiveView(1)
T = Slider(0.01, 0.3, 0.01, 1, 100, false, true)
LP = IterationList( P + (T^2; arg(P)+135°) , P , {(0.5, 0.5)} ,12)
LP4 = Zip(Zip(Rotate(P, k*90°), k, 0..3), P, LP)
L0 = Zip(Polygon(P4), P4, LP4)
L1 = Zip(Reflect(sqr, yAxis), sqr, L0)
SetActiveView(2)
L44 = Zip(Zip(Translate( If(Mod(u+v,2)==0, L0, L1), (u,v)), u,0..3), v,0..3)
#============================================
# Object properties
#============================================
Setvalue(T, 0.21)
SetPointSize(LP, 3)
SetPointSize(LP4,1)
SetFilling(L0, 0)
SetLineThickness(L0, 1)
Setcolor(L1, "Red")
SetFilling(L1, 0)
SetLineThickness(L1, 1)
Setcolor(L44, "Black")
SetFilling(L44, 0)
SetLineThickness(L44, 1)