Problème rencontré pour un projet de Mini Golf avec C en OpenGl: Rotation
Volkan78220
Messages postés1Date d'inscriptionjeudi 7 février 2008StatutMembreDernière intervention 6 juin 2008
-
6 juin 2008 à 17:20
ciberrique
Messages postés589Date d'inscriptionlundi 25 août 2003StatutMembreDernière intervention18 juillet 2010
-
9 juin 2008 à 12:13
Bonjour,
Je rencontre actuellement quelques problèmes lors de la réalisation de mon projet : un mini golf...
Rotation de la flèche indiquant la direction de la balle: La flèche ne tourne pas correctement autour de la balle. Elle ne revient pas en position initiale lorsque nous déplaçons la balle non plus. Voici mon code:
void balle(Balle b) //balle
{
/*if (b.force==0) // Si la force est nulle on affiche la flèche de direction
{
glBegin(GL_POLYGON);
glColor4f (0,0,1,0);
glVertex2d(b.x-0.05,b.y+(0));
glVertex2d(b.x+0.05,b.y+0);
glVertex2d(b.x,b.y+1);
glEnd();
glFlush();
}*/
glPushMatrix();
glRasterPos3f(b.x, b.y, 0.0); // position du centre de la balle
glBegin(GL_POLYGON);
glColor4f (b.R,b.G,b.B,0); // couleur de la balle
for(angle=0; angle<12; angle++)
{
glVertex3f(b.x+b.rayon*(float)cos(angle*3.14/6),b.y+b.rayon*(float)sin(angle*3.14/6), 0);
}
glPopMatrix();
glEnd();
glFlush();
}
/* Fleche */
void fleche (Balle b)
{
if (b.force==0) // Si la force est nulle on affiche la flèche de direction
{
glBegin(GL_POLYGON);
glColor4f (0,0,1,0);
glVertex2d(b.x-0.05,b.y+(0));
glVertex2d(b.x+0.05,b.y);
glVertex2d(b.x,b.y+0.5);
glEnd();
glFlush();
}
glEnd();
glFlush();
}
Merci d'avance pour l'aide que vous pourrez m'apporter...
A voir également:
Problème rencontré pour un projet de Mini Golf avec C en OpenGl: Rotation
ciberrique
Messages postés589Date d'inscriptionlundi 25 août 2003StatutMembreDernière intervention18 juillet 20101 9 juin 2008 à 12:13
Il me semble que pour faire tourner ta fleche en la laissant sur son axe il faut d'abord la translater en (0,0,0) puis faire les rotation qui t'interresse et enfin faire la translation inverse.