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 :

Quaternion gérant toutes les rotations


Sujet :

OpenGL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 95
    Par défaut Quaternion gérant toutes les rotations
    Bonjour,

    Débutant en OpenGL, je souhaiterais faire un petit programme où la caméra serait libre et dont le comportement serait gérable de toutes les manières (rotation sur tous ses axes).

    Je m'explique, j'ai récupéré le tutorial Quaternion Camera Class de Nehe Production (liens vers les programmes VC++ 6 et Dev C++, les autres version sont tout en bas de la page). Sans le lire à fond non plus, j'y ai compris que les quaternions sont des structures qui permettent d'appliquer une rotation à un objet.

    Ce qu'il me faudrait c'est appliquer des rotations à un objet autour de ses propres vecteurs i, j k.

    Dans le tutorial de Nehe, il suffit d'orienter la caméra vers la bas ou le haut pour s'apercevoir que la rotation autour du Lacet (Heading) s'effectue autour de l'axe du monde et non celui de la caméra.

    Comment pourrais-je modifier cela à partir du code de Nehe ?

  2. #2
    Membre Expert
    Avatar de shenron666
    Homme Profil pro
    avancé
    Inscrit en
    Avril 2005
    Messages
    2 583
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : avancé

    Informations forums :
    Inscription : Avril 2005
    Messages : 2 583
    Par défaut
    Malheureusement je n'ai pas de lien en français, mais en voici 2 qui pourraient t'aider :

    une liste d'articles ayant pour sujet les quaternions hébergés chez GameDev :
    http://www.gamedev.net/reference/list.asp?categoryid=28#250

    MathGLpp : une librairie mathématique intégrant les quaternions en plus des matrices et des vecteurs
    http://mathgl-pp.sourceforge.net/
    Tutoriels OpenGL
    Je ne répondrai à aucune question en MP
    - Si c'est simple tu dis que c'est compliqué et tu le fait
    - Si c'est compliqué tu dis que c'est simple et tu le sous-traite ou le fait faire par un stagiaire.

  3. #3
    Expert confirmé
    Avatar de djo.mos
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    4 666
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 666
    Par défaut
    Je dirais que les matrices 4x4 seront plus appropriés dans ton cas.
    En fait la meilleure solution serait d'utiliser les quaternions pour les rotations autour des axes globaux, et les matrices pour les axes locaux.

Discussions similaires

  1. Tutoriel OpenGL Moderne - les rotations (quaternions)
    Par LittleWhite dans le forum Développement 2D, 3D et Jeux
    Réponses: 0
    Dernier message: 15/06/2014, 16h59
  2. Grant pour un utilisateur sur toutes les tables
    Par MarcS dans le forum Administration
    Réponses: 2
    Dernier message: 13/08/2009, 08h54
  3. Grant sur toutes les tables en même temps
    Par jer64 dans le forum SQL
    Réponses: 3
    Dernier message: 25/09/2006, 07h59
  4. Grant all sur toutes les bases sauf la base mysql
    Par titoff002 dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 15/09/2005, 22h18
  5. Toutes les bonnes choses ont un début ...
    Par Bols2000 dans le forum Algorithmes et structures de données
    Réponses: 4
    Dernier message: 22/08/2002, 17h01

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