snipix Combien dites-vous ? 30 THz ? | ben c'est que j'arrive po a les afficher, v'la mon code, tout ce qui est initialisation de la fenetre c'est bon (j'ai plein d'objet dedans et ils sont affichés)
Code :
- // Tracé de la nurbs schématisant l'interconnxion entre les deux cylindres
- m_pNurbsBicylindre = gluNewNurbsRenderer();
- if (m_pNurbsBicylindre)
- {
- double dKnotsU[20];
- double dKnotsV[3];
- double dPtCtrl[3][20][3];
- gluNurbsProperty(m_pNurbsBicylindre, GLU_DISPLAY_MODE, GLU_FILL);
- for (int i = 0; i < 20; i++)
- {
- dKnotsU[i] = (double)i;
- if (i < 3)
- {
- dKnotsV[i] = (double)i;
- }
- }
- for (i = 0; i < 20; i++)
- {
- dPtCtrl[0][i][0] = (m_stAffouillement.dD3 / 2.0) * cos(DTOR((360.0 / 20.0) * i));
- dPtCtrl[0][i][1] = (m_stAffouillement.dD3 / 2.0) * sin(DTOR((360.0 / 20.0) * i));
- dPtCtrl[0][i][2] = sqrt(fabs(pow(m_stAffouillement.dR, 2) - pow((m_stAffouillement.dD3 / 2.0), 2) * pow(sin(DTOR((360.0 / 20.0) * i)), 2))) - m_stAffouillement.dR;
- dPtCtrl[1][i][0] = dPtCtrl[0][i][0];
- dPtCtrl[1][i][1] = dPtCtrl[0][i][1];
- dPtCtrl[1][i][2] = dPtCtrl[0][i][2] / 2.0;
- dPtCtrl[2][i][0] = dPtCtrl[1][i][0];
- dPtCtrl[2][i][1] = dPtCtrl[1][i][1];
- dPtCtrl[2][i][2] = 0.0;
- }
- gluBeginSurface(m_pNurbsBicylindre);
- gluNurbsSurface(m_pNurbsBicylindre, 20, (GLfloat*)dKnotsU, 3, (GLfloat*)dKnotsV, 3, 20 * 3, (GLfloat*)(&dPtCtrl[0][0][0]), 4, 4, GL_MAP2_VERTEX_3);
- gluEndSurface(m_pNurbsBicylindre);
- }
|
Mon problème, je pense qu'il vient des knots, je ne voit pas a quoi ils servent...enfin, je n'arrive pas à les positionner dans la chaîne de tracage d'une NURBS... Message édité par snipix le 26-11-2003 à 12:17:37 ---------------
La raison du plus fort est toujours la plus forte.... Parce que c'est comme ça NA !
|