topical media & game development

talk show tell print

graphic-processing-site-examples-3D-Image-Extrusion-Extrusion.pde / pde



  
Extrusion. Converts a flat image into spatial data points and rotates the points around the center.

  
  
  PImage extrude;
  int[][] values;
  float angle = 0;
  
  void setup() {
    size(640, 360, P3D);
    
    // Load the image into a new array
    extrude = loadImage("ystone08.jpg");
    extrude.loadPixels();
    values = new int[extrude.width][extrude.height];
    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(brightness(pixel));
      }
    }
  }
  
  void draw() {
    background(0);
    
    // Update the angle
    angle += 0.005;
    
    // Rotate around the center axis
    translate(width/2, 0, -128);
    rotateY(angle);  
    translate(-extrude.width/2, 100, -128);
    
    // Display the image mass
    for (int y = 0; y < extrude.height; y++) {
      for (int x = 0; x < extrude.width; x++) {
        stroke(values[x][y]);
        point(x, y, -values[x][y]);
      }
    }
  
  }
  


(C) Æliens 20/2/2008

You may not copy or print any of this material without explicit permission of the author or the publisher. In case of other copyright issues, contact the author.