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

Mathématiques Discussion :

Rotation d'un cercle sur ses 3 axes


Sujet :

Mathématiques

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur de recherche
    Inscrit en
    Décembre 2011
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur de recherche
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Décembre 2011
    Messages : 52
    Points : 34
    Points
    34
    Par défaut Rotation d'un cercle sur ses 3 axes
    Bonsoir,

    Je suis actuellement en train de développer un simulateur 3D qui comporte principalement un objet (un cercle actuellement). Mon but est de pouvoir modifier sa trajectoire et je bloque actuellement pour mettre en place l'attitude de l'objet (c'est-à-dire roulis, tangage et lacet).

    En effet, cet objet à un centre d'inertie I(Xi,Yi,Zi) et je voudrais pouvoir mettre en place les 3 rotations autour de ses 3 axes (repère local à mon objet). Seulement, je ne vois pas comment définir un tel repère local.

    Pour l'instant, j'arrive à effectuer les rotations mais seulement pour les axes du repère d'origine avec les matrices 3x3 connues (donc mon centre d'inertie ne reste pas inchangé contrairement à ce que je souhaite...). J'ai également trouvé la forme de la matrice pour effectuer une rotation autour d'un axe quelconque mais passant par l'origine. Or, mes 3 axes de rotations (repère local à l'objet) ne passent pas nécessairement par le point (0,0,0) et là je ne vois pas trop comment faire...

    Si quelqu'un a une idée je suis preneur

    Bonne soirée.

  2. #2
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur de recherche
    Inscrit en
    Décembre 2011
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur de recherche
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Décembre 2011
    Messages : 52
    Points : 34
    Points
    34
    Par défaut
    Est-ce que le fait de composer une translation et une rotation pourrait résoudre mon problème?

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur de recherche
    Inscrit en
    Décembre 2011
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur de recherche
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Décembre 2011
    Messages : 52
    Points : 34
    Points
    34
    Par défaut
    N'y aurait-il pas un moyen d'y parvenir, par exemple en ramenant mon solide à l'origine, effectuant la rotation puis le ramener à sa position initiale? La réponse semble être oui: http://www.cs.brandeis.edu/~cs155/Lecture_07_6.pdf

  4. #4
    Expert éminent sénior
    Homme Profil pro
    Analyste/ Programmeur
    Inscrit en
    Juillet 2013
    Messages
    4 629
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Analyste/ Programmeur

    Informations forums :
    Inscription : Juillet 2013
    Messages : 4 629
    Points : 10 554
    Points
    10 554
    Par défaut
    Oui la solution est simple mais ... mathématique

    [PS: Je suis un peu rouillé ]

    Effectivement, c'est la combinaison de 2 matrices:
    1) La matrice qui exprime les points dans le deuxième repère
    2) La matrice qui exprime ton deuxième repère dans ton premier repère.

    Après il y a un ordre pour la combinaison

    Ensuite, pour l'autre partie concernant le roulis, tangage et lacet.
    C'est juste une représentation comme les matrices ou les quaternions qui s'appelle angles d'Euler.
    Par contre, il faut faire attention notamment au "Gimbal lock"

    Et comme c'est une représentation, il y a des moyens de passer de l'une à l'autre

    Je t'invite à lire ce livre: 3D Math Primer for Graphics and Game Development Il est simple, mais donne les bases

Discussions similaires

  1. Bouger objet sur SES axes (Java3D)
    Par kevinFr dans le forum 3D
    Réponses: 3
    Dernier message: 24/03/2011, 08h16
  2. Dessiner un cercle sur une sphère ?
    Par nico_ippo dans le forum MATLAB
    Réponses: 2
    Dernier message: 15/01/2007, 17h25
  3. Rotation d'un objet sur lui-même
    Par Ninouw dans le forum OpenGL
    Réponses: 6
    Dernier message: 29/12/2006, 09h40
  4. Dessin d'un cercle sur le canvas d'une form
    Par Mickey.jet dans le forum Delphi
    Réponses: 1
    Dernier message: 08/11/2006, 11h50
  5. Réponses: 9
    Dernier message: 28/07/2006, 17h59

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