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

Physique Discussion :

Rotation autour d'un point en 3D


Sujet :

Physique

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 43
    Points : 25
    Points
    25
    Par défaut Rotation autour d'un point en 3D
    Bonjour,

    Je cherche la formule qui pourrait faire tourner une matrice autour d'un point en 3d. Mais après moult recherche je n'ai rien de trouver de concluant. Il me faudrait une fonction du type void rotate_around_point(float angle_longitude ,float angle_latitude ,float x, float y, float z);
    Si quelqu'un pouvait m'aider

  2. #2
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 860
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 860
    Points : 219 062
    Points
    219 062
    Billets dans le blog
    120
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 43
    Points : 25
    Points
    25
    Par défaut
    Oui, j'ai lu la faq mais elle explique uniquement comment faire tourner un objet sur lui même et pas autour d'un point.
    Par exemple en 2d sa donnerait:
    Soit un point x1,y1 (le centre)
    Soit un point x2,y2 (le point en rotation autour de l'autre)
    X l'angle de rotation.
    Soit d1 la distance entre l'objet et le centre de rotation

    d1 = sqrt( (x1-x2)² + (y1-y2)²)

    x2 = d1 * cos(X) + x1
    y2 = d1 * sin(X) + y1

    Voila comment je peut faire ça en 3d ?

  4. #4
    Expert éminent

    Profil pro
    Fabricant et casseur d'avions
    Inscrit en
    Avril 2004
    Messages
    3 813
    Détails du profil
    Informations personnelles :
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Fabricant et casseur d'avions
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2004
    Messages : 3 813
    Points : 7 638
    Points
    7 638
    Par défaut
    Salut

    Citation Envoyé par izissie Voir le message
    Voila comment je peut faire ça en 3d ?
    En rajoutant une dimension. Et donc en comprenant qu'une rotation autour d'un point en 3D n'a aucun sens. Par contre, une rotation autour d'un axe, oui, et on revient aux liens que t'a précédemment donné LittleWhite.
    "Errare humanum est, sed perseverare diabolicum"

    Ma page sur DVP.com

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 43
    Points : 25
    Points
    25
    Par défaut
    C'est donc impossible ?

    Car en implanter le code de la faq j’obtiens des objets qui tourne sur eux même et non autour d'un autre.

    Edit: Non enfaite c'est bon en inversant l'ordre de multiplication des matrice ça marche parfaitement Merci a vous

    Par contre est t'il possible de changer la position de l'axe pour qu'il ne soit pas forcement a l'origine ?

  6. #6
    Expert éminent

    Profil pro
    Fabricant et casseur d'avions
    Inscrit en
    Avril 2004
    Messages
    3 813
    Détails du profil
    Informations personnelles :
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Fabricant et casseur d'avions
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2004
    Messages : 3 813
    Points : 7 638
    Points
    7 638
    Par défaut
    Citation Envoyé par izissie Voir le message
    Par contre est t'il possible de changer la position de l'axe pour qu'il ne soit pas forcement a l'origine ?
    Pas avec une matrice 3x3... avec une matrice 4x4 oui. Tu combines avec une translation, et son opposée, et ça roule. En gros, tu calcules une matrice T.R.T^-1 (ou T^-1.R.T, je ne sais jamais), où R est ta matrice de rotation, et T est la matrice de translation pour amener ton axe de rotation à l'origine

    Voir les liens de LittleWhite pour avoir la tête d'une matrice de translation 4x4
    "Errare humanum est, sed perseverare diabolicum"

    Ma page sur DVP.com

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 43
    Points : 25
    Points
    25
    Par défaut
    Merci a vous jai finalement reussi !

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

Discussions similaires

  1. Rotation autour d'un point
    Par paladice dans le forum Création de jeux vidéo
    Réponses: 2
    Dernier message: 13/10/2014, 19h26
  2. [XNA] Rotation d'un sprite autour d'un point
    Par DotNET74 dans le forum Windows Phone
    Réponses: 4
    Dernier message: 20/10/2011, 09h21
  3. Rotation GluLookAt autour d'un point central
    Par Dross dans le forum C++
    Réponses: 5
    Dernier message: 11/07/2011, 11h05
  4. Rotation caméra autour d'un point fixe
    Par jbeaussier dans le forum OpenGL
    Réponses: 3
    Dernier message: 24/01/2008, 00h16
  5. Rotation autour d'un point
    Par Webhellfire dans le forum OpenGL
    Réponses: 1
    Dernier message: 10/01/2006, 18h21

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