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 :

Quaternions et rotations


Sujet :

OpenGL

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 12
    Points : 7
    Points
    7
    Par défaut Quaternions et rotations
    Bonjour,

    Je suis confronte au fameux gimbal lock, j'ai donc pour essayer de remedier a ca ecrit un classe implemantant des quaternions.

    mais je ne suis pas sur d'en faire la bonne utilisation :

    J'ai un quaternion , de depart qui represante la rotation par raport a un repere donme , il ets initialiser de la manierre suivante : w=0, x=0, y=0,z=0

    en fonction des mouvement sde la souris je souhaite modifier ce quaternions, je pense m'y prendre de la manierre suivante :

    a chae mouvement de souris je calcules les angles d'euler represantant la rotation par raport a la position courante, je tramsforme le tout en un quaternions temporaire que j'aditionne a mon quaternion de depart , le resultat etant transformer en matrice de rotation puis appliquer a OpenGl est-ce la bonne methode ??

    merci de vos reponses

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    56
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Mai 2002
    Messages : 56
    Points : 70
    Points
    70
    Par défaut
    a chae mouvement de souris je calcules les angles d'euler represantant la rotation par raport a la position courante, je tramsforme le tout en un quaternions temporaire que j'aditionne a mon quaternion de depart , le resultat etant transformer en matrice de rotation puis appliquer a OpenGl est-ce la bonne methode ??
    C'est plus une multiplication qu'une somme que tu devras faire il me semble...

    http://www.gamedev.net/reference/art...rticle1095.asp

    A+

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 12
    Points : 7
    Points
    7
    Par défaut
    oui c'etait un somme j'avais oublier de donner la solution que j'avais finalement trouver

    la voici donc :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
                Quaternions myDeltaQuaternion = new Quaternions(rotationX,rotationY,rotationZ);
    	    myQuaternion =  myQuaternion.multiply(myDeltaQuaternion,myQuaternion);
    	    gl.glMultMatrixf(myQuaternion.quaternionsToMatrix());
     
    	    rotationX=rotationY=rotationZ=0f;
    auparavant le probleme venaiis que le auterniosn etais reconstruit achaque fois avec les angle d'euler totaux d'ou lla persistance du gimbal lock , je pensais alors faire des additions mais ct stupide

Discussions similaires

  1. Réponses: 8
    Dernier message: 07/09/2006, 10h08
  2. Réponses: 4
    Dernier message: 08/08/2006, 14h10
  3. Quaternion gérant toutes les rotations
    Par norwy dans le forum OpenGL
    Réponses: 2
    Dernier message: 21/11/2005, 12h03
  4. Quaternions + rotations = confusion...
    Par Acropole dans le forum OpenGL
    Réponses: 13
    Dernier message: 15/09/2005, 14h16
  5. [Rotations] Rotations Locales/Globales avec Quaternions
    Par Clorish dans le forum Algorithmes et structures de données
    Réponses: 2
    Dernier message: 24/05/2005, 17h41

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