En fait, il est sur le point entre transformatrice de coordonnées espaces. Ok, vous comprenez que vous pouvez avoir une matrice qui fait la traduction ou la rotation. (Ou mise à l'échelle, ou inclinaison, etc.) Que vous pouvez multiplier une telle matrice par un point (V) pour obtenir le nouveau point (translation/rotation/etc). .:
par exemple
Mtranlate = [ 1 0 0 Tx ] * V = [ Vx ] = [ Vx + Tx ]
[ 0 1 0 Ty ] [ Vy ] [ Vy + Ty ]
[ 0 0 1 Tz ] [ Vz ] [ Vz + Tz ]
[ 0 0 0 1 ] [ 1 ] [ 1 ]
Ou rotation autour de l'X/Y/Z: axe
Mrotate_x = [ 1 0 0 0 ] * V = [ Vx ] = [ Vx ]
[ 0 cos -sin 0 ] [ Vy ] [ Vy*cos - Vz*sin ]
[ 0 sin cos 0 ] [ Vz ] [ Vy*sin + Vz*cos ]
[ 0 0 0 1 ] [ 1 ] [ 1 ]
que vous pouvez combiner plusieurs opérations en multipliant les matrices ensemble.
Par exemple: Mnew = Mtranslate * Mrotate_x.
(Et oui, l'ordre importe!)
donc donné une origine de base dans le monde réel, vous pouvez traduire l'emplacement xy de votre orc (connu/fourni), déduire du terrain à ce moment que les pieds de votre orc de son z emplacement est et traduire à cela. Maintenant vous avez les "pieds" de votre orc en coordonnées globales. De là, vous pourriez vouloir faire pivoter votre orc de sorte qu'il fait face à une direction particulière.
Puis traduisez vers le haut (basé sur le modèle de votre orc) pour trouver son cou. A partir du cou, nous pouvons traduire vers le haut (et peut-être tourner) pour trouver sa tête ou plus pour trouver son épaule. De l'épaule, nous pouvons faire une rotation et traduire pour trouver le coude. Du coude, nous pouvons tourner et traduire pour trouver la main.
Chaque composant de votre modèle orc a un cadre de référence local. Chacun est lié au référentiel auquel il est rattaché par une ou plusieurs transformations (matrices). En multipliant à travers toutes les matrices locales (transformées), nous pouvons finalement voir comment passer des pieds de l'orc à sa main.
(Rappelez-vous, j'animez l'orc et juste utiliser ses pieds x, y, emplacement z. Sinon, il est trop de travail.)
Vous voyez beaucoup de ce genre de chose en robotique qui peut fournir une belle introduction élémentaire à la cinématique vers l'avant. En robotique, au moins avec les robots les plus simples, vous avez un moteur qui tourne, et une longueur de membre à traduire. Et puis il y a un autre moteur. (En revanche, l'homme épaule articulation peut tourner autour de trois axes à la fois.)
Vous pourriez look over the course HANDOUTS for CMU's Robotic Manipulation class (15-384).
Peut-être quelque chose comme leur Forward Kinematics Intro.