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] Faire tourner un cube sur lui-même


Sujet :

OpenGL

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    195
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 195
    Points : 82
    Points
    82
    Par défaut [Rotation] Faire tourner un cube sur lui-même
    HELLO LE MONDE!

    Je cherche à faire tourner un simple cube (OpenGL) sur lui-même.
    Pour cela j'utilise glRotate{f,d,..bref!}(....), mais aucun paramètres de cette fonction m'indique le centre de rotation (y a que l'angle et les vect' en x,y,z).

    Le résultat: le cube à l'air de tourner autour du point p(0,0,0), mais moi je souhaiterais le faire tourner autour d'un centre choisi....comme son centre à lui.

    Je suis sûr que vous avez une idée à ce problème de débutant!!

    Merci encore.
    Séb.

  2. #2
    Rédacteur

    Avatar de khayyam90
    Homme Profil pro
    Architecte de système d’information
    Inscrit en
    Janvier 2004
    Messages
    10 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Architecte de système d’information

    Informations forums :
    Inscription : Janvier 2004
    Messages : 10 369
    Points : 40 164
    Points
    40 164
    Par défaut
    pour réussir à faire toutes les transformations que tu souhaites, il ne faut pas hésiter à composer plusieurs primitives.

    par exemple, pour faire tourner ton cube autour d'un point autre que 0,0,0 , il faut faire une translation suivie d'une rotation. Attention à l'ordre de composition des transformations, le produit matriciel n'est pas commutatif.

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    195
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 195
    Points : 82
    Points
    82
    Par défaut
    Ok! Sa marche super bien !! 8)

    Ce code (à placer avant toutes constructions), que j'ai placé dans une méthode d'une classe CPlan fait tourner un quad (ou autre objet d'ailleurs) autour du centre voulu nommé "centre" et depuis son emplacement d'origine:
    glTranslatef(centre.x, centre.y, centre.z);
    glRotatef(angle voulu ICI, 0.0f, 0.0f, 1.0f); // par exemple....
    glTranslatef(-1.0f*centre.x, -1.0f*centre.y, -1.0f*centre.z);
    Il faut ensuite, après construction de l'objet, réécrire ce code pour rétablir les translations et rotations pour les autres objets de la scène.

    Merci beaucoup khayyam90 pour m'avoir guidé.

    [/quote]

  4. #4
    Membre régulier

    Inscrit en
    Août 2004
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 43
    Points : 114
    Points
    114
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    glTranslatef(-1.0f*centre.x, -1.0f*centre.y, -1.0f*centre.z);
    c'est mieux que
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    glTranslatef(-centre.x, -centre.y, -centre.z);
    ??

  5. #5
    Rédacteur

    Avatar de khayyam90
    Homme Profil pro
    Architecte de système d’information
    Inscrit en
    Janvier 2004
    Messages
    10 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Architecte de système d’information

    Informations forums :
    Inscription : Janvier 2004
    Messages : 10 369
    Points : 40 164
    Points
    40 164
    Par défaut
    et comme d'hab, si tu as trouvé la réponse à ton problème, n'oublie pas de mettre le joli tag résolu, il est là pour ça.

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

Discussions similaires

  1. Comment faire tourner des sockets sur le même ordi ?
    Par Invité dans le forum Réseau/Web
    Réponses: 7
    Dernier message: 11/03/2014, 21h38
  2. [8] faire tourner un clip sur lui meme
    Par sooprano dans le forum ActionScript 1 & ActionScript 2
    Réponses: 1
    Dernier message: 08/07/2011, 09h44
  3. Faire tourner une forme sur elle-même
    Par Suditidus dans le forum ActionScript 3
    Réponses: 1
    Dernier message: 14/06/2010, 11h05
  4. Rotation d'un objet sur lui-même
    Par Ninouw dans le forum OpenGL
    Réponses: 6
    Dernier message: 29/12/2006, 09h40
  5. Faire boucler une Macro sur elle même..
    Par volganne dans le forum Access
    Réponses: 5
    Dernier message: 02/06/2006, 11h13

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