SpinPoint[] sp = new SpinPoint[100]; Cross[] myCross = new Cross[100]; void setup() { size(500,500); colorMode(RGB,255,255,255,255); smooth(); background(0); for(int i=0; i<100; i++){ sp[i] = new SpinPoint(0.05,0.05,0.05,random(.9),random(.9),random(.9)); } } void draw() { //an alpha background fill(0,20); noStroke(); rect(0,0,width,height); for(int i=0;i<100;i++){ //push(); //translate(width/2,height/2, height/2); sp[i].spin(mouseX/2+i, mouseY/2+i, mouseY/2+i); //pop(); renderspin(sp[i].getX(), sp[i].getY(), sp[i].getZ(), i); } } void renderspin(float x, float y, float z, int i){ //cast floats as integers x=(int)x; y=(int)y; z=(int)z; stroke(255); push(); translate(x+width/2,y+height/2,z); myCross[i] = new Cross(10, 0, 0); pop(); }