Some P5 sketches I made.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 

34 lines
845 B

const firstLen = 8;
const nSegments = 16;
let firstSegment = null;
let frame = 0;
function setup() {
createCanvas(300, 300);
firstSegment = new Segment(0, 0, firstLen, 0);
let len = firstLen;
for(let i=1, seg = firstSegment; i < nSegments; i++, seg=seg.child){
let next = new Segment(
seg.end().x,
seg.end().y,
len,
0);
seg.child = next;
}
}
function draw() {
background(0);
frame = (frame+1);
for(let i=0, seg = firstSegment; seg; i++, seg=seg.child){
let delay = i*PI/nSegments+PI/4;
let coef = 3*PI/nSegments*sin(PI/256*frame-delay);
seg.setHeading(coef);
}
translate(width/2, height/2);
for(let i=0; i < 5; i++){
rotate(PI/2);
for(let seg = firstSegment; seg; seg=seg.child)
seg.draw();
}
}