Vecteur3 et quaternions
Répondre à la discussion
Affichage des résultats 1 à 9 sur 9

Vecteur3 et quaternions



  1. #1
    invite0d2922ee

    Vecteur3 et quaternions


    ------

    Bonjour,

    je développe une petite application 3D et j'ai un petit souçi mathématique (je suis une bille question quaternion )
    Voilà mon problème :
    J'ai un objet dont je connais:
    - la position (un vecteur à 3 dimensions)
    - l'orientation (un quaternion)
    L'objectif est de créer un nouvel objet positionné devant le précédant, quelque soit son orientation.

    Par exemple, on a un objet A (0,0,0) orienté vers (0,1,0) (sauf que la c'est un quaternion pour l'orientation). je veux placer l'objet B à une distance d devant l'objet A. Ce qui donnerai dans ce cas B(0,d,0).

    Seulement je ne connais pas les formules utilisant les quaternions me permettant de trouver ça (l'utilisation du quaternion ne peut pas être exclue).

    Merci d'avance pour votre aide!

    Bonne journée
    Charlie

    -----

  2. #2
    lapin savant

    Re : Vecteur3 et quaternions

    Salut,
    je ne suis pas expert non plus, mais il me semble que l'on peut définir un produit scalaire avec les quaternions, ainsi qu'une norme (donc une distance). cf wikipédia pour les relations (je les connais pas par coeur)
    "Et pourtant, elle tourne...", Galilée.

  3. #3
    NicoEnac

    Re : Vecteur3 et quaternions

    Citation Envoyé par Charlie111 Voir le message
    Par exemple, on a un objet A (0,0,0) orienté vers (0,1,0) (sauf que la c'est un quaternion pour l'orientation). je veux placer l'objet B à une distance d devant l'objet A. Ce qui donnerai dans ce cas B(0,d,0).
    Bonjour,

    Un quaternion possède 4 coordonnées, pas 3 ! Pour l'orientation vous avez donné un vecteur de R3 !

    Concernant les quaternions, ils sont définis comme des "vecteurs" composés d'une partie scalaire et d'un vecteur de R3.

    Il existe une norme pour les quaternions définie comme sur R2 ou R3 : racine carrée de la somme des carrés des composantes.
    "Quand les gens sont de mon avis, il me semble que je dois avoir tort."O.Wilde

  4. #4
    NicoEnac

    Re : Vecteur3 et quaternions

    De plus, je ne vois pas trop l'intérêt des quaternions ici.

    L'objet A est situé en (0,0,0) et est orienté vers u=(a,b,c). Vous voulez placer l'objet B à une distance d de l'objet A suivant la direction de ce dernier. AB est donc colinéaire à u mais avec une norme qui vaut d.

    => AB = d/||u|| x u ce qui donne les coordonnées de B
    "Quand les gens sont de mon avis, il me semble que je dois avoir tort."O.Wilde

  5. A voir en vidéo sur Futura
  6. #5
    Romain-des-Bois

    Re : Vecteur3 et quaternions

    Bonjour,

    @ NicoEnac : s'il dispose des coordonnées de A, il ne dispose pas de celles de u (qui est regardé par A) mais, à la place, d'un quaternion indiquant l'orientation de A.

    Je crois que son problème consiste justement à déterminer la droite passant par A et ayant la bonne direction pour passer par un certain point u.

    EDIT : c'est mon interprétation, je peux me tromper...

  7. #6
    NicoEnac

    Re : Vecteur3 et quaternions

    @Romain-des-Bois : ok alors je ne suis pas assez compétent, ne serait-ce que pour comprendre le problème. Je n'en ai pas capté toute la subtilité. Désolé
    "Quand les gens sont de mon avis, il me semble que je dois avoir tort."O.Wilde

  8. #7
    invite0d2922ee

    Re : Vecteur3 et quaternions

    Merci pour vos réponses.

    NicoEnac, je n'ai pas le choix, le framework que j'utilise me permet uniquement de récupérer l'orientation d'un objet via un quaternion.

    Mon exemple n'était pas assez clair, je voulais montrer ce que je voulais obtenir et pour ce faire j'ai utiliser un vecteur3 pour l'orienataion (c'était plus facile)

  9. #8
    sylvainc2

    Re : Vecteur3 et quaternions

    Pour extraire le vecteur "devant" (lookat en anglais) il faut convertir le quaternion en matrice de rotation. Habituellement (je dis ca car ca depend du logiciel) l'un des vecteurs colonnes de la matrice est ce vecteur devant, un autre est le "côté" (gauche ou droite selon la convention) et l'autre est le "haut".

    Donc tu convertis le quat (en fait tu n'as besoin que des 3 composantes du vecteurs devant, Z par exemple), et tu l'utilises pour calculer la nouvelle position: B = A + d*Z.

  10. #9
    invite0d2922ee

    Re : Vecteur3 et quaternions

    Waou merci beaucoup Sylvain, ça fonctionne enfin!!!

Discussions similaires

  1. Quaternions de Hamilton
    Par invite769a1844 dans le forum Mathématiques du supérieur
    Réponses: 7
    Dernier message: 27/04/2008, 18h28
  2. TIPE quaternions
    Par invite86e77b8c dans le forum TPE / TIPE et autres travaux
    Réponses: 6
    Dernier message: 29/01/2008, 10h31
  3. Quaternions et Géometrie
    Par Deeprod dans le forum Mathématiques du supérieur
    Réponses: 8
    Dernier message: 13/05/2007, 22h19
  4. Quaternions et Octavions
    Par invite6b72b336 dans le forum Mathématiques du supérieur
    Réponses: 16
    Dernier message: 03/11/2005, 22h11