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 :

Rotation


Sujet :

OpenGL

  1. #1
    Membre du Club
    Inscrit en
    Janvier 2006
    Messages
    85
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 85
    Points : 46
    Points
    46
    Par défaut Rotation
    Salut,
    J'ai une petite question, j'ai fait en opengl un parallepipede. Avec des sliders (Librairie MFC) je lui fais faire une rotation (à l'aide de glrotatef). J'ai donc l'angle de rotation, et j'aimerais à chaque fois qu'il effectue cette rotation pouvoir determiner les nouvelles coordonnées ce cette figure.
    Comment faire ?

    merki

  2. #2
    Modérateur
    Avatar de ToTo13
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Janvier 2006
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 793
    Points : 9 860
    Points
    9 860
    Par défaut
    Bonjour,
    lorsque tu fais un glrotate, opengl multiplit la matrice courante par une matrice composée des différent paramètres du glrotate.
    Donc si tu veut récupérer les différentes coordonnées de ton parallélépipède, récupère les valeurs de la matrice courante apres le glrotate (glgetmatrix il me semble mais vérifit) et multipli chaque sommet de ta figure par cette matrice, cela te donnera les nouvelles coordonnées.
    Si tu ne connais pas tout ca, regarde dans un tutoriel opengl à "matrice de rotation".
    B
    Consignes aux jeunes padawans : une image vaut 1000 mots !
    - Dans ton message respecter tu dois : les règles de rédaction et du forum, prévisualiser, relire et corriger TOUTES les FAUTES (frappes, sms, d'aurteaugrafe, mettre les ACCENTS et les BALISES) => ECRIRE clairement et en Français tu DOIS.
    - Le côté obscur je sens dans le MP => Tous tes MPs je détruirai et la réponse tu n'auras si en privé tu veux que je t'enseigne.(Lis donc ceci)
    - ton poste tu dois marquer quand la bonne réponse tu as obtenu.

  3. #3
    Membre du Club
    Inscrit en
    Janvier 2006
    Messages
    85
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 85
    Points : 46
    Points
    46
    Par défaut
    Ok, je pensais pas qu'il faisait sa automatiquement , je vais voir sa merci

  4. #4
    Modérateur
    Avatar de ToTo13
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Janvier 2006
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 793
    Points : 9 860
    Points
    9 860
    Par défaut
    Si ca te convient, pense à cocher le message comme résolu.
    Consignes aux jeunes padawans : une image vaut 1000 mots !
    - Dans ton message respecter tu dois : les règles de rédaction et du forum, prévisualiser, relire et corriger TOUTES les FAUTES (frappes, sms, d'aurteaugrafe, mettre les ACCENTS et les BALISES) => ECRIRE clairement et en Français tu DOIS.
    - Le côté obscur je sens dans le MP => Tous tes MPs je détruirai et la réponse tu n'auras si en privé tu veux que je t'enseigne.(Lis donc ceci)
    - ton poste tu dois marquer quand la bonne réponse tu as obtenu.

  5. #5
    Membre du Club
    Inscrit en
    Janvier 2006
    Messages
    85
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 85
    Points : 46
    Points
    46
    Par défaut
    Hum, j'ai recuperé (enfin je pense ) une matrice aprés ma rotation :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    glRotatef(rquadx,0.0f,1.0f,0.0f);	
    glGetFloatv(GL_MODELVIEW_MATRIX,matrix);

    Mais mes points d'origine ont que 3 coordonnées, je vois pas trop
    En faite si j' ai une face dessiné :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    glVertex3f( 1.0f, 1.0f,-2.0f);					
    glVertex3f(-1.0f, 1.0f,-2.0f);					
    glVertex3f(-1.0f, 1.0f, 1.0f);					
    glVertex3f( 1.0f, 1.0f, 1.0f);
    je dois multiplier le premier x qui vaut 1.0 par les 16 elements contenu dans matrix ?

  6. #6
    Modérateur
    Avatar de ToTo13
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Janvier 2006
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 793
    Points : 9 860
    Points
    9 860
    Par défaut
    Bonjour,
    la matrice obtenue est une matrice 1*16 et pour multiplier correctement, il faudrait que tu la considère comme une matrice 4*4.
    C'est à dire que tu as :
    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
    et il te faudrait :
    1 2 3 4
    4 6 7 8
    9 10 11 12
    13 14 15 16
    uen fois que tu as ta matrice 4*4, tu prend un point de ta forme de coordonnée (x, y, z) et tu le considère comme un vecteur [x, y, z, 1.0]. Ensuite il te reste plus qu'a faire l'opération matricielle :
    1 2 3 4 x
    4 6 7 8 y
    9 10 11 12 * z
    13 14 15 16 1.0

    Tu obtiens ainsi un vecteur donc les trois premières valeurs sont les nouvelles coordonnées de ton point.
    Consignes aux jeunes padawans : une image vaut 1000 mots !
    - Dans ton message respecter tu dois : les règles de rédaction et du forum, prévisualiser, relire et corriger TOUTES les FAUTES (frappes, sms, d'aurteaugrafe, mettre les ACCENTS et les BALISES) => ECRIRE clairement et en Français tu DOIS.
    - Le côté obscur je sens dans le MP => Tous tes MPs je détruirai et la réponse tu n'auras si en privé tu veux que je t'enseigne.(Lis donc ceci)
    - ton poste tu dois marquer quand la bonne réponse tu as obtenu.

  7. #7
    Modérateur
    Avatar de ToTo13
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Janvier 2006
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 793
    Points : 9 860
    Points
    9 860
    Par défaut
    oups, j'ai oublié le /code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    C'est à dire que tu as :
    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
    et il te faudrait :
    1    2    3    4
    4    6    7    8
    9   10    11   12
    13  14   15   16
    uen fois que tu as ta matrice 4*4, tu prend un point de ta forme de coordonnée (x, y, z) et tu le considère comme un vecteur [x, y, z, 1.0]. Ensuite il te reste plus qu'a faire l'opération matricielle :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    1    2    3    4        x
    4    6    7    8        y
    9    10   11   12   *   z
    13  14   15    16      1.0
    Tu obtiens ainsi un vecteur donc les trois premières valeurs sont les nouvelles coordonnées de ton point.
    Consignes aux jeunes padawans : une image vaut 1000 mots !
    - Dans ton message respecter tu dois : les règles de rédaction et du forum, prévisualiser, relire et corriger TOUTES les FAUTES (frappes, sms, d'aurteaugrafe, mettre les ACCENTS et les BALISES) => ECRIRE clairement et en Français tu DOIS.
    - Le côté obscur je sens dans le MP => Tous tes MPs je détruirai et la réponse tu n'auras si en privé tu veux que je t'enseigne.(Lis donc ceci)
    - ton poste tu dois marquer quand la bonne réponse tu as obtenu.

  8. #8
    Membre du Club
    Inscrit en
    Janvier 2006
    Messages
    85
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 85
    Points : 46
    Points
    46
    Par défaut
    D'accord d'accord !!! par contre je dois utiliseé push et popmatrix pour eviter de prendre une mauvaise matrix le coup d'aprés ?
    Merci en ttout cas

  9. #9
    Modérateur
    Avatar de ToTo13
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Janvier 2006
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 793
    Points : 9 860
    Points
    9 860
    Par défaut
    Non, en faisant ton calcul à part, tu ne modifie pas la matrice de vue. Seul glrotate, gltranslate, glscale, glloadidentity... la modifie
    Consignes aux jeunes padawans : une image vaut 1000 mots !
    - Dans ton message respecter tu dois : les règles de rédaction et du forum, prévisualiser, relire et corriger TOUTES les FAUTES (frappes, sms, d'aurteaugrafe, mettre les ACCENTS et les BALISES) => ECRIRE clairement et en Français tu DOIS.
    - Le côté obscur je sens dans le MP => Tous tes MPs je détruirai et la réponse tu n'auras si en privé tu veux que je t'enseigne.(Lis donc ceci)
    - ton poste tu dois marquer quand la bonne réponse tu as obtenu.

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

Discussions similaires

  1. Problème de rotation
    Par Francky033 dans le forum DirectX
    Réponses: 1
    Dernier message: 17/07/2003, 16h38
  2. Rotation de Bitmap -> ScanLine
    Par jujuesteban dans le forum Langage
    Réponses: 7
    Dernier message: 03/07/2003, 15h11
  3. Rotation d'un bouton ?
    Par ken_survivant dans le forum Composants
    Réponses: 3
    Dernier message: 01/04/2003, 18h16
  4. matrice et rotation
    Par charly dans le forum Algorithmes et structures de données
    Réponses: 4
    Dernier message: 07/12/2002, 17h59
  5. algo : rotation d'objet 3d
    Par numeror dans le forum Algorithmes et structures de données
    Réponses: 4
    Dernier message: 19/08/2002, 22h58

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