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

Newton Discussion :

utilisation des matrices de Newton Games


Sujet :

Newton

Vue hybride

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

    Informations forums :
    Inscription : Novembre 2006
    Messages : 136
    Par défaut utilisation des matrices de Newton Games
    Bonjour,

    Je voudrais utiliser NewtonBodyGetMatrix mais seulement j'ai aucune idée de leur fonctionnement... J'ai essayé de comprendre mais bon ---> plantage. Je ne comprends pas à quoi correspond quoi. Je ne suis qu'en première S donc je voudrais savoir où je pourrais de quoi comprendre les matrices (pas seulement la théorie mais également l'utilisation en géométrie) qui ne soit pas d'un niveau trop compliqué non plus (je n'ai aucune idée de la difficulté que ça peut représenter mais de ce que j'ai déjà vu, ça n'a pas l'air très compliqué en fait). Pour info, les matrices de Newton Games Dynamics ont une taille de 16 (4*4 il me semble).

    Merci d'avance

  2. #2
    Membre très actif

    Profil pro
    Étudiant
    Inscrit en
    Décembre 2004
    Messages
    499
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2004
    Messages : 499
    Par défaut
    salut la body matrix te permet de faire essentiellement 3 transformations:

    translation, rotation (autour d'un axe), étirement dans le sens x,y ou z (ou symétrie) et d'enchainer ces transformations autant de fois que tu veux dans n'importe quel ordre

    si tu utilises opengl tu as du utilisé des matrices en faisant
    glRotatef, glTranslatef, glScalef
    (et aussi gluLookAt, gluPerspective mais c'est moins utile pour les body matrix de newton)

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    136
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 136
    Par défaut
    En fait je voudrais surtout récupérer les coordonnées et l'angle pour d'autres calculs.

  4. #4
    Membre très actif

    Profil pro
    Étudiant
    Inscrit en
    Décembre 2004
    Messages
    499
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2004
    Messages : 499
    Par défaut
    les coordonnées: 4 ième colonne de la matrice
    il y a probablement aussi une fonction pour récupérer la position avec newton
    l'angle: entre quoi et quoi ?

    le produit scalaire permet de trouver les angles en 3d (angle entre 2 vecteurs)

    à priori la direction droite de ton objet est dans la 1 ère colonne de la matrice,
    la direction haut de ton objet est dans la 2 ème colonne de la matrice,
    la direction derrière de ton objet est dans la 3 ème colonne de la matrice

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    136
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 136
    Par défaut
    J'utilise surtout la 2D, donc pour les coordonnées en 4ème colonne c'est dans l'ordre x,y,z (et le 4ème est inutile?)? Pour l'angle je veux parler de l'angle de l'objet, par rapport à l'axe des z (en 2D donc toujours) pour l'afficher entre autre car l'image que j'utilise pour cela est orientée "vers le haut" mais également pour calculer la direction de la force de l'objet (un tank qui avance vers la direction où il se tourne donc).

    Merci pour les 2 premières réponses! Par contre, je ne suis pas sûr de comprendre, l'axe z se trouve sur la 2ème ou 3ème colonne? Et comment est-il stocké (sin ou cos,...).

  6. #6
    Membre très actif

    Profil pro
    Étudiant
    Inscrit en
    Décembre 2004
    Messages
    499
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2004
    Messages : 499
    Par défaut
    si tu utilises x et y et z est l'axe de rotation

    alors prends les 4 premières coordonnées de la matrice

    | a11 a12 . . |
    | a21 a22 . . |
    | . . . . |
    | . . . . |

    fabrique 2 vecteurs
    X = (a11,a21) --> 1ère colonne 2 coordonnées
    Y = (a12,a22) --> 2ème colonne 2 coordonnées

    la direction haut de ton perso est ce vecteur Y (en 2 dimensions)
    la direction droite de ton perso est ce vecteur X (en 2 dimensions)

    pour avoir l'angle de rotation tu peux faire atan2(a11,a21)
    atan2 est une fonction de math.h

    quelle librairie utilises tu pour l'affichage, opengl, SDL ?

    puisque tu es en 2d la position de l'objet (de son centre !) est le vecteur 2d (a14,a24)

Discussions similaires

  1. Utilisation des matrices
    Par black_hole dans le forum OpenCV
    Réponses: 2
    Dernier message: 14/06/2011, 23h11
  2. systemC - utilisation des matrices
    Par Pascal.Oberle dans le forum Bibliothèques
    Réponses: 0
    Dernier message: 06/07/2010, 14h01
  3. [Opengl] Utiliser des terrains + déformation in-game
    Par Froyok dans le forum Moteurs 3D
    Réponses: 4
    Dernier message: 20/04/2009, 08h36
  4. Débutant : utilisation des matrices en traitement d'image
    Par Black Templar dans le forum Traitement d'images
    Réponses: 4
    Dernier message: 17/11/2008, 08h37
  5. [debutant]Utiliser des matrices en C
    Par Battosaiii dans le forum C
    Réponses: 2
    Dernier message: 13/11/2005, 20h45

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