xxxxxxxxxx
42
let numStrips = 10; // Number of strips
let stripLength = 400; // Length of each strip
let angleOffset = 0.3; // Phase difference between strips
let time = 0; // Time variable to control wave movement
function setup() {
createCanvas(600,600);
}
// function mousePressed(){
// save(“test.svg");
// strokeWeight(2);
// }
function draw() {
background(185, 15);
translate(width / 2, height / 2); // Center the drawing
for (let i = 0; i < numStrips; i++) {
push();
// Calculate the angle for each strip using sin() for wave-like motion
let waveAngle = sin(time + i * angleOffset);
rotate(waveAngle * 2); // Apply the rotation based on sine function
// Draw strips with varying length
let len = stripLength - i * 15; // Shorter lengths for outer strips
rectMode(CENTER);
// Map index to hue (0 to 360 for full color spectrum)
let hueValue = map(i, 0, numStrips, 0, 360);
fill(hueValue, 80, 100);
rect(0, 0, len, 10);
pop();
}
// Increment time for smooth wave propagation
time += 0.03;
}