About me

Carlo Amaturo, nato a Salerno il 16/09/1985.
Dopo aver studiato due anni all’università di Salerno presso la facoltà di Ingegneria Elettronica, è attualmente iscritto al 5° anno alla facoltà di Architettura L.Quaroni della Sapienza di Roma.

If this browser does not have the latest Java Plug-in then get it here.
[DDET Visuallizza codice sorgente per Processing]

PImage extrude;
int[][] values;
float angle = 0;

void setup() {
  //Carica immagine
  extrude = loadImage("http://carloamaturo.altervista.org/wp-content/uploads/2012/04/a3.jpg");
  extrude.loadPixels();
  //Definisce dimensione finestra
  size(270 ,360, P3D);
  //Crea nuova matrice con le dimensioni immagini
  values = new int[extrude.width][extrude.height];
  //Ciclo For: Per ogni pixel carica colore nella matrice
  for (int y = 0; y < extrude.height; y++) {
    for (int x = 0; x < extrude.width; x++) {
      color pixel = extrude.get(x, y);
      values[x][y] = int(color(pixel));
    }
  }
}

void draw() {
  background(255);
  //Scala immagine finale
  scale(0.5);
  //Angolo di rotazione dal centro dell'immagine
  float angle = (((float) mouseX/(width/2) )-1);
  //Traslazione immagine
  translate(width, 0, -300);
  //Rotazione attorno all'asse verticale
  rotateY(angle);
  //Traslazione centro di rotazione
  translate(-extrude.width/2, 0, 0);
  // Mostra la nuvola di punti
  // Per ogni punto lo spessore è dato dalla matrice colore
  // Z dipende dal colore e dalla posizione verticale del mouse
  for (int y = 0; y < extrude.height; y++) {
    for (int x = 0; x < extrude.width; x++) {
      stroke(values[x][y]);
      point(x, y,(mouseY+80)*0.005*-values[x][y]*0.00001);
    }
  }
}

[/DDET]