Lutin31
Messages postés3Date d'inscriptiondimanche 10 janvier 2010StatutMembreDernière intervention12 janvier 2010
-
12 janv. 2010 à 16:33
Lutin31
Messages postés3Date d'inscriptiondimanche 10 janvier 2010StatutMembreDernière intervention12 janvier 2010
-
12 janv. 2010 à 17:28
Bonjour,
J'ai un programme en C qui me crée un fichier de données comme ceci :
0 0 7
1 0 -2
2 0 8
3 0 5
etc...
Je fais ensuite lire ce fichier dans un autre programme, pour visualiser avec openGL le tracé d'un terrain.
Or j'ai une erreur de segmentation au moment d'affecter les données dans la partie de code ci dessous :
for (i = 0; i < (199*199*3)-199; i=i+3) {
v[k][0] = mon_terrain -> points[i];
v[k+1][0] = mon_terrain -> points[i+3];
v[k+2][0] = mon_terrain -> points[i+(200*3)];
v[k+3][0] = mon_terrain -> points[i+3+(200*3)];
v[k][1] = mon_terrain -> points[i+1];
v[k+1][1] = mon_terrain -> points[i+4];
v[k+2][1] = mon_terrain -> points[i+1+(200*3)];
v[k+3][1] = mon_terrain -> points[i+4+(200*3)];
v[k][2] = mon_terrain -> points[i+2];
v[k+1][2] = mon_terrain -> points[i+5];
v[k+2][2] = mon_terrain -> points[i+2+(200*3)];
v[k+3][2] = mon_terrain -> points[i+5+(200*3)];
k=k+4;
}
J'utilise a chaque fois 4 données car je veux que le terrain soit dessiné en carré et non en triangle.
Je sais pas si c'est très clair, mais si quelqu'un avait une solution ça m'aiderai beaucoup.
BunoCS
Messages postés15475Date d'inscriptionlundi 11 juillet 2005StatutModérateurDernière intervention23 avril 2024103 12 janv. 2010 à 17:00
Hello,
J'ai dû mal à comprendre la condition de sortie de ta boucle:
x=(199x199x3) --> carré de 199x199 points ayant 3 coordoonnées
x-199 --> ?? ça correspond à quoi?
De plus, tu sembles remplir des triangles (il y a 3 fois 'v[k]') mais tu incrémentes k de 4 et non pas 3. C'est normal?
@+
Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...