September 26, 2012
Hollow Triangles
import processing.opengl.*;void setup(){  size(500,500,OPENGL);  frameRate(24);}void draw(){  background(0);  stroke(0);    translate(width/2,height/5*2);  rotateX(radians(90));    for (int i=1; i<9; i++){    fill(0,255,225,125-i*3);    pushMatrix();      rotateX(radians(sin(millis()*(0.0004*i))*6));      rotateZ(radians(cos(millis()*(0.0004*i))*6));      makeCue();    popMatrix();  }}void makeCue(){  scale(1,9);  pushMatrix();    rotateY(radians(60));    rect(0,0,100,30);    rotateY(radians(60));      rect(0,0,100,30);  popMatrix();  pushMatrix();    translate(-50,0,-87);    rect(0,0,100,30);  popMatrix();}

Hollow Triangles

import processing.opengl.*;

void setup(){
  size(500,500,OPENGL);
  frameRate(24);
}

void draw(){
  background(0);
  stroke(0);
 
  translate(width/2,height/5*2);
  rotateX(radians(90));
 
  for (int i=1; i<9; i++){
    fill(0,255,225,125-i*3);
    pushMatrix();
      rotateX(radians(sin(millis()*(0.0004*i))*6));
      rotateZ(radians(cos(millis()*(0.0004*i))*6));
      makeCue();
    popMatrix();
  }
}

void makeCue(){
  scale(1,9);
  pushMatrix();
    rotateY(radians(60));
    rect(0,0,100,30);
    rotateY(radians(60)); 
    rect(0,0,100,30);
  popMatrix();
  pushMatrix();
    translate(-50,0,-87);
    rect(0,0,100,30);
  popMatrix();
}