1 MATRICE D INERTIE Géry Casiez http://www.lifl.fr/~casiez PJE Interface Multitouch - Master 1 informatique
Plan 2 Objectifs Moment d inertie, produit d inertie Matrice d inertie Valeurs propres, vecteurs propres Application à la détermination d OBB Application aux TRS à plus de 2 doigts
Objectifs 3 Déterminer l OBB d un ensemble de points Comment obtenir la direction privilégiée d un l ensemble de points? Comment obtenir la bounding box correspondante? AABB: Axis Aligned Bounding Box
Objectifs 4 Comment extraire des rotations, translations et changement d échelle effectués avec plus de 2 doigts?
Moment d inertie 5 Quantifie la résistance d un corps soumis à une rotation Plus la masse d un solide est répartie loin de l axe de rotation, plus le moment d inertie est important
Moment d inertie 6 Exemple: moment d inertie par rapport à l axe x passant par O quand les points P i tournent autour de celui-ci. P i de masse m i O r i X
Produit d inertie 7 Les produits d inertie modélisent une asymétrie massique dans un plan, ici (O,x,y) Y O r i X
Matrice d inertie 8 Comprend les moments d inertie et produits d inertie par rapport aux axes x et y M =
Valeurs propres et vecteurs propres 9 Les valeurs propres (r) permettent de diagonaliser la matrice M. r1, r2 solutions de det(m-r*i)=0
Vecteurs propres 10 Sont les vecteurs V qui vérifient M*V=r*V Donnent les vecteurs de la base dans laquelle la matrice M est diagonale Cette base est constituée de l axe où le moment d inertie est le plus fort et celui où il est le plus faible
11 Illustration
Application à la détermination d OBB 12 On cherche: 1) Origine 2) Orientation 3) Dimensions origine angle
Application à la détermination d OBB 13 1) On cherche les directions privilégiées de l ensemble de points en calculant la matrice d inertie et ses vecteurs propres On peut effectuer préalablement une opération de rééchantillonnage pour éviter «l accumulation de masse» Préférable de faire un changement de repère pour se placer au centroïde
Application à la détermination d OBB 14 2) Dans le repère défini par le centre de l objet et les deux vecteurs propres, on cherche la AABB correspondante => calcul de la longueur et de la hauteur min min max max
Application à la détermination d OBB 15 3) Pour l origine on choisit le sommet de l OBB le plus proche du premier point tracé min min Premier point tracé max max
Application à la détermination d OBB 16 4) Calcul de l orientation de l OBB à partir de la direction principale On choisit le vecteur dans la direction opposée à celle de l origine angle X
Application aux TRS à plus de 2 doigts 17 Même principe 1) Calcul de la matrice d inertie et de ses vecteurs propres 2) On choisit un des vecteurs propres correspondant à une des valeurs propres
Application aux TRS à plus de 2 doigts 18 La variation d angle est déterminée par l angle formé entre le vecteur propre et sa valeur précédente La variation de position est déterminée par la variation de la position du centroïde Le changement d échelle est déterminé par la variation de longueur de la diagonale de l OBB.
Application aux TRS à plus de 2 doigts 19 Détermination de la variation d angle Problème du changement de direction du vecteur propre Soit V le vecteur propre et V prev sa valeur précédente Si (produitscalaire(v, Vprev) < 0) alors V = -V
Application aux TRS à plus de 2 doigts 20 Appliquer les changements de repère pour déterminer la translation à appliquer à l origine du composant Même principe que pour les TRS à deux doigts
Application aux TRS à plus de 2 doigts m 01 : matrice de passage du repère 0 au repère 1 m 02 : matrice de passage du repère 0 au repère 2 1) Calcul des coordonnées de 0 dans le repère 1: O 1 = m -1 01 O 0 2) O 2 = O 1 (sans tenir compte du changement d échelle) 3) Calcul de O dans repère 0 O 0 = m 02 O 2 O V prev O V C prev C y Repère 0 x
Pour aller plus loin 22 Arbre d OBB
A quoi ça sert? 23 Détection de collisions