[code]A = (0, 0)[br]B = (1.66, 1.04)[br]C = (2.03, 1.87)[br]D = (1.71, 2.14)[br][br]L = {A, B, C, D}[br][br]frame = Spline(L)[br][br]Lv = Sequence((0, -4 + k (4)/4), k, 1, 4)[br]Execute(Zip("f"+k+" = Translate(Dilate(frame, "+k*0.9+"), Vector( "+v+"))", v, Reverse(Lv), k, 1...4))[br][br]Lt = Sequence(k, k, 0, 1, 0.05)[br][br]P1 = Zip(f1(k), k, Lt)[br]P2 = Zip(f2(k), k, Lt)[br]P3 = Zip(f3(k), k, Lt)[br]P4 = Zip(f4(k), k, Lt)[br][br]O = (0, -0.8)[br]infTxt = Text("\scalebox{5}{\infty}", O + (0, 2), true, true, 0)[br][br]F1 = Zip(Dilate(Rotate(Translate(pic1, Vector(v)), k*pi/Length(P1)-pi/8, P), ln(k)/4 * 0.85, P), v, P1, P, P1, k, 1...Length(P1))[br]F2 = Zip(Dilate(Rotate(Translate(pic1, Vector(v)), k*pi/Length(P2)-pi/8, P), ln(k)/3.2 * 0.9, P), v, P2, P, P2, k, 1...Length(P2))[br]F3 = Zip(Dilate(Rotate(Translate(pic1, Vector(v)), k*pi/Length(P3)-pi/8, P), ln(k)/3.1 * 0.95, P), v, P3, P, P3, k, 1...Length(P3))[br]F4 = Zip(Dilate(Rotate(Translate(pic1, Vector(v)), k*pi/Length(P4)-pi/8, P), ln(k)/3, P), v, P4, P, P4, k, 1...Length(P4))[br][br]G1 = Reflect(F1, yAxis)[br]G2 = Reflect(F2, yAxis)[br]G3 = Reflect(F3, yAxis)[br]G4 = Reflect(F4, yAxis)[br][br]curve = Curve(0.9 sqrt(2) cos(t)/((sin(t))^2+1), 0.9 sqrt(2) cos(t) sin(t)/((sin(t))^2+1) + 2, t, 0, 2pi)[br][br]speed = 2[br]t = Slider(0, 2pi, 0.01, speed, 200)[br][br]LPs = Reverse(Sequence(curve(k + t), k, 0, 3, 0.1))[br]m = Length(LPs)[br]n = m-1[br]Lm = 1...m[br]Ln = 1...n[br][br][br][br]#Execute(Zip("", k, Ln))[br]Execute(Zip("Q"+k+" = Element(LPs, "+k+")", k, Lm))[br]Execute(Zip("SetVisibleInView(Q"+k+", 1, false)", k, Lm))[br][br]Execute(Zip("S"+k+" = Segment(Q"+k+", Q"+(k+1)+")", k, Ln))[br][br]Execute(Zip("ShowLabel(S"+k+", false)", k, Ln))[br]Execute(Zip("SetLineThickness(S"+k+", 6*ln("+(n+2-k)+"))", k, Ln))[br][br]ShowAxes(false)[br]ShowGrid(false)[br][br][/code]