1 points par GN⁺ 2024-06-16 | 1 commentaires | Partager sur WhatsApp

Différentes représentations de la rotation 3D

Matrice de rotation

  • La matrice de rotation est une matrice orthogonale 3x3, dont chaque colonne indique la position des axes x, y et z après rotation.
  • Avantages : utile pour transformer des points et facile à combiner avec d'autres transformations linéaires.
  • Inconvénients : peu adaptée pour manipuler la rotation elle-même, et la somme de deux matrices de rotation n'est pas une matrice de rotation.

Angles d'Euler

  • Les angles d'Euler représentent trois rotations autour des axes x, y et z.
  • Avantages : faciles à comprendre et souvent utilisés pour définir directement une rotation.
  • Inconvénients : risque de verrouillage de cardan (gimbal lock), où à certains angles les axes de rotation deviennent parallèles et rendent la rotation impossible.

Quaternions

  • Les quaternions sont des nombres complexes à quatre dimensions utilisés pour représenter les rotations.
  • Avantages : permettent l'interpolation linéaire sphérique des rotations (slerp), en choisissant le plus court chemin à vitesse constante.
  • Inconvénients : ne forment pas un espace vectoriel, sont difficiles à comprendre et coûteux en calcul.

Rotation axe/angle

  • La rotation axe/angle s'exprime par un axe de rotation et un angle de rotation.
  • Avantages : forme un espace vectoriel, ce qui permet l'addition, la mise à l'échelle et l'interpolation.
  • Inconvénients : ne choisit pas toujours le plus court chemin.

Applications exponentielle et logarithmique

  • Application exponentielle : convertit d'autres objets de rotation en matrices de rotation.
  • Application logarithmique : convertit les matrices de rotation en d'autres objets de rotation.
  • Rotation 2D : en 2D, il n'existe qu'un seul axe de rotation, et les matrices de rotation peuvent être calculées facilement via l'application exponentielle et logarithmique.
  • Rotation 3D : en 3D, l'axe de rotation est calculé à l'aide du produit vectoriel, puis les matrices de rotation sont converties via l'application exponentielle et logarithmique.

Avis de GN⁺

  • Utilité pratique : comprendre les différentes représentations de la rotation aide énormément à manipuler les rotations en graphisme 3D ou en robotique.
  • Complexité : des concepts avancés comme les quaternions peuvent être difficiles pour les ingénieurs débutants ; il est donc important d'apprendre progressivement à partir des bases.
  • Cas d'usage : dans le développement de jeux, l'animation, la robotique, etc., le choix de la représentation des rotations a un impact majeur sur les performances et la précision.
  • Évolution technologique : les moteurs graphiques et moteurs physiques récents implémentent efficacement ces représentations de rotation, et il est utile d'en tirer parti.
  • Ressources pédagogiques : des supports de grande qualité comme le cours CMU 15-462 permettent d'acquérir une compréhension plus approfondie.

1 commentaires

 
GN⁺ 2024-06-16
Commentaires Hacker News
  • La correspondance entre les groupes de Lie et les algèbres de Lie est extrêmement utile, car elle permet de transformer des concepts abstraits comme les rotations 3D en systèmes de coordonnées. Cela aide énormément les ingénieurs à résoudre des problèmes.
  • Après une longue semaine de travail, utiliser le curseur pour faire tourner la vache m’apaise.
  • Je trouve que les quaternions sont moins intuitifs que les matrices. Les matrices agissent sur les vecteurs, et les rotations aussi, donc les matrices semblent plus naturelles.
  • L’une des choses les plus cool que j’ai apprises à l’université, c’était comment intégrer une matrice de rotation dans l’état d’un filtre de Kalman. Cela permet d’estimer les rotations sans avoir à se soucier du gimbal lock.
  • L’article de blog était excellent. Après avoir vu le profil de l’auteur, je me suis senti un peu nul.
  • Au-delà de la partie sur la rotation de la vache, la méthode pour calculer les matrices de rotation standard est aussi utile. Quand on doit faire tourner des millions de vecteurs, on peut utiliser des pipelines de multiplication de matrices optimisés.
  • Je cherchais un moyen de moyenner plusieurs rotations, et cette méthode a l’air plus simple.
  • J’ai réalisé que créer des abstractions en mathématiques ressemble à créer des abstractions en ingénierie logicielle. Cela rend les calculs plus faciles.
  • C’est dommage que beaucoup de logiciels 3D n’utilisent pas l’interface Arcball. Arcball permet d’effectuer toutes les rotations en un seul glisser-déposer, sans provoquer de gimbal lock.
  • Les quaternions unitaires forment un groupe de Lie, et tous les quaternions représentent des vitesses de rotation. Pour mieux comprendre les quaternions, il vaut mieux lire sur l’algèbre géométrique.