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

Moteurs 3D Discussion :

[Yes Engine] Initialisation des matrices de transformation 3D


Sujet :

Moteurs 3D

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2006
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Février 2006
    Messages : 15
    Points : 12
    Points
    12
    Par défaut [Yes Engine] Initialisation des matrices de transformation 3D
    Bonjour,

    Dans les tutoriaux de Loulou, j'ai remarqué le code suivant pour l'initialisation de la matrice "View" :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    // Initialisation des matrices de transformation 3D
    CMatrix4 MatView, MatProj, MatRotY, MatRotZ;
    MatRotY.SetRotationY(-Pi / 2, TVector3F(0, 0, 0));
    MatRotZ.SetRotationZ(-Pi / 2, TVector3F(0, 0, 0));
    m_MatView3D.LookAt(m_CameraPos, m_CameraPos + TVector3F(0.0f, 0.0f, 1.0f));
    m_MatView3D = MatRotY * MatRotZ * m_MatView3D;
    m_MatProj3D.PerspectiveFOV(Pi / 2, 640.0f / 480.0f, 1.0f, 200.0f);
    Mon souci est que je ne comprend pas bien l'intérêt des matrices MatRotY et MatRotZ, pourquoi est ce qu'on multiplie la matrice MatView3D par ces 2 matrices, dans quel but ?

  2. #2
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Points : 15 920
    Points
    15 920
    Par défaut
    Ce sont des matrices de rotation, c'est donc juste pour tourner la vue de 90° selon les axes Y et Z.

    La raison c'est que le tuto dont tu parles affiche des modèles MD2, et que leurs axes ne sont pas définis de la même manière que les miens ; j'effectue donc des rotations pour les remettre droits

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2006
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Février 2006
    Messages : 15
    Points : 12
    Points
    12
    Par défaut
    Ok merci pour le renseignement, personnellement j'aurais plutot fait une rotation du model lors de l'affichage car je trouve que cela entraine un manque de cohérance, je m'explique:

    la camera m_CameraPos est placée à la position (0, 0, -20), le problème est que si je veux afficher un objet au même endroit que la caméra je ne dois plus utiliser la même coordonnée, justement à cause de la rotation de la vue.

  4. #4
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Points : 15 920
    Points
    15 920
    Par défaut
    Je suis d'accord. Dans d'autres circonstances j'aurais fait la même chose, mais là il faut garder à l'esprit que le moteur était loin d'être complet, j'ai donc juste utilisé la solution la plus simple (il ne faut pas oublier non plus que c'est un turoriel, pas du code de prod).

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2006
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Février 2006
    Messages : 15
    Points : 12
    Points
    12
    Par défaut
    Pas de problèmes, merci pour tes réponses

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

Discussions similaires

  1. [Débutant] transformer des matrices en images et les sauvegarder
    Par salloum dans le forum MATLAB
    Réponses: 4
    Dernier message: 03/03/2011, 17h47
  2. Réponses: 5
    Dernier message: 17/05/2005, 10h34
  3. existe t 'il des programme pour transformer les bases
    Par creazone dans le forum Décisions SGBD
    Réponses: 1
    Dernier message: 05/10/2004, 15h11
  4. initialisation des property page
    Par Robleplongeur dans le forum MFC
    Réponses: 3
    Dernier message: 21/04/2004, 11h47
  5. Réponses: 6
    Dernier message: 13/09/2003, 13h42

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