◼
  • Original JS processing p5.js code: https://x.com/yuruyurau/status/1933629116575855091
  • ◼
  • By @yuruyurau https://x.com/yuruyurau
  • a=(x,y,d=mag(k=(4+cos(x/9-t))*cos(x/30),e=y/7-13)+sin(y/99+t/2)-4)=>point((q=3*sin(k*2)+sin(y/29)*k*(9+2*sin(cos(e)*9-d*4+t)))+40*cos(c=d-t)+200,q*sin(c)+d*35)
    t=0,draw=$=>{t||createCanvas(w=400,w);background(9).stroke(w,96);for(t+=PI/120,i=1e4;i--;)a(i,i/235)}

    Shape vs motion

    There are two parts to identification of “something alive”: static shape and motion. Surprisingly biological motion needs very few cues for a brain to register it as “alive” as has been show in 1973 experiments by Swedish perceptual psychologist Gunnar Johansson using point light walkers.

    Gestalt:

    Gestalt, from early 1900s psychology, holds that *the whole is greater than the sum of its parts*. The brain applies grouping rules - proximity, similarity, smooth continuation, symmetry, common fate (dynamics) - to fuse scattered elements into one object. The math-creature exists only because perception locks onto patterns that fit these cues.

    Point light walkers:

    In 1973, Swedish psychologist Gunnar Johansson showed that a few lights on a person’s joints, filmed in darkness, let viewers instantly see a walking human. This launched “biological motion” research, which finds that the visual system is highly tuned to detect the coordinated movements of living beings, even from minimal cues. The math-creature triggers the same effects.
    In[]:=
    ClearAll["`*"];​​x = N@Range[10000]; y = x/235.;​​​​pts[t_] := Module[{k, e, d, c, q},​​ k = (4 + 3 Sin[2 y - t]) Cos[x/29.];​​ e = y/8. - 13.;​​ d = Sqrt[k^2 + e^2];​​ c = d - t;​​ q = 3 Sin[2 k] + 0.3/k + Sin[y/25.] k (9 + 4 Sin[9 e - 3 d + 2 t]);​​ Transpose @ { q + 30 Cos[c] + 200., 400 - (q Sin[c] + 39 d - 220.) } ​​];​​​​Manipulate[​​ Graphics[​​ {White, Opacity[.65], PointSize[.002], Point[pts[t]]},​​ PlotRange -> {{70, 330}, {30, 350}}, Background -> Black,​​ ImageSize -> 550, PlotRangePadding -> 0​​ ],​​ {t, 0., 2. Pi, Appearance -> "Labeled"},​​SaveDefinitions->True]
    Out[]=
    ​
    t
    0.

    CITE THIS NOTEBOOK

    Shape vs. motion, Gestalt and Point light walkers: translating from P5.JS processing to Wolfram​
    by Vitaliy Kaurov​
    Wolfram Community, STAFF PICKS, August 13, 2025
    ​https://community.wolfram.com/groups/-/m/t/3529968