begin process at 2010 02 09 21:06:40
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Linux

 > 

OpenGL

 > 

Problème rencontré pour un projet de Mini Golf avec C en OpenGl: Rotation


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Problème rencontré pour un projet de Mini Golf avec C en OpenGl: Rotation

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

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), 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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,624 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales