bonjour
en fait j'ai un petit pb, je dois rendre en devoir demain et il me reste une petite question que je n'arrive pas à résoudre.
j'ai définit une structure pixel(r,v,b) et une structure image avec un
tableau à deux dimensions et le largeur,la hauteur de l'image et le
nombre maximum de couleurs.
const int MAX=2000;
const int max=255;
struct pixel{
int rouge;
int vert;
int bleu;
};
struct image{
pixel matrice[MAX][MAX];
int hauteur;
int largeur;
int max;
};
et j'ai fait une fonction pour pouvoir faire une rotation de l'image mais ça ne marche pas...
je sais que ce que j'ai fait n'est pas ce qu'il faut faire mais je ne vois pas comment faire
voila la fonction :
float conversion(int theta) //convertit l'angle qui est donné en degré en radian
{
float Pi=3.141592654;
float theta2;
theta2=(theta*Pi)/180;
return(theta2);
}
void rotation(image src,int theta,image & dest)
{
int i,j,h,l;
float theta2;
dest.max=src.max;
dest.largeur=src.largeur*2;
dest.hauteur=src.hauteur*2;
theta2=conversion(theta);
for(i=0;i<src.hauteur;i++)
for(j=0;j<src.largeur;j++)
for(h=0;h<dest.hauteur;h++)
for(l=0;l<dest.largeur;l++)
{
dest.matrice[h][l].rouge=src.matrice[i*cos(theta2)+j*sin(theta2)][j*cos(theta2)+i*sin(theta2)].rouge;
dest.matrice[h][l].vert=src.matrice[i*cos(theta2)+j*sin(theta2)][j*cos(theta2)+i*sin(theta2)].vert;
dest.matrice[h][l].bleu=src.matrice[i*cos(theta2)+j*sin(theta2)][j*cos(theta2)+i*sin(theta2)].bleu;
}
}
Merci à ceux qui voudrons bien me donner leur aide