faire des objets en 3D avec openGL
Salut tous,
ça fait un petit moment que je n'ai pas fait du C++ et a fortiori du openGL mais à l'époque j'arrivé à faire des spheres si je me souviens bien assez facilement.
A présent je cherche à faire plusieurs objets (à différentes coordonnées) avec des formes un peu plus complexes.
=> par exemple j'aimerai bien commencer par faire plusieurs ellipsoïdes avec une direction vectical et une direction horizontale.
le probleme est que je sais pas comment faire ceci, ça me parait compliqué, non ...?
je vous remercie d'avance pour l'aide que vous pourrez m'apporter
A+
ps: en fait je voudrais faire ceci mais en 3D:
http://www.google.fr/imgres?um=1&hl=...70&tx=80&ty=72
merci
EDIT :
au fait voici le bout de code que j'avais pour des spheres, je voudrais juste comment modifier ce code pour que ça soit des ellipsoides (et eventuellement d'autres formes plus complexes)
Code:
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
|
GLUquadric* sphere;
QVector <GLUquadric*> params;
for ( int k = 0 ; k < 400 ; ++k )
{
sphere=gluNewQuadric();
params.push_back(sphere);
}
//--------------------------------tirage au sort des coordonnées-------------------------------------
//on initialise le temps
qsrand(time(NULL));
//Et dans la boucle on utilise tirage entre -5000 et +5000 puis en divise par 1000
float c1=0.0;
float c2=0.0;
float c3=0.0;
//---------------------------------------------------------------------------------------------------
int e=0;
for ( int k = 0 ; k < globalNb ; ++k )
{
for ( int i = 0 ; i < 200 ; ++i )
{
c1 =((qrand() % (5000-(-5000)+1)) + (-5000))/10000.0;
c2 =((qrand() % (5000-(-5000)+1)) + (-5000))/10000.0;
c3 =((qrand() % (5000-(-5000)+1)) + (-5000))/10000.0;
//tracer de la sphere
glPushMatrix( );//save axis system
glTranslatef(c1,c2,c3);
gluSphere(params[e],0.0001*i,10,10);
glPopMatrix( ); //load the saved matrix
e=e+1;
}
} |