View
229
Download
0
Category
Preview:
Citation preview
MATRICE D’INERTIEGéry Casiez http://www.lifl.fr/~casiezPJE Interface Multitouch - Master 1 informatique
1
Plan
¨ 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
2
Objectifs3
¨ 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
Objectifs4
¨ Comment extraire des rotations, translations et changement d’échelle effectués avec plus de 2 doigts?
Moment d’inertie5
¨ 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’inertie6
¨ Exemple: moment d’inertie par rapport à l’axe x passant par O quand les points Pi tournent autour de celui-ci.
Pi de masse mi
ri
OX
Produit d’inertie7
¨ Les produits d’inertie modélisent une asymétrie massique dans un plan, ici (O,x,y)
ri
OX
Y
Matrice d’inertie8
¨ Comprend les moments d’inertie et produits d’inertie par rapport aux axes x et y
M =
Valeurs propres et vecteurs propres9
¨ Les valeurs propres (r) permettent de diagonaliser la matrice M. r1, r2 solutions de det(M-r*I)=0
Vecteurs propres10
¨ 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
Illustration11
Application à la détermination d’OBB12
¨ On cherche: 1) Origine 2) Orientation 3) Dimensions
longueur
hauteur
origineangle
Application à la détermination d’OBB13
¨ 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’OBB14
¨ 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
max
min
max
longueur
hauteur
Application à la détermination d’OBB15
¨ 3) Pour l’origine on choisit le sommet de l’OBB le plus proche du premier point tracé
min
max
min
max
longueur
hauteur
Premier point tracé
Application à la détermination d’OBB16
¨ 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 doigts17
¨ 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 doigts18
¨ 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 doigts19
¨ Détermination de la variation d’angle Problème du changement de direction du vecteur propre
¨ Soit V le vecteur propre et Vprev sa valeur précédente Si (produitScalaire(V, Vprev) < 0) alors V = -V
Application aux TRS à plus de 2 doigts20
¨ 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
V
Cprev Crepè
re 1
x
y
Repère 0
O
O’
repère
2
Vprev
m01: matrice de passage du repère 0 au repère 1m02: matrice de passage du repère 0 au repère 2
1) Calcul des coordonnées de 0 dans le repère 1: O1 = m01
-1 O02) O’2 = O1 (sans tenir compte du changement d’échelle)3) Calcul de O’ dans repère 0 O’0 = m02 O’2
Pour aller plus loin…22
¨ Arbre d’OBB
A quoi ça sert?23
¨ Détection de collisions
Recommended