Bonjour à tous !

Je découvre depuis peu l'environnement Processing, basé sur la plate-forme Java. Je suis en train d'étudier l'exemple "extrusion" fourni par défaut. Le code permet de faire "éclater" les pixels d'une image plane, selon leur brillance (* voir code ci-dessous). Plusieurs questions me viennent, auxquelles je n'arrive pas encore à répondre :
- est-il possible de remplacer la caractéristique "brightness" par une autre, qui agirait sur une autre information contenue dans les pixels ?
- comment faire pour obtenir les coordonnées dans l'espace de chaque pixel de l'image transformée, et les réinjecter dans un logiciel de simulation 3D, de manière à avoir une pré-modélisation d'objet?
Cette question de transfert entre Processing et un logiciel de modélisation 3D m'intéresse particulièrement. N'hésitez pas à soumettre la moindre piste en rapport ! Merci d'avance pour votre partage précieux, vive le web opensource et à bientôt j'espère =)

*Code par défaut :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
 
PImage extrude;
int[][] values;
float angle = 0;
 
void setup() {
  size(640, 360, P3D);
 
  extrude = loadImage("nom_image_stockee_dans_data.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);
 
  angle += 0.005;
 
  translate(width/2, 0, -128);
  rotateY(angle);  
  translate(-extrude.width/2, 100, -128);
 
  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]);
    }
  }
 
}