// one of the examples basically modified to make it more personal. // i tried to understand the pieces but couldn`t grasp it fully. PImage a; boolean onetime = true; int[][] aPixels; float sval = 1.0; float nmx, nmy; int res = 2; void setup() { size(400, 400, P3D); noFill(); stroke(255); aPixels = new int[width][height]; a = loadImage("CIMG0528.JPG"); for(int i=0; i 1.0) { nmx = nmx + (mouseX-nmx)/20; } if (abs(mouseY - nmy) > 1.0) { nmy += (mouseY-nmy)/20; } if(mousePressed) { sval += 0.005; } else { sval -= 0.01; } if(sval > 2.5) { sval = 2.5; } if(sval < 1.0) { sval = 1.0; } translate(width/2+nmx*sval-100, height/2+nmy*sval-100, -50); scale(sval); rotateZ(PI/9-sval+1.0); rotateX(PI/sval/8-0.125); rotateY(sval/8-0.125); translate(-width/2, -height/2, 0); float rr, gg, bb, tt; for(int i=0; i