r/generative

Image 1 — Wrapping images around fractals
Image 2 — Wrapping images around fractals
Image 3 — Wrapping images around fractals
Image 4 — Wrapping images around fractals
Image 5 — Wrapping images around fractals
Image 6 — Wrapping images around fractals
Image 7 — Wrapping images around fractals
Image 8 — Wrapping images around fractals
Image 9 — Wrapping images around fractals
▲ 46 r/generative+1 crossposts

Wrapping images around fractals

Many years ago I wrote an app that wraps bitmaps around the iteration boundaries of a Julia or Mandelbrot fractal. A few days ago I converted that app to Processing 4.0 with the help of Claude AI. Here are the results in 8x8 anti-aliased 4k resolution. Also some movies:

Julia set zooms and morphs:

Woman: https://youtu.be/dXJa-v01SZI

Cat: https://youtu.be/WHsyn8N9N24

ET: https://youtu.be/tH5TucwHDAE

Cobra: https://youtu.be/-wpJ01GqZyI

u/_BryceGuy_ — 21 hours ago

Hand-drafted generative art.

A 55:89 spiral phyllotaxis pattern with corresponding Voronoi diagram. Hand-made. Will serve as the skeleton for an ink drawing if I ever get around to it.

u/a_smiling_friend — 1 day ago
▲ 4 r/generative+1 crossposts

Julia set gravity engine — drag to deform the parameter space. Built it in Python on my phone, ported it to WebGL.

u/OilGroundbreaking309 — 16 hours ago
▲ 3 r/generative+2 crossposts

I build a real-time visualizer in Three.js that turns frequency data into an interactive 3D environment.. complete social features already built in!

Over this summer of 2026, I built Sonisphere— a browser-based platform that turns music into an interactive 3D environment.

Think about it like Soundcloud with a built in visualizer.

  • Frequency affects the visual environment
  • Volume drives scale, density, and movement
  • Bass / mids / highs can control different colors
  • Audio is rendered as an interactive 3D space
  • You can customize colors, effects, camera behavior, etc.
  • Playlists and visual configurations can be shared
  • There are synchronized listening/visualization rooms
  • You can create short audio/visual clips from sessions

The pipeline is roughly:

Audio → Web Audio API → FFT → WebAssembly DSP/Web Workers → real-time data → React Three Fiber → Three.js/WebGL

🔗 https://sonisphere.dev

I'd really love feedback on the actual experience!

u/Fun_Term4757 — 2 days ago

"fimbria" (kotlin code)

fimbria - a fringe hung on zigzags.

Artist is Outi Pieski, the piece is "Beavvit II / Rising Together II (2021)" in Moderna Museet.

I made after metioned yarn installation: long strands folded over thin rods, the rods bent into zigzags and stacked in tiers, so every rod reads as a run of diagonals - chevrons of hanging thread, one tier over the next. the strands are only ever vertical; the diagonals are the rods. Colors in the first example are matching the installation, two next are my variations)

u/igo_rs — 3 days ago
▲ 23 r/generative+1 crossposts

TotB prototype 5 - inside out

Progress on my nearly fully procedural world for the game I've been working on for most of this year. This is one of the test islands, used to let me tweak the generation in a controlled way. This one is all about the mountain at the centre... and more importantly, what's contained within.

It's come a long way since I posted a few months ago; visually I think it's a lot more interesting. It's much, much more optimised (though there's quite a bit of unwanted pop-in and other visual issues I'm working to address) hence how I can now do a fly-through rather than a walk-through.

All of the meshes, textures, materials, and most of the sounds (excluding the water at the very start) are procedurally generated. The installer is currently a 7mb exe file!

The tech stack is Rust on the back-end, and WebView2 (Chromium, Windows only at the moment) via Tauri, running three.js as the renderer. There's nothing particularly groundbreaking about any of the stuff in here; it's all the usual (and perhaps slightly naive) implementations we've seen here a thousand times before. Most of it is just liberal applications of layered noise. I'm quite proud of the net effect though, and I think that's maybe its main appeal - it's a really nice world to wander around, and that to me has really been the most important factor. So much so that the game (yes, there is one) has taken a back seat while I splurged on crafting the world.

I'll be releasing a demo sometime soonish, likely on Steam. I'll drop an update in this sub when that happens if anyone would like to take a stroll :)

youtube.com
u/lewster32 — 3 days ago
▲ 40 r/generative+1 crossposts

