IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

OpenGL Discussion :

Carré coincé !


Sujet :

OpenGL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté
    Avatar de GLDavid
    Homme Profil pro
    Head of Service Delivery
    Inscrit en
    Janvier 2003
    Messages
    2 892
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Head of Service Delivery
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Janvier 2003
    Messages : 2 892
    Par défaut Carré coincé !
    Bonjour à vous tous !

    Voici mon problème : j'ai un carré de 5 pixels de côté que je déplace linéairement avec une fonction Motion appelé par glutIdleFunc().
    Ce carré commence à partir vers le droite (jusque là OK) avec une "vitesse" de départ (cette vitesse est constante).
    Voici la fonction Motion :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    void Motion() {
    	double l = xposB + 5;
    	double h = yposB + 5;
    	printf ("V = %lf\n", V);
    	glPushMatrix();
    	xposB = xposB + V;
    	if (l >= 300)
    		V=-V;
    	glTranslatef(xposB, 0, 0);
    	glPopMatrix();
    	glutPostRedisplay();
    	printf ("V = %lf\n", V);
    }
    Le if indique que si le bord droit dépasse le cadre, la vitesse doit "s'inverser" (devenir de signe opposée) pour que le carré parte à gauche. Je précise que la vitesse V est une variable globale.
    Or, mon carré reste coincé ! Il ne tourne pas de sens !
    Où me suis-je gourré !!!

    Merci d'avance !

    @ ++
    GLDavid
    Consultez la FAQ Perl ainsi que mes cours de Perl.
    N'oubliez pas les balises code :tagcode: ni le tag :resolu:

    Je ne répond à aucune question technique par MP.

  2. #2
    Membre éprouvé Avatar de ken_le_videur
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    129
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 129
    Par défaut
    Je ferais:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
       xposB = xposB + V;
        l = xposB + 5;
       if (l >= 300)
          V=-V;

  3. #3
    Membre émérite
    Profil pro
    Inscrit en
    Août 2003
    Messages
    835
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2003
    Messages : 835
    Par défaut
    Je sais pas si le reste est bon mais deja tu fais :

    glPushMatrix();
    glTranslatef(...);
    glPopMatrix();

    ça revient à ne rien faire du tout ça. Il faut que tu dessines qque chose avant le popMatrix pour que ta translation soit prise en compte.

  4. #4
    Membre expérimenté
    Avatar de GLDavid
    Homme Profil pro
    Head of Service Delivery
    Inscrit en
    Janvier 2003
    Messages
    2 892
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Head of Service Delivery
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Janvier 2003
    Messages : 2 892
    Par défaut
    Congratulations ken_le_videur (je suis en pleine période émulation Atari 800XL) !

    Bravo, c'est ce qu'il me fallait !

    @++
    GLDavid
    Consultez la FAQ Perl ainsi que mes cours de Perl.
    N'oubliez pas les balises code :tagcode: ni le tag :resolu:

    Je ne répond à aucune question technique par MP.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Débutant] dessiner des carrés
    Par Dark-Lab dans le forum 2D
    Réponses: 13
    Dernier message: 27/08/2004, 10h50
  2. [Astuce] Approximation de racines carrées
    Par Smortex dans le forum Assembleur
    Réponses: 16
    Dernier message: 18/05/2004, 06h17
  3. Ca coince déjà..
    Par SuperDindon dans le forum DirectX
    Réponses: 2
    Dernier message: 24/03/2004, 07h54
  4. Tracer un carré de X cm
    Par mdel dans le forum Composants VCL
    Réponses: 6
    Dernier message: 06/01/2003, 16h17
  5. Racine carrée
    Par SteelBox dans le forum Mathématiques
    Réponses: 5
    Dernier message: 23/11/2002, 17h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo