Each animated GIF consists of only 2 frames constructed entirely with straight lines and colored black and white. The second frame results from the first by inverting or interchanging the two colors.
See more / Read more (for code) . . .
seen from China

seen from Switzerland

seen from Australia
seen from Bulgaria
seen from Switzerland

seen from Switzerland
seen from Bosnia & Herzegovina

seen from United States

seen from Bulgaria
seen from China

seen from Malaysia

seen from Switzerland
seen from China

seen from United States
seen from Netherlands
seen from China

seen from United States
seen from China

seen from United States
seen from United States
Each animated GIF consists of only 2 frames constructed entirely with straight lines and colored black and white. The second frame results from the first by inverting or interchanging the two colors.
See more / Read more (for code) . . .
Animated GIFs (700 x 700) Mathematica code:
F[L_, a_, r_, s_, t_] := Table[ {-(r + s*Cos[t])^n*Sin[n*a], (r + s*Cos[t])^n*Cos[n*a]}, {n, 0, L}]; P := {{213, 3.2899, 0.997}, {215, 2.7633, 0.996}, {200, 3.3300, 0.996}, {214, 3.2748, 0.997}}; Manipulate[ Graphics[ Polygon[ F[P[[j, 1]], P[[j, 2]], P[[j, 3]], .002, t]], PlotRange -> 1, ImageSize -> 700], {j, 1, 4, 1}, {t, 0, 2 Pi}]
This animated GIF is 20 frames long and takes 2 seconds to repeat itself, but if you pick any point and follow its motion continuously it will take 2000 seconds (about 30 minutes) for the point to return to the same location it was in when you started watching it! How long can you follow a single point?
Mathematica code:
G[p_, q_, a_, b_, c_, t_] := Graphics[ Table[ {Opacity[.7], White, Disk[ {.71*Cos[a (.05*t + n)*Pi/500 + p], Cos[b (.05*t + n)*Pi/500 + q]}, .002*Cos[c (.05*t + n)*Pi/500] + .005]}, {n, 1, 1000}], PlotRange -> {{-.715, .715}, {-1.005, 1.005}}, Background-> RGBColor[54/255,70/255,93/255], ImageSize -> 500] Manipulate[ Show[ G[0, .2, 29, 13, 11, t], G[0, .2, 19, 31, 9, t], G[.3, .29, 3, 23, 17, t], G[0, .3, 43, 7, 3, t], G[.1, .13, 31, 19, 2, t]], {t,1,20,1}]
Mathematica code:
Manipulate[ Graphics[ Table[ {Thickness[.006], RGBColor[54/255,70/255,93/255], Circle[{(16 - t)*Cos[i*Pi/2], (16 - t)*Sin[i*Pi/2]}, (100 - n) (1 + Sign[100 - n])/2]}, {n,0,100,1}, {i,0,3,1}], PlotRange -> {{-40,40}, 7/5{-40,40}}, ImageSize -> {500,700}], {t,0,2.6,.2}]
Mathematica code:
S[n_, t_] := Sin[n*3 Pi/50 + t]; Manipulate[ Show[ Table[ Plot[ 100 - n + (20*Abs[S[n,t]] + .02)*Exp[-(x - 4*S[n, t])^2/Abs[S[n,t]]], {x, -10, 10}, PlotStyle -> Directive[White, Thick], PlotRange -> {{-7, 7}, {0, 100}}, Filling -> Axis, FillingStyle -> White, Axes -> False, AspectRatio -> Full, ImageSize -> {500, 750}, Background -> RGBColor[54/255, 70/255, 93/255]], {n, 1, 100, 1}]], {t, .001, 2 Pi + .001, (2 Pi + .001)/30}]
Algorithmically generated using circles subjected to constrained randomness
Animated GIFs (600x600)
Mathematica code:
RR[n_, m_] := (SeedRandom[n*m]; RandomReal[]) L[t_, Q_, g_, i_] := Sum[ Exp[-(t - (RR[i, 5*Q] + j))^2/g], {j, {-1, 0, 1}}] G[c_, F_, P_, s_, o_, g_, A_, a_, w_, t_, r_, Q_, pr_, is_] := Graphics[ Table[ Table[ {RGBColor[RR[i, Q], RR[i, 2*Q], RR[i, 3*Q], o + A*L[t, 5*Q, g, i]], Disk[ RotationTransform[(k + (-1)^(i*w)*t*a)*2 Pi/F] [{r*RR[2 i, 4*Q], r*RR[2 i + 1, 4*Q]}], s*L[t, 5*Q, g, i]]}, {k, 0, F - 1, 1}], {i, 1, P, 1}], PlotRange -> pr, ImageSize -> is, Background -> c] Manipulate[[ G[RGBColor[54/255, 70/255, 93/255], 12, 50, .2, 0, .1, .25, 1, 1, t, 1, Q, 1.6, 600], {Q, {41, 72, 1, 76}}, {t, 0, .96, .04}],
Mathematica code:
Manipulate[ Graphics[ Table[{RGBColor[54/255,70/255,93/255], Disk[{x,y}, .55*(1 + Sum[ Sin[(Cos[a*2Pi/11] + Sin[a*2Pi/11])x + (Sin[a*2Pi/11] - Cos[a*2Pi/11])y + t*2Pi], {a,0,10,1}]/22)]}, {x,-25,25,1}, {y,-35,35,1}], PlotRange -> {{-25, 25}, 7/5*{-25, 25}}, ImageSize -> {500, 700}], {t, 0, 1}]
Mathematica code:
A[N_, t_] := Graphics[ Table[ Rotate[ Table[ {GrayLevel[Abs[j - 1]], EdgeForm[GrayLevel[1]], Disk[{0, 0}, N - n + j, {Pi, 0}]}, {j, 1, 0, -1}], Pi*(N - n + 1) (1 + Sin[t*Pi - Pi/2]), {0, 0}], {n, 0, N, 1}], PlotRange -> N + 1.5, ImageSize -> 500] Manipulate[A[15,t],{t,0,1}]