Bonjour,
Comme marqué dans le titre je debute en Opengl .
Apres avoir cherché longuement sur internet et fait de nombreux echec je viens ici pour poser ma question:
Je veut realiser une surface de bezier a partir de 4 courbes de bezier (ou meme 3 si c'est possible) et ceci a partir d'un tableau de coordonnées.
J'ai trouvé ce bout de code sur un site:
Ce bout de code me covient parfaitement car il a l'air simple a premiere vue mais apres l'avoir decortiquer je m'apercois que je ne le comprend pas.
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 static GLfloat ctrlpoints[4][4][3] = { {{-1.5, -1.5, 4.0-15.0}, {-0.5, -1.5, 2.0-15.0}, { 0.5, -1.5, -1.0-15.0}, { 1.5, -1.5, 2.0-15.0}}, {{-1.5, -0.5, 1.0-15.0}, {-0.5, -0.5, 3.0-15.0}, { 0.5, -0.5, 0.0-15.0}, { 1.5, -0.5, -1.0-15.0}}, {{-1.5, 0.5, 4.0-15.0}, {-0.5, 0.5, 0.0-15.0}, { 0.5, 0.5, 3.0-15.0}, { 1.5, 0.5, 4.0-15.0}}, {{-1.5, 1.5, -2.0-15.0}, {-0.5, 1.5, -2.0-15.0}, { 0.5, 1.5, 0.0-15.0}, { 1.5, 1.5, -1.0-15.0}} }; glEnable(GL_LINE_SMOOTH); glMap2f(GL_MAP2_VERTEX_3, 0, 1, 3, 4, 0, 1, 12, 4, &ctrlpoints[0][0][0]); glEnable(GL_MAP2_VERTEX_3); glRotatef(float(180.0*sin(tt/1000)), 0.0, 0.0, 1.0); glColor3f(1.0, 1.0, 1.0); glMapGrid2f(9, 0.0, 1.0, 9, 0.0, 1.0); glEvalMesh2(GL_LINE, 0, 9, 0, 9); glDisable(GL_MAP2_VERTEX_3);
Ce que je ne comprend pas en premier lieu c'est le tableau de coordonnée.
Quel est l'ordre de celui ci ? Quel sotn els point qui terminent les courbes et quels sont les points intermediaires ?
Dans quel ordre dois je mettre mes courbes.
Aussi je m'apercois que dans ce tableau, aucun point n'est present deux fois alors que pour moi si une zone est delimitée par 4 courbes alors cchacune de ces courbes a ses 2 extremités en partagés avec deux autres courbes qui la touchent. (les extremités doivent apartenir a deux courbes) ?
Si vous pouvez me donner le mode de fonctionnement de ce code ou me donner un exemple de code qui fonctionne ausis bien, je suis preneur.
Merci.[/code]
Partager