Crinoid — combing the current - manic

manic is a tiny language for making animations. You write a short text file; manic renders a smooth, glowing video. No timeline scrubbing, no keyframes by hand — you describe what’s on screen and when things happen, and the engine does the rest, deterministically.

Manic Animation code

// cloud-crinoid — another  creature in ONE `cloud`, reimagined as a gold
// feather star combing the current. The reference is a tweet-sized golf:
//   k = 4cos(i/29),  e = y/4-16,  d = mag(k,e)-5,  c = d-t/3,  y = i/295
//   point( (d²/0.7 - 2k² + y)·cos c + 200 ,
//          3sin 2k + cos(y)/k + (y/9)k(3+sin(9e-3d+t)) + 79sin(c/3) + d²/3·sin(t-d²/7) + 200 )
// One curved spine with dozens of hooked barbs that sweep and re-comb as `c` turns —
// which is what a crinoid does for a living: perch on rock, fan its arms, strain the
// water. So the `shader` behind it is the reef wall it clings to (mottled warm stone),
// the arms run bone at the spine → amber at the barb tips, and `cos(y)/k` keeps its
// division-by-almost-zero spikes: four flecks a frame, drifting plankton.
//
// Faithful notes: p5's `mag` is `hypot`; `**` is `^`; the p5 draw loop advances t by
// PI/40 per FRAME, so a frame-rate-free `t*2.0` stands in for it. Pure in (i, t) —
// it scrubs, seeks and records exactly, which the p5 original cannot do.
//
// Original idea by u/yuruyurau (https://x.com/yuruyurau).
//
//   manic examples/cloud-crinoid.manic
title("Crinoid — combing the current");
canvas("square");
template("black");
bloom(0.34, 0.55, 26);

// ---- the reef wall it perches on: mottled warm stone, darker toward the edges ----
shader(wall) {
  let x = (u - 0.5) * asp;
  let y = v - 0.5;
  let d = sqrt(x*x + y*y);
  let grain = 0.5 + 0.5*fbm(u*7.0, v*7.0);
  let mott = 0.5 + 0.5*fbm(u*2.2 + 3.0, v*2.2);
  let vig = 1.0 - 0.85*smoothstep(0.15, 0.72, d);
  let hue = 28 + 10.0*mott;
  let sat = 0.34 - 0.12*grain;
  let val = (0.055 + 0.055*mott + 0.018*grain) * vig + 0.012;
}
z(wall, -10);

// ---- the animal — the yuruyurau golf, re-lit and framed ----
// The swept envelope of the formula is 315×185 wide over a full cycle of `c`, so
// scale 2.95 about (556, 435) centres it in the square at every t, not just at t=0.
cloud(arms, 10000, #ffffff, 0.34) {
  let yy = i / 295.0;
  let k = 4.0 * cos(i / 29.0);
  let e = yy / 4.0 - 16.0;
  let d = hypot(k, e) - 5.0;
  let T = t * 2.0;
  let c = d - T / 3.0;
  let px = (d*d/0.7 - k*k*2.0 + yy) * cos(c);
  let py = 3.0*sin(k*2.0) + cos(yy)/k + yy/9.0*k*(3.0 + sin(e*9.0 - d*3.0 + T)) + 79.0*sin(c/3.0) + d*d/3.0*sin(T - d*d/7.0);
  let x = 556 + px * 2.95;
  let y = 435 + py * 2.95;
  // bone along the spine (small d) → amber where the barbs thin out (large d)
  let hue = mod(44.0 - d * 1.1, 360);
  let sat = clamp(0.10 + d * 0.045, 0.06, 0.62);
  let val = clamp(0.72 + 0.28*sin(e*9.0 - d*3.0 + T), 0.34, 1.0);
  let r = 1.25;
}
glow(arms, 1);

// ---- annotations ----
caption(head, "Crinoid", (540, 96), 34); hidden(head);
caption(sub, "one formula, ten thousand points", (540, 152), 21); hidden(sub);
equation(eq, (540, 946), `k=4\cos\tfrac{i}{29},\quad d=\mathrm{mag}\!\left(k,\tfrac{y}{4}-16\right)-5,\quad c=d-\tfrac{t}{3}`, 25); hidden(eq);
caption(lab, "manic", (540, 1006), 18); hidden(lab);

show(head);
wait(1.4);
show(sub);
wait(2.6);
show(eq);
show(lab);
wait(24);
u/anish2good — 3 days ago