xxxxxxxxxx
var pos = [];
var res;
var t = 5;
function setup() {
createCanvas(1112, 834);
colorMode(HSB);
for (var i = 0; i < TWO_PI + 0.0468; i += 0.01) {
var x = cos(i) * 200;
var y = sin(i) * 200;
pos.push(createVector(x, y));
}
}
function draw() {
// Change background color based on HSB values
var hue = map(sin(t), -1, 1, 0, 360);
background(hue, 100, 100);
t += 0.010;
noFill();
var s = map(sin(t), -1, 1, 0.9, 2);
translate(width / 2, height / 2);
for (var i = 0; i < pos.length - 5; i++) {
push();
translate(pos[i].x, pos[i].y);
var a = atan2(pos[i + 5].y - pos[i].y, pos[i + 1].x - pos[i].x);
rotate(a + s);
stroke(i / pos.length * 360, 80, 100);
ellipse(0, 0, 900, 10);
pop();
}
}
// save jpg
let lapse = 0; // mouse timer
function mousePressed() {
if (millis() - lapse > 400) {
save(
"img_" +
month() +
"-" +
day() +
"_" +
hour() +
"-" +
minute() +
"-" +
second() +
".jpg"
);
lapse = millis();
}
}