Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Problème rencontré pour un projet de Mini Golf avec C en OpenGl: Rotation [ Linux / OpenGL ] (Volkan78220)

vendredi 6 juin 2008 à 17:20:11 | Problème rencontré pour un projet de Mini Golf avec C en OpenGl: Rotation

Volkan78220

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 display(void)
{
    glClear (GL_COLOR_BUFFER_BIT);
    glPushMatrix();
   
    Parcours1();

    trou(t);
    balle(b);
    glColor4f (1,1,0,0); // couleur de l'écriture
    ecrit(-1,4,"Mini Golf");
   
    curseur();
    glScalef (b.x, b.y, 1.0);
    glEnd();
    glFlush();
    glPopMatrix();

    glPushMatrix();
    //glTranslated(0,0,0);
    glRotated (angl, 0.0, 0.0, 1.0);
    //balle(b);
    fleche(b);
    glPopMatrix();

    balle(b);
   
}

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...

lundi 9 juin 2008 à 12:13:41 | Re : Problème rencontré pour un projet de Mini Golf avec C en OpenGl: Rotation

ciberrique

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.

Je suis pas sur que ca repond a votre question.


www.e-fitz.com
Encore plus de source et de tutoriels.




Cette discussion est classé dans : mini, balle, glvertex2d, glend, glflush


Répondre à ce message

Sujets en rapport avec ce message

prototype de fonction [ par loupin ] D'abord bonjour a tous. Je debute en c tant bien que mal, mais j'ai un tout petit souci qui n'en ai pas un mais j'aimerais comprendre. Alors voici le Model physique de balle (colision elastique) [ par coulix ] Bonjour =)apres avoir programmer une sorte de pong en mode text, j essaye de faire une chose simple :j ai ma balle gotoxy(5,1)je la lache et elle rebo pb de compilation [ par norton ] bonjour, je desir compiler le code suivant mais j'ai une erreur.mon code :#include #include #include void Display();void Reshape(int,int);int main( in Constructeur destructeur ? [ par Davy8x ] J'ai débuté un casse brique 3D en C++ OpenGL. J'ai j'uste programmé une balle qui se déplace en 3D, une sorte de bate (un paver) avec l'accélération e casse brique pb collision [ par mat74 ] voila je suis en train de faire un casse brique et je n'arrive pas a gerer les collisions entre les briques et la balle "correctement" .je connais le probleme d'affichage pour la creation d'un casse brike [ par anek971 ] Bonjour a tous,enfaite j'essaye de faire un casse-brique avec SDL en C, pour l'instant il est loin d'etre fini et n'est pas optimiser c juste un test. pong en c (GRAPHICS.H) [ par invader1664 ] slt a tous joré besoin un coup de main en c g commencé a coder un pong (avec la lib graphic.h) cependant je narrive pa a faire deplacer la balle et la Fenêtre dockable un peu spéciale [ par Lark ] Je cherche à créer une sorte de fenêtre dockable dans une frame MDI un peu comme la fenêtre "output" de Visual C++ : - lorsqu'elle est dockée, c'est u mini jeu déplacement [ par ultima666 ] Bonjour je voudrai savoir si ce n'est pas trop demanderQuelqu'un pourrai t-il m'expliquer comment créer des petit jeu genre pong- déplacement-gestion aide sur le developpement d'un mini_proet [ par sarhan ] salut,je sius entrain de develpperun mini_projet en c++,et je rencontre des difficultées meme pour definir l'interface de mon projetce projet porte su


Nos sponsors

Sondage...

CalendriCode

Octobre 2008
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,25 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.