//Construct2
import processing.opengl.*;
int vertices;
void setup(){
size(500,500,OPENGL);
frameRate(12);
smooth();
vertices = 162;
noStroke();
}
void draw(){
background(255);
pushMatrix();
translate(width/2,height/1.9,width/2);
rotateZ(radians(90));
rotateY(radians(315));
scale(.5,.4,.5);
beginShape();
for (int i=0; i<vertices; i++) {
float iX = sin(i)*vertices+sin(millis()*0.001)*sqrt(i);
float iY = cos(i)*vertices;
float iZ = i;
float colorX = abs(iX);
float colorY = abs(iY);
float colorZ = abs(iZ);
fill(colorX,colorY,colorZ,45);
vertex(iX,iY,iZ);
}
endShape();
popMatrix();
}