import processing.opengl.*; float newdim=0; float posX; float posY; ArrayList rettangoli;//inizializza array dinamico //carica i dati void setup (){ rectMode(CENTER); size (1024,768,OPENGL); //chiama il rettangolo dalla classe rettangoli = new ArrayList(); // Create an empty ArrayList rettangoli.add(new Rettangolo (340, 240, 60, 80,0.1, 125)); } //disegna void draw(){ background (255); noStroke(); Rettangolo r; posX+=(mouseX-posX)*0.05; posY+=(mouseY-posY)*0.05; for (int i = rettangoli.size()-1; i >= 0; i--) { r = (Rettangolo) rettangoli.get(i); r.changeRotate(posX*.001); r.changeDimension2(posX*.1, posY*.1); r.changePosition(posX, posY); r.changeRotation(posX*0.01); r.drawRect(); //r.changeDimension2( } pushMatrix(); translate(width,0,0); rotateY (-PI); for (int i = rettangoli.size()-1; i >= 0; i--){ r = (Rettangolo) rettangoli.get(i); r.drawRect(); } popMatrix(); pushMatrix(); translate(0,height,0); rotateX(-PI); for (int i = rettangoli.size()-1; i >= 0; i--){ r = (Rettangolo) rettangoli.get(i); r.drawRect(); } popMatrix(); pushMatrix(); translate(width,height,0); rotateY(-PI); rotateX(-PI); for (int i = rettangoli.size()-1; i >= 0; i--){ r = (Rettangolo) rettangoli.get(i); r.drawRect(); } popMatrix(); } void mousePressed() { newdim =newdim+20; if (newdim>600) { newdim=20;} for (int i =0; i < 5; i++) { rettangoli.add(new Rettangolo(random (width)-width/2, random (height)-height/2,150-newdim,160-newdim,random(TWO_PI),30)); } }