Bonjour ![]()
J’essaie de traduire cet algorithme en Processing (Transformation Fourier 2D).
Voici le dernier stade de mes lamentables tentatives (ça ne donne qu’une image toute noire pour l’instant):
PImage f;
PImage F;
float j = sqrt(-1);
int M;
int N;
void setup(){
size(300, 300);
f = loadImage("image.png");
F = createImage(300, 300, RGB);
M = f.width;
N = f.height;
}
void draw(){
f.loadPixels();
F.loadPixels();
for(int x = 0; x < f.width; x ++){
for(int y = 0; y < f.height; y++){
int loc = x + y * f.width;
color c = (int) brightness(f.pixels[loc]);
float d = (1/(M*N)) * c * exp(-j * 2 * PI * (x*x/M + y*y/N)/N);
F.pixels[loc] = color(d);
}
}
F.updatePixels();
image(F, 0, 0);
}Je bloque sur plusieurs points et surtout celui là:
je n’arrive pas à donner donner des valeurs raisonnables pour Processing à cause de j ∈ C,
j = (√-1) qui retourne « NaN » en consolie… Comment contourner le problème des nombres complexes ?
Et… surtout… suis-je sur la bonne voie?…
Merci beaucoup !
Hors ligne
Hmm. Je remarque que le GLSL n'a pas l'air dérangé par √-1. Je vais tenter ma chance avec les shaders… Hmm. Mais je me demande si c'est possible de faire ce que j'ai commencé à entreprendre avec Processing.
Hors ligne