This browser has no WebGPU, so the sketch cannot run here. The program is below, and it runs in a current Chrome, Edge or Safari.

Oscilloscope Art

Composite XY signals for a richer scope-drawing pattern

Open in new tab ↗ · oscillationplottrigonometry

///////////////////////////////////////////////////////////////
// Oscilloscope Art
// Composite XY signals for a richer scope-drawing pattern.
///////////////////////////////////////////////////////////////

&time = mlt(step, 0.007);

// base circular motion
&base =
(
   cos(mlt(&time, 2.0)),
   sin(mlt(&time, 2.0))
);

// slowly changing radius
&rad =
add(
   0.65,
   mlt(
      add(
         sin(mlt(&time, 5.0)),
         mlt(sin(mlt(&time, 11.0)), 0.35)
      ),
      0.12
   )
);

// extra harmonic wobble
&wobble =
mlt(
   (
      cos(mlt(&time, 17.0)),
      sin(mlt(&time, 23.0))
   ),
   0.08
);

// final drawing position
&pos =
add(
   mlt(&base, &rad),
   &wobble
);

// beam thickness
&trace = sml(dst(C, &pos), 0.02);

&blur = #.AVG( (-1,-1), (1,1));
#A{
   dim = (256, 256);
   run = mlt(add(&blur, &trace), 0.998);
}

~A{
   col = (0.1, #A, 0.1);
   scl = (2);
}