Eureka 「xinyi」Wang

Generative Art

01 Sprout

p5.js on WordPress https://cdnjs.cloudflare.com/ajax/libs/p5.js/1.9.0/p5.js let flowers = []; let lastPos = { x: 0, y: 0 }; function setup() { let canvas = createCanvas(500, 500); canvas.parent(document.body); // 让 canvas 适配 WordPress noStroke(); } function draw() { ; for (let i = flowers.length – 1; i >= 0; i–) { flowers[i].update(); flowers[i].display(); if (flowers[i].isExpired()) { flowers.splice(i, 1); } } } function mouseMoved() { if (dist(mouseX, mouseY, lastPos.x, lastPos.y) > 5) { let flower = new Flower(mouseX, mouseY); flowers.push(flower); lastPos = { x: mouseX, y: mouseY }; } } class Flower { constructor(x, y) { this.x = x; this.y = y; this.size = random(10, 20); this.color = color(random(255), random(255), random(255)); this.lifeSpan = 100; this.age = 0; this.angle = random(PI); this.offsetX = random(-15, 15); this.offsetY = random(-15, 15); } update() { this.age++; } display() { push(); let progress = map(this.age, 0, this.lifeSpan, 0, 1); let c1 = color(‘#533a71’); let c2 = color(‘#6184d8’); let c3 = color(‘#50c5b7’); let c4 = color(‘#f0f465’); let backgroundColor; if (progress < 0.33) { backgroundColor = lerpColor(c1, c2, progress * 3); } else if (progress = this.lifeSpan; } }