Processing-Tutorial: Rasterize 3D

Published by Tim on Friday March 20, 2020

Last modified on May 21st, 2022 at 12:42

YouTube

By loading the video, you agree to YouTube’s privacy policy.
Learn more

Load video

In this tutorial I show you how to create abstract 3D portraits from any image file. Here you will learn many basics about 3D and generative image rasterization.

Please let me know what you think! I am very curious about your ideas. And as always, feel free to share your results on Instagram or Twitter.

Here’s the final code:

PImage img;

void setup() {
  size(900, 900, P3D);
  img = loadImage("venus.jpg");
  img.resize(900, 900);
}

void draw() {
  background(#f1f1f1);
  fill(0);
  noStroke();
  sphereDetail(3);
  float tiles = 100;
  float tileSize = width/tiles;
  push();
  translate(width/2,height/2);
  rotateY(radians(frameCount));
  
  for (int x = 0; x < tiles; x++) {
    for (int y = 0; y < tiles; y++) {
      color c = img.get(int(x*tileSize),int(y*tileSize));
      float b = map(brightness(c),0,255,1,0);
      float z = map(b,0,1,-150,150);
      
      push();
      translate(x*tileSize - width/2, y*tileSize - height/2, z);
      sphere(tileSize*b*0.8);
      pop();
      
    }
  }
  pop();
}

Published by Tim on Friday March 20, 2020

Last modified on May 21st, 2022 at 12:42


Related

Getting started with Processing

Tutorials

Three ways to work with p5.js

Tutorials

Four essential Principles in any Programming Language

Tutorials unlisted Writings

Digital Reality: Livestream Marathon

Digital Humanities Prototypes Tutorials

I challenged Daniel Shiffman and here’s his response

Tutorials

How to write a simple HTML-Document

Tutorials

How to work with Layers in Processing?

Tutorials unlisted

Rhythm Studies

Tutorials