PVector a,b,c,d; void setup (){ size(500,500,P3D); background(255); a = new PVector(20,20,0); stroke(0); smooth(); } void draw(){ background(255); translate(-100,mouseY*3,0); rotate(radians(-mouseY),radians(mouseX),radians(0),radians(0)); //noFill(); int rad = 40; //rect(a.x,a.y,width-rad,width-rad); translate(0,0,50); for (int i = 0; i < 800; i+=rad*2){ for (int j = 0; j < 800; j+=rad*2){ fill(255); stroke(0,100); strokeWeight(1); pushMatrix(); for (int k = 30; k >0; k--){ ellipse(i,j,k*1.2,k*1.2); translate(mouseX/50,mouseY/100,k/3); } popMatrix(); strokeWeight(2); stroke(0,200); line(i,j,0,mouseX,mouseY,-200); strokeWeight(5); line(mouseX,mouseY,-200,mouseX,mouseY,-300); } } }