mirror of
https://github.com/processing/processing4.git
synced 2026-01-30 03:41:15 +01:00
47 lines
955 B
Plaintext
Executable File
47 lines
955 B
Plaintext
Executable File
/**
|
|
* 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]);
|
|
}
|
|
}
|
|
|
|
}
|