Calcul des angles Heading Tilt et Roll sur un vecteur en 3 dimensions
Répondre à la discussion
Affichage des résultats 1 à 4 sur 4

Calcul des angles Heading Tilt et Roll sur un vecteur en 3 dimensions



  1. #1
    victornade

    Calcul des angles Heading Tilt et Roll sur un vecteur en 3 dimensions


    ------

    Bonjour,

    J'ai un problème dans mon programme informatique, mais comme celui ci est purement mathématique, j'espère avoir choisi la bonne catégorie

    Alors voila, pour représenter une ellipsoïde dans l'espace, il faut plusieurs paramètres:
    -ses deux rayons (grand et petit axe) ainsi que son orientation dans l'espace:
    -l'angle Heading, sa rotation autour de son axe z: pour une ellipsoïde on s'en fiche (contrairement à un carré quoi), donc j'ai mis 0
    -l'angle Tilt, sa rotation sur l'axe Est Ouest
    -l'angle Roll, sa rotation sur l'axe Nord Sud
    orientationParams.gif

    Je coince à trouver ces deux derniers paramètres :/ Voila mes données:
    -les rayons de l’ellipsoïde,
    -son angle par rapport au sol Alpha
    -Son angle par rapport au nord dans le sens des aiguilles d'une montre (comme si on regardait une boussole) Beta

    Voila une photo récapitulative:
    FullSizeRender.jpg

    J'ai toujours eu des difficultés à me représenter les angles dans l'espace, mais là je bloque totalement. En faisant des projections j'ai cherché à mettre des angles de depart en relation avec ceux d'arrivée mais sans succes.
    Simplement (car très logique, je trouve:

    -A la position plein nord, j'ai le couple (tilt, roll) qui vaut ( PI/2-Alpha, 0)
    -A la position plein Sud, j'ai le couple (tilt, roll) qui vaut ( -PI/2+Alpha, 0)
    -A la position plein Ouest, j'ai le couple (tilt, roll) qui vaut ( 0 , PI/2-Alpha)
    -A la position plein EST, j'ai le couple (tilt, roll) qui vaut ( 0 , -PI/2+Alpha)


    Voila, si vous avez un embryon de piste, je suis preneur


    EDIT: je me suis peut-être mal exprimé: je veut donc la formule pour passer de mes deux angles de depart aux angles d'arrivées tilt et roll... et ce quelque soit l'orientation de l'ellipse (vers le NORD EST ou SUD OUEST)

    -----
    Dernière modification par victornade ; 23/04/2015 à 14h09.

  2. #2
    Neluge

    Re : Calcul des angles Heading Tilt et Roll sur un vecteur en 3 dimensions

    Bonjour,

    Première remarque, la position d'un objet dans l'espace n'est pas seulement déterminée par ces 3 angles de rotation ; il faut aussi préciser dans quel ordre on fait ces rotations, car cela ne commute pas. Je vais supposer qu'on les fait dans l'ordre dans lequel vous les annoncez : autour de z d'abord, puis autour de l'axe Est-Ouest, puis autour de l'axe Nord-Sud.

    Ensuite, si je comprends bien votre problème, votre "Heading" n'est pas nul mais correspond exactement a l'angle beta (la rotation autour de z, c'est la rotation dans le plan x-y).

    Il ne reste qu'a essayer de trouve "Tilt" et "Roll" en fonction de theta. Pour cela je vais reformuler le problème sous une forme calculatoire.
    Si je considère le vecteur (1,0,0), après l'avoir tourné de l'angle beta autour de z ("Heading"), on obtient le vecteur . On cherche maintenant deux angles et tels que, quand on applique a une rotation de autour de y suivie d'une rotation de autour de x, on obtienne le vecteur (ceci correspond au vecteur unitaire que vous voulez obtenir, avec un "Heading" de beta et un angle par rapport au sol de theta ; vous trouvez ses composantes par projections). Vous pouvez alors écrire les matrices de rotation autour des axes x et y ; effectuer les deux rotations successives revient a multiplier les coordonnées du vecteur u par le produit de ces deux matrices :

    En écrivant que doit etre égal a , il ne reste qu'a résoudre les équations pour trouver les angles alpha_x et alpha_y que vous cherchez.

    Notez que j'ai considéré que les axes x,y,z restent fixes et ne tournent pas quand on fait les rotations (c'est ma compréhension du problème... si ce n'est pas ce que vous voulez, il faut faire autrement).
    Dernière modification par JPL ; 24/04/2015 à 12h39.

  3. #3
    victornade

    Re : Calcul des angles Heading Tilt et Roll sur un vecteur en 3 dimensions

    Merci pour votre réponse rapide et complète !

    Il semble effectivement qu'il y ai un ordre de rotation, et surtout que les axes Ox Oy Oz pivotent avec les rotations
    Si on considère l'orientation (heading, tilt roll) à (0,0,0) est verticale (le grand axe est l'axe Z), et que le centre des axes xyz est le centre de l’ellipsoïde O:
    - le Heading ne fait que tourner l’ellipsoïde autour de son grand axe (aucun intérêt donc...). Je pense donc que c'est la dernière rotation dans l'ordre des rotations
    - En regardant toujours l'ellipsoïde avec le grand Axe comme Oz, le Tilt le fait tourner autour du nouvel axe Ox de l'ellipsoide, après avoir effectué la rotation autour d'Oy (roll). La preuve est qu'avec un tilt de 45° (Le grand axe est Sud -> Nord), le roll et le heading font la même chose: faire tourner ellipsoïde autour du grand axe.Le tilt est donc la seconde rotation
    -En revanche, Si je fait un roll de 45° (Ellipsoïde en position Est -> Ouest), modifier le tilt le fera se diriger vers l'axe Nord Sud ( en regardant le grand axe comme Oz, on retrouve bien cette rotation autour d'Oy). C'est donc la première rotation.

    Merci pour ton message, je sais désormais que l'ordre des rotations est roll, tilt, puis heading. Je sais aussi que la rotation est aussi valable pour les axes (d'où le fait que la rotation se fait dans un ordre bien précis ?)

    Alors pour retrouver ces trois paramètres en fonctions d' et du grand axe d, j'ai décide de faire le chemin à l'envers:
    Considérons que notre est inférieur à (notre ellipsoïde est orienté Nord Est).
    Le heading n'a pas d'importance => 0.
    Le tilt est donc la rotation de l'axe Ox de l’ellipsoïde et l'axe Ouest-Est d'origine, soi .
    Une fois le tilt trouvé et "enlevé" Le roll est l'angle entre l'elevation Z (Orienté du sol vers le ciel) et le grand axe. C'est la que ça devient compliquer pour moi... Je continue à chercher mais si vous avez une idée...

    Merci encore d'avoir pris le temps de m'aider

    Malgré toutes ces informations, je n'arrive pas a trouver le lien... même en effectuant des projections comme en Physique (ça me rappelle le passage aux coordonnées polaire / spherique / cartesien)

  4. #4
    victornade

    Re : Calcul des angles Heading Tilt et Roll sur un vecteur en 3 dimensions

    Bonjour,
    Étant vraiment dans la panade, je me permet ce doublon en reformulant mon problème avec les nouvelles informations que Neluge m'a fournit:

    Nous avons donc une ellipsoïde dans l'espace. Son orientation est gérée par les angles (Roll, tilt, heading) dans cet ordre bien précis. l'orientation (0, 0 ,0) est une ellipsoïde dont le grand axe est l'axe Z. Le centre du référentiel que nous utilisons est le centre de l'ellipsoïde 0.
    -Roll est une rotation autour de l'axe 0x (Dans le sens des aiguilles d'une montre en regardant le centre du référentiel)
    -Tilt est une rotation autour de l'axe Oy', c'est à dire Oy après lui avoir appliqué le Roll.
    -Enfin Heading est une rotation autour de l'axe Oz'', c'est à dire que quelque soit le Roll et le Tilt, le Heanding fera tourner l'ellipsoïde autour de son grand axe (aucun intérêt donc)

    Il me faut alors chercher les valeurs de Roll et Tilt sachant qu'après application de ceux-ci:
    -le grand axe vaut toujours D (son rayon d=D/2)
    -L'Ellipsoïde est tournée à degrés du plan 0xz d'origine (par rapport au nord)
    -L'Ellipsoïde est tournée à degrés du plan 0xy d'origine (par rapport au sol)
    (pour une représentation visuelle, merci de vous référer aux images du premier post)

    Deux angles de départ, deux angles d'arrivés...
    Donc, On a le vecteur (Ox, Oy, Oz) initialement à (0, 0, d) en cartesien
    -On effectue un roll d'angle r, on obtient alors le vecteur (0, d*cos(r), d*sin(r))
    - A partir de la on obtient un nouveau référentiel (Ox', Oy', Oz'). un tilt t de (0, 0, 1) le fait devenir )
    -Enfin avec mon 3eme référentiel (0x'', Oy'', Oz''), j'applique le heading, mais ici je n'en ai pas besoin.

    Je sais donc que mon angle (0,0,1), apres roll et tilt devient

    Voila. Ensuite je doit trouver ce même (x, y, z) en fonction de et afin d'identifier derrière...
    est la composante la plus simple à trouver...
    n'est pas non plus très compliqué car là encore il existe angle connu et une distance afin de faire la projection
    la difficulté revient à trouver y. Cependant ayant seulement 2 inconnues, 2 equations suffisent:


    on obtient:



    ... Mais ça ne marche pas ! Voyez vous une erreur dans mon raisonnement ? encore une fois je suis vraiment pas à l'aise avec les projections...
    Merci à ceux et à celles qui prendront la peine de me lire

  5. A voir en vidéo sur Futura

Discussions similaires

  1. Tilt et Pan
    Par narakphysics dans le forum Physique
    Réponses: 1
    Dernier message: 12/09/2012, 06h55
  2. calcul des angles
    Par invite5bb40ee6 dans le forum Mathématiques du collège et du lycée
    Réponses: 4
    Dernier message: 11/04/2012, 16h49
  3. Calcul des angles Roll/Yaw/Pitch
    Par invite6946fe27 dans le forum Mathématiques du supérieur
    Réponses: 6
    Dernier message: 21/08/2010, 18h13
  4. calcul des angles
    Par invite790b1608 dans le forum Mathématiques du collège et du lycée
    Réponses: 3
    Dernier message: 23/07/2009, 21h30
  5. [Biochimie] calcul des angles phi et spi
    Par invite90e42a3a dans le forum Biologie
    Réponses: 0
    Dernier message: 30/11/2008, 11h18