salut à tout le monde
je suis un eleve ingenieur et je suis en terminale
mon pfe s'agit de la reconstruction en 3D avec marching cubes
voilà mon probleme:
on dispose de deux fichier nommés vertex et surface
les deux fichiers sont des matrices à 3 colonnes;en effet dans le premier(vertex) on trouve les coordonnées des vertex et dans le deuxieme on trrouves les vertex quicompose la surface
il faut calculer la normale à chaque surface (calculer le produit vectoriel à partir des vertex) en suite calculer la normaale de chaque surface qui est la sommes des normales des surfaces.
j'ai charger les deux ficher dans deux listes mais je trouve pa comment faire pour le reste si quelqu'un peut m'aider...j'ai un retard de plus d'un moi pour mon pfe alors svp aidez moi!!!!!!!!!
PSt voici mon code:
alors comment faire pour le reste?
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53 struct vertex { float x,y,z; }; struct srface { vertex a,b,c; }; surface node { surface *s; surface node *next; } vertex node { vertex *v; vertex node *next; }; vertex node *load vertex (char *f) {FILE *fopen(f); float x,y,z; char *line : vertex node *old=NULL; while ((line=fget(f))!NULL) { fscanf (%f %f %f, &x ,&y ,&z); vertax v=(vertex)malloc(sizeof(vertex)); v->x=x; v->y=y; v->z)z; vertex node n=(vertex node)malloc(sizeof(vertex)); n->v=v; n->next=old; }; surface node *load surface (char *f) {FILE *fopen(f); float a,b,c; char line:surface node *old=NULL; while ((line=fget(f))!NULL) {fscanf(%f %f %f,&a,&b,&c); surface s=(surface)malloc(sizeof(surface)); s->a=a; s->b=b; s->c=c; surface node n=(surface node)malloc(sizeof(surface)); n->s=s; n->next=old; };
Partager