xxxxxxxxxx
let posx, posxy,raio, cor, ang, inc=0;
function setup() {
createCanvas(500, 500,WEBGL);
background(215);
//blendMode(EXCLUSION);
blendMode(DIFFERENCE);
}
function draw() {colorMode(RGB);
noStroke();
fill(255,0);
//rect(width/2*-1,height/2*-1,width,height);
ang+=TWO_PI/1000;
raio=1+noise(millis()*0.001)*width/5;
posx=0+raio*sin(millis()/900)*2;
posy=0+raio*cos(millis()/900)*2;
noFill();
colorMode(HSB);
cor=map(raio,5,width/10,40,195);
stroke(cor,5,200,5);
push();
scale(0.99);
rotate(PI/4);
push();
translate(posx,posy,posy);
rotateY(PI/70*posx);
ellipse(0,0, raio,raio);
pop();
stroke(cor,5,200);
push();
translate(posy,posx,posx);
rotateY(PI/70*(posx)*0.5);
ellipse(0,0, raio,raio);
pop();
stroke(255-cor,5,90,5);
push();
rotate(PI/2);
push();
translate(posy,posx,posx);
rotateY(PI/70*(posx)*0.5);
ellipse(0,0, raio,raio);
pop();
push();
translate(posx,posy,posy);
rotateY(PI/70*posx);
ellipse(0,0, raio,raio);
pop();
pop();
push();
rotate(1.5*PI);
push();
translate(posy,posx,posx);
rotateY(PI/70*(posx)*0.5);
ellipse(0,0, raio,raio);
pop();
push();
translate(posx,posy,posy);
rotateY(PI/70*posx);
ellipse(0,0, raio,raio);
pop();
pop();
pop();
stroke(cor,250,200);
push();
rotate(PI/4);
push();
translate(posx,posy,posy);
rotateY(PI/70*posx);
ellipse(0,0, raio,raio);
pop();
stroke(cor,250,200);
push();
translate(posy,posx,posx);
rotateY(PI/70*(posx)*0.5);
ellipse(0,0, raio,raio);
pop();
stroke(255-cor,250,90);
push();
rotate(PI/2);
push();
translate(posy,posx,posx);
rotateY(PI/70*(posx)*0.5);
ellipse(0,0, raio,raio);
pop();
push();
translate(posx,posy,posy);
rotateY(PI/70*posx);
ellipse(0,0, raio,raio);
pop();
pop();
push();
rotate(1.5*PI);
push();
translate(posy,posx,posx);
rotateY(PI/70*(posx)*0.5);
ellipse(0,0, raio,raio);
pop();
push();
translate(posx,posy,posy);
rotateY(PI/70*posx);
ellipse(0,0, raio,raio);
pop();
pop();
pop();
}