octopus skin

Cephalopod skin

By creative coding, JS, vibe coding

Click or drag to trigger expansion waves

Octopus-skin

Oscillators drift, synchronize, and modulate color by phase

 

Tech Stack: p5.js

sync-engine.js
// ⏳ 1. STEPPING THE TIMELINE FORWARD
// Every frame, each point steadily builds up its internal timer
p.phase += p.freq;

// ⚡ 2. THE FLASH & TRIGGER EVENT
// When a point reaches full charge, it resets and signals a flash
if (p.phase >= 1) {
  p.phase = 0;
  p.flash = 1;  // Instantly jump to max brightness

  // 🌐 3. SPREADING THE SIGNAL TO NEIGHBORS
  // Check all other points; if they are close enough, nudge them closer to flashing
  for (let q of points) {
    if (p === q) continue;
    let d = dist(p.x, p.y, q.x, q.y);
    
    if (d < couplingRadius) {
      q.phase += couplingStrength; // Give the neighbor a phase boost
      if (q.phase >= 1) q.phase = 0;
    }
  }
}

// 📉 4. THE GLOW FADE EFFECT
// Smoothly decay the brightness over time so it behaves like a pulse
p.flash *= 0.90;

Code & Circles: How This Pattern Works

By creative coding, p5.js, vibe coding

🎮 HOW TO INTERACT

Step 1: Click directly inside the sketch canvas above to activate keyboard controls.
Step 2: Press the Right Arrow (➔) to accelerate the animation.
Step 3: Press the Left Arrow (⬅) to slow it down.

How it works: I used Gemini to transform this old Processing sketch into P5.js. This creative coding sketch generates a dynamic, mathematical grid of rotating, intertwined shapes on a dark blue background. The movement of the elements is driven by calculating a shifting angle for each cell using trigonometric sine and cosine functions tied to the sketch’s continuous frame count. By using the keyboard arrow keys, the user can manually alter the frame rate, directly accelerating or slowing down the overall speed and rhythm of the animation.

Tech Stack: p5.js Processing

How the Code Works

This sketch creates a moving pattern by arranging 400 shapes into an even grid. Here are the two main parts of the code that make it happen:

1. Making Things Move in Circles

Uses basic math (sine and cosine waves) to turn the passage of time into circular motion.

let tempX = x + (size / 3) * sin(PI / frame_rate_value * finalAngle);
let tempY = y + (size / 3) * cos(PI / frame_rate_value * finalAngle);

2. Calculating the Grid Size

Automatically calculates the size of each grid square so everything fits nicely on the screen.

let cellsize = (width - (2 * margin) - gutter * (num - 1)) / (num - 1);

Mathematical Weather Simulation

By AI Art, creative coding, vibe coding

Experiment 01 // Fractal Weather Formations

The Goal: To test the limits of real-time browser rendering by orchestrating a dense, fluid swarm of 20,000 distinct geometries running natively on the GPU via WebGL.

How it works: Instead of relying on a standard physics engine, this experiment simulates large-scale atmospheric cloud dynamics entirely through pure mathematics. By combining a Golden Ratio Spiral for particle distribution with layered fractal-like noise loops, the system generates predictable, shifting weather patterns, turbulence, and stormy color gradients on the fly.

Tech Stack: Three.js WebGL Shaders GPU Instanced Mesh Post-Processing Bloom

simulation-core.js
// 🌀 THE MATHEMATICAL HEART: Distribution, Noise, & Swirl
const ga = 2.339996; // Golden angle for spherical distribution
const y = 1.0 - 2.0 * (i / totalParticles);
const r = Math.sqrt(1.0 - y * y);
const theta = ga * i;

// 1. Layered fractal-like noise for atmospheric turbulence
let noise = Math.sin((x * 3.1 + time) * 1.3) * Math.cos((z * 2.7 - time) * 1.7) +
            Math.sin((x * 5.7 - time * 0.7) * 0.9) * Math.cos((ly * 4.3 + time * 0.6) * 1.1);
noise *= 0.5 * turbulence;

// 2. Swirling radial velocity vectors
let angle = theta + swirlStrength * noise + time;
let radius = scale * (0.6 + 0.4 * noise + 0.2 * Math.sin(time + fi * 20.0));

// 3. Interpolate (lerp) for smooth fluid movement
this.positions[i].lerp(this.target, 0.1);

AI Art – plant-building architectural hybrid

By AI Art

Using Liminal Diffusion Beta (part of Disco Diffusion), I asked it to create a plant-building architectural hybrid. Here are some iterations.

#aiart #discodiffusion #architecture #xenogenesis #talkingtomachines #aiart #aiartcommunity #architecture #vegetal #liminalspace #xenogenesis Read More

Collaboration with AI

By AI Art

First steps into collaboration with an Artificial Intelligence : MidJourney. #ai #aiart #plants #architecture #drawing

Beautiful plant architecture hybrid, anatomical drawing #midjourney Read More