October 6, 2012
//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();}

//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();
}