This is a generative art simulation of underwater microbes, mimicking their shapes and movements.

The simulation combines Lissajous curves with dynamic color, and four different types of microbes, producing a digital ecosystem.

录屏2025-03-13 上午11.10.34.gif

Code⬇️

https://editor.p5js.org/yc4351/sketches/04EbI-7M6

Process⬇️

Just some inspo at the beginning…

c6b33290ab79783bcbaadd801aa1f762.jpg

ae18f487062ee8be108da1bf1dadfbc2.jpg

c2e5ea1845009f772209df8e78b632b1.jpg

460e2c7b4bdb5532bbf5c1e821dd2600.jpg

30800ee010d22beb3b6f8b3e5b149e9f.jpg

36de342b5dce219e33786978598a1cc5.jpg

  1. Ideas

start from - coding challenge #116 Lissajous Curve to create some organic flow of simple circles, then comes to the idea of create an underwater ecosystem

My First try - create some random circles swaying

录屏2025-03-13 下午1.08.32.gif

截屏2025-03-13 下午12.51.39.png

https://editor.p5js.org/yc4351/sketches/WdTyrrbCf

ellipse(
  r * cos(a * th) * 0.2, 
  r * sin(b * th) * 0.2,
  r * cos(a * (th + seg)) * 0.4,
  r * sin(b * (th + seg)) * 0.4
);
th += seg;
  1. Added Complexity to Shape Generation! I create four different types of microbes, each with unique visual representations and behavioral characteristics - some like jellyfish some like amoeba. Each has its own speed, direction, and slight randomness

(I tried to make them more like the real world microbes but found it kind of gross so I just use geometry shapes)

-Used randomized speedX and speedY to let each microorganism float in different directions. -Added rotation -Incorporated smooth pulsation (sin(frameCount * 0.03)) to mimic breathing/swelling motions.