Bonjour,
Je doit dessiner un polygone régulier, J'ai réussi à le faire de cette façon :
J'ai ensuite voulu "l'automatiser" afin qu'on est juste besoin de rentrer un nombre de sommet et que le polygone soit dessiner tout seul :
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 SDL_Point point[6]; point[0].x = 320 + radius*cos((2*M_PI)/5); point[0].y = 240 + radius*sin((2*M_PI)/5); point[1].x = 320 + radius*cos((4*M_PI)/5); point[1].y = 240 + radius*sin((4*M_PI)/5); point[2].x = 320 + radius*cos((6*M_PI)/5); point[2].y = 240 + radius*sin((6*M_PI)/5); point[3].x = 320 + radius*cos((8*M_PI)/5); point[3].y = 240 + radius*sin((8*M_PI)/5); point[4].x = 320 + radius*cos((10*M_PI)/5); point[4].y = 240 +radius*sin((10*M_PI)/5); point[5].x = 320 + radius*cos((2*M_PI)/5); point[5].y = 240 + radius*sin((2*M_PI)/5); SDL_RenderDrawLines(rendere,point,6);
sachant que les x/y Init/Final sont de la forme cos((2*pi*compteur)/2)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 for (compteur=1;compteur<nbrPoint+1;compteur++ ) { SDL_RenderDrawLine((int)xInit,(int)yInit,(int)xFinal,(int)yFinal); return 0; }
Cela m'affiche ce code erreur que je ne comprend pas
Il y a bien 4 argument dans la fonction SDL_RenderDrawLine (enfin pour moi il y en a 4), j'ai cast les double qui servait de coordonné en int mais cela ne semble pas avoir marcher.
Merci de votre aide
Partager