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 United States

seen from Germany
seen from China

seen from Germany

seen from Germany
seen from United States
seen from China
seen from United States

seen from Netherlands
seen from Germany

seen from United States
seen from Malaysia

seen from United States

seen from Singapore

seen from Singapore

seen from Russia
seen from Georgia

seen from Malaysia
seen from United States
seen from China
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}]