Bonjour a tous, voici ma structure:
Et la methode a l'interieur de laquelle elle est utilisee:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 CourbeBezierPtr CourbeBezierConstructeur (int Dimension, int Degre) { CourbeBezierPtr CBPtr; CBPtr = (CourbeBezierPtr)malloc(sizeof(CourbeBezier)); CBPtr->Dimension=Dimension; CBPtr->Degre=Degre; CBPtr->Ordre=Degre+1; int i; for (i=0; i<Dimension; i++) { CBPtr->Poles[i] = VecteurConstructeur(CBPtr->Ordre); } return CBPtr; }
Enfin, la ligne du main:
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 CourbeBezierPtr ConstruitCourbe (int Dimension, int NbPoints, int Degre, VecteurPtr Points[]) { if (NbPoints==Degre+1) { CourbeBezierPtr C = CourbeBezierConstructeur(Dimension, Degre); printf("C->Degre=%d",C->Degre); MatricePtr M = MatriceConstructeur(NbPoints,C->Ordre); double* A = ConstruitParametres(Dimension, NbPoints, Points); int i,j,k; for (i=0; i<NbPoints; i++) { for (j=0; j<(C->Ordre); j++) { printf("A[%d]=%f, C->Degre=%d, j=%d\n",i,A[i],C->Degre,j); M->Coef2d[i][j] = EvalueBernstein(C->Degre, j, A[i]); } } //...
Resultat:
Code : Sélectionner tout - Visualiser dans une fenêtre à part CourbeBezierPtr C2 = ConstruitCourbe(3,3,2,Points);
C->Degre vaut 0 !!!!!!!?????
Ca fait toute la matinee que je planche dessus et personne pour m'aider dans mon entourage! Par pitie, si vous avez une idee... :'(
Merci d'avance
Partager