I worked with a friend to learn how to take an image that I had grabbed color values from and pixelated, and make each of the pixels into a 3-dimensional box. we used “brightness” to sense how bright each square was and then correlated that to the magnitude of the pixel’s height.
I also correlated the zoom and overall pixel height to mouse X and mouse Y via a map.
PImage img;
float increment = 5;
float increment2 = 150;
void setup() {
size(700, 700, P3D);
imageMode(CENTER);
img = loadImage("god.jpg");
rectMode(CENTER);
}
void draw() {
noStroke();
background(0);
translate(50, 50);
rotateY(0);
// pushStyle();
// imageMode(CENTER);
// PImage section= img.get (mouseX,mouseY,50,50);
// image(section, mouseX,mouseY, 200, 200);
// //translate(50,50);
//popStyle();
for (int y = 0; y<img.height; y+= increment) {
for (int x = 0; x <img.width; x+= increment) {
img.loadPixels();
int index = (x + y * img.width);
color pix = img.pixels[index];
fill(pix);
float diam = map(brightness(pix), 0, 255, 2, increment2/2);
pushMatrix();
translate(x, y, diam);
float a = map (mouseX, 0,700, 0, 20);
float b = map (mouseY, 0,700, 0, 20);
box(increment, increment, map(a, 0, b, 0, increment2));
popMatrix();
}
}
img.updatePixels();
}