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]); } } }
Partager