Loading

Alison's New App is now available on iOS and Android! Download Now

Study Reminders
Support
Text Version

Set your study reminders

We will email you at these times to remind you to study.
  • Monday

    -

    7am

    +

    Tuesday

    -

    7am

    +

    Wednesday

    -

    7am

    +

    Thursday

    -

    7am

    +

    Friday

    -

    7am

    +

    Saturday

    -

    7am

    +

    Sunday

    -

    7am

    +

Réalité virtuelle Prof. Steve Lavalle Department of Applied Mechanics Indian Institute of Technology, Madras Lecture-4-3 Geometry of Virtual Worlds (conversion et multiplication des rotations)
Et la prochaine fois, nous pouvons nous transformer en transformations homogènes qui combinent rotations et traductions.
(Référez-vous à la diapositive: 00:24) Donc, nous pensons aux conversions maintenant. Donc, nous avons commencé avec la matrice de rotation et je vous ai donné le pas et le roulis de lacet et donc, c'est la première chose que nous avons fait, et vous pouvez revenir entre ces deux, mais vous devez être très prudent au sujet des problèmes que j'ai parlé des singularités cinématiques, la représentation non uniforme, et en général parce que non commutative il devient compliqué.
Donc, quand vous avez des rotations individuelles et que vous ne les combinez pas, c'est bien, mais c'est parce qu'il est basé sur trois représentations de l'angle de l'axe, c'est-à-dire les axes de coordonnées, alors nous avons descendu le chemin des représentations de l'angle d'axe. Donc, j'ai mentionné ici que vous pouvez convertir entre les quaternions et les matrices de rotation. Nous pouvons donc nous rendre aux quaternions en utilisant cette représentation q, les quaternions unitaires.
Donc, vous pouvez vouloir convertir entre ces deux formules je ne donne pas les formules de conversion exactes ici.
(Référez-vous à la diapositive: 01:46) Si vous voulez les chercher, il est très facile de faire une recherche et de les trouver, vous pouvez aussi les trouver dans mon livre d'algorithmes de planification, je couvre toutes ces choses dans le contexte de la robotique, mais c'est le même genre de choses. Donc, c'est dans mon livre. Donc, juste vous regardez pour qu'il soit en ligne gratuitement, et ensuite il s'agit de conversions très simples entre cette représentation et la représentation de l'angle d'axe, qui par le théorème de rotation d'Euler comme je l'ai dit, c'est une façon très naturelle de décrire les rotations.
Donc, il y a une relation très facile entre l'angle de l'axe et les quaternions, il faut une certaine dépense de calcul pour aller de l'avant entre les matrices de rotation et les autres. Donc, très souvent des gens aiment travailler directement dans l'espace de quaternion, parce qu'il est très naturel pour les types d'angle d'accès des calculs et des représentations aussi. Et tout cela se transformera en avantages lorsque nous faisons des choses comme le pistage de la tête et nous voulons éviter les singularités cinématiques.
Donc, c'est-à-dire là où je veux finir, c'est quand on a eu une dernière chose ici qui est l'ordre des opérations de prêter attention à ici et c'est juste un, le dernier rappel sur la non-commutativité et de prêter une attention particulière à la commande.
(Voir la diaporama: 03:18) Nous avons une question de savoir si j'ai des rotations? 1,? 2ou j'ai des quaternions? 1,? 2 il y a la question intéressante qui est appliquée en premier.
Par exemple, supposons que j'ai un point p égal à x, y, z et que je calcule p prime égale R 1 p, et ensuite je calcule p double prime égale R 2 p prime, et maintenant j'aime combiner ces deux matrices ensemble. Donc, je veux comprendre ce qui est le p double premier, c'est R 1 R 2 p ou p double prime égale R 2, R 1, p.

Alors, lequel d'entre eux est-il?
Étudiant: (Voir Heure: 04:43). (Référez-vous à la diapositive: 04:33) Donc, celui-ci. Donc, beaucoup de gens n'aiment pas ça, vous savez comme le fait que d'attendre une minute si R 1 est venu en premier pourquoi pas R 1 apparaissant en premier à droite. Donc, c'est à l'envers. Donc, beaucoup de gens appellent ça pour dire que c'est contre-intuitif, c'est la façon dont l'algèbre fonctionne parce que ces matrices agissent du côté gauche et. Donc, ils viennent en action que vous connaissez. Donc, si vous regardez ça en mettant des parenthèses, en vous pouvez le comprendre comme ce droit que vous dites d'abord que cela s'applique et ensuite cela s'applique.
Donc, si vous ajoutez des parenthèses et que vous vous souvenez de l'associativité, ce qui n'a pas d'importance pour la multiplication par matrice dans ces étapes à ce stade, quand nous avons enchaînés les rotations, cela n'a pas d'importance parce que nous avons un groupe de matrices qui sont multipliées, mais néanmoins si vous ajoutez les parenthèses, vous pouvez en garder la trace comme ça et n'oubliez pas que cela se produit en premier et ensuite. Ainsi, l'ordre des opérations est important en raison de la non-commutativité, et juste lorsque vous voyez une chaîne de matrices, assurez-vous de bien interpréter l'ordre des opérations.
Donc, il est très facile de revenir en arrière, c'est une source commune d'erreurs et une autre chose c'est quand vous feriez des inversations comme nous avons parlé de vous assurer que vous appliquez les inverses appropriés.
(Voir Heure de la diapositive: 05:56) Donc, si je prends R 1 R 2 R 3 et I invert qui rappelle simplement que vous obtenez R 3 inverse, R 2 inverse, R 1 inverse droit. Donc, c'est juste une propriété de base de la théorie de groupe, elle s'applique à tout le lieu, quand vous faites affaire avec l'algèbre qui est commutative vous ne vous souciez pas, mais quand vous avez une algèbre non commutative que nous avons trouvée à cause de rotations de 3 D, vous devez inverser l'ordre des matrices lorsque vous appliquez l'inverse et le distribuer à travers chacune des matrices droit.
Alors, juste quelque chose pour faire attention. Donc, si vous allez inverser une séquence de quaternions, la même chose va se produire vous pouvez avoir à inverser l'ordre des quaternions, et ensuite appliquer l'inverse à chacun, ce qui est juste ce simple signe change ça. Je vous ai parlé des bonnes questions à propos de ce droit. Donc, je vais finir pour aujourd'hui la prochaine fois que je parlerai de matrices de transformation homogènes, vous pouvez lire dans les chapitres qui croient 6 et 7 du livre graphique sûrement, si vous voulez un peu de fond sur ça.
Merci.

Réalité virtuelle Prof. Steve Lavalle Département de General University of Illinois Lecture-05 Géométrie des mondes virtuels (conversion et multiplication des rotations, suite) Bonjour, poursuivons le lendemain des conférences. Donc, une chose que je veux vous rappeler, que j'ai fini la dernière fois.
(Référez-vous à la diapositive: 00:26) Nous avons parlé de rotations de 3 D et nous avons fait quatre représentations différentes. Donc, il y a la représentation native des rotations qui est la matrice de rotation 3 par 3 matrice pour le cas de 3 D et la première chose que nous avons donnée était la représentation du roulis de yaw qui nous en avons parlé ; ces rotations canoniques.
On avait l'air de regarder comme un pas de geste que nous avions comme si oui et rouler comme ça et nous vous avons aussi donné des quaternions d'unité comme une meilleure représentation et la raison pour laquelle c'est mieux c'est parce qu'elle est très proche d'une autre représentation très naturelle des rotations, qui est la représentation de l'angle d'axe en raison du théorème de rotation d'Euler que chaque rotation de 3 D peut être représentée comme une quantité de torsion si vous voulez sur un axe à travers l'origine et c'est très naturel et très utile quand vous commencez à faire de l'algèbre de rotations vous commencez à combiner des rotations.
Ceci ; les quaternions de l'unité d'algèbre combineront très bien les axes et. Donc, la transformation entre ces 2 était très simple, nous avions une formule très simple pour ce n'est pas difficile du tout elle est aussi efficace sur le plan informatique. Les transformations qui vont de l'avant et de l'autre entre les matrices de roulis et les matrices de rotation des quaternions sont un peu plus encombrantes qu'il y a une matrice très simple pleine de composants de quaternion, elle finit par être des expressions très simples dans la matrice. Donc, il n'est pas trop difficile de passer des quaternions à la matrice de rotation si vous voulez passer de votre rouleau de brai à la matrice vous multipliez simplement votre brai de lacet et les matrices de rouleau ensemble. Donc, ce n'est pas très difficile non plus, mais cela peut être long ou coûteux en termes de calcul que vous savez essayer à la main et vous verrez oui.
Cependant, si vous voulez passer de R en bas, alors vous devez faire beaucoup plus de travail, cela implique généralement une résolution de l'équation, puis il y a parfois des problèmes numériques parce que vous avez essentiellement trouvé des racines numériques, mais tout a fermé des expressions de forme il ya du code pour faire que ce n'est pas si mal, mais vous avez juste à payer attention, si vous écrivez un tel code vous-même qu'il y a des problèmes numériques subtils allant de R en bas à ici. Donc, en général en raison de la façon dont ces travailleurs préfèrent très souvent rester dans cette partie de l'espace et ne pas faire d'autres conversions à droite.
Donc, si nous pouvons travailler directement là, alors il y a beaucoup d'avantages et c'est l'une des raisons pour lesquelles je vous ai donné une multiplication de quaternion comme alternative à la multiplication matricielle. Donc, que vous n'avez pas à convertir en matrices vous pouvez tout simplement rester complètement ; complètement et quaternion terrain et faire vos calculs algébriques là-bas. En fait, vous pouvez aller plus loin et faire vos transformations de quaternion là-bas.
Donc, si vous voulez juste vous excuser, je devrais dire que vous pouvez faire vos rotations directement à l'aide de quaternions. Donc, je veux juste vous donner une expression rapide pour que je ne déforme pas l'algèbre de ce là que je prerais beaucoup plus de temps, mais supposons que vous avez un point X, Y, Z que vous aimeriez transformer, je l'étendra d'une seule dimension.
(Référez-vous à l'heure de la diapositive: 03:24)

Donc, je vais juste écrire comme ce X, Y, Z, 1 et je prétends que c'est un autre quaternion et maintenant si je veux faire tourner ce point X, Y, Z qui nous laisse dire peut-être que c'est peut-être juste dire n'importe où sur R 3 si je veux tourner ça, alors j'ai des p premiers que je calcule comme q la multiplication de quaternion avec la multiplication de p quaternion avec q inverse et ce q représente la rotation que je veux appliquer au point X, Y, Z c'est logique.

Donc, en d'autres termes, laissez-moi résumer donner et q une rotation que j'aimerais appliquer, bien sûr, correspond à une matrice de rotation, mais au lieu de convertir à cette matrice de rotation, je peux directement faire cette algèbre et appliquer q à p en utilisant cette chaîne de 2 multiplications afin d'obtenir les résultats. Donc, le résultat du résultat que j'ai obtenu, je viens de lire les 3 premiers composants et ça me dira le point de rotation. Donc, l'algèbre de quaternion a été bien définie d'une manière qui rend ce travail. Donc, ça vous donne le même résultat, mais je ne le dérivation pas ici vous pouvez regarder ça de votre propre fait, c'est logique et vous vous rappelez à quel point il est facile de vous faire droit inverse. (Référez-vous à la diapositive: 04:57)

Par exemple, vous pouvez simplement annuler les 3 derniers composants en parlant de ce que nous avons eu une question intéressante la dernière fois que je veux couvrir, nous avons parlé des doubles représentations de chaque rotation de 3 D lorsque vous utilisez l'angle de l'axe et si vous avez l'axe v et une certaine quantité de rotation thêta, alors si vous prenez moins v j'ai dit que c'est l'équivalent d'une rotation de moins thêta et alors quand nous regardons les formules pour la conversion du quaternion à l'angle de l'axe, nous remarquons qu'il y avait un problème de signe normalement si j'applique des fonctions de trig à un angle quelconque? Si j'ajoute 2? à ce que les fonctions de trig produisent le même résultat.
Donc, il semble que ça ne devrait pas avoir d'importance, mais il s'avère que c'est important pour cette formule de conversion de l'angle d'axe parce qu'elle a un terme qui dit que la cosinus theta divisée par 2. Donc, le fait que vous divisez par 2 ici signifie que si vous ajoutez 2? à ce dernier. Il donnera un résultat différent parce que vous divisez par 2 avant de l'appliquer. Donc, c'est mieux si vous utilisez cette formule pour l'écrire comme 2 ?−? Donc, c'est là que ce petit peu de confusion, est venu la dernière fois et il a semblé que les péchés n'ont pas fait plus d'une chose que je veux dire sur les quaternions et ensuite nous allons sur le prochain bit de sujets, souvenez-vous que nous avons ces 2 représentations différentes il y a 2 quaternions d'unité différents pour chaque rotation ce que nous pourrions dire sur les quaternions où sont situés sur la sphère d'unité les opposés droits sont appelés des points antipodes.
(Référez-vous à la diapositive: 06:45)

Donc, une chose qui se passe, c'est que vous faites tourner votre tête autour de vous et que vous avez un algorithme de suivi et qu'il se déplace essentiellement dans cet espace. Donc, cela nous laisse supposer que la sphère qui se trouve dans un espace de quatre dimensions, c'est une sphère de quaternion à 3 dimensions, et alors que vous déplacez votre tête autour de vous, vous déplacez essentiellement le long de la sphère d'une manière ou d'une autre, c'est une sorte de visualisation. Alors, imaginez que les quaternions changent. Donc, en fonction du temps que vous déplacez, c'est la transformation qui se déplace le long de cette sphère.
Maintenant, je peux le faire en tant que sphère, j'imagine qu'il a un équateur. Alors, que parfois je suis dans l'hémisphère nord et que parfois je suis dans l'hémisphère sud ce que cela signifie bien au-dessus de moi je pourrais dire qu'il est supérieur à 0 et en dessous je pourrais dire qu'il est inférieur à 0 où un souvenir d'un quaternion est a, b, c, d. Donc, je pourrais me déplacer et si je ne suis pas prudent si je commence à faire beaucoup de transformations comme le retour et la conversion, je devrais dire beaucoup de conversions si je fais beaucoup de conversions entre les rotations il peut être le cas que si je me transforme d'une façon et revenir, je pourrais tout d'un coup sauter à l'autre côté de la sphère et je pourrais conclure que quelque chose d'absurde s'est produit avec mon algorithme de suivi juste comment je suis arrivé de l'autre côté, ça ressemble à une énorme erreur, mais en termes de rotation il peut être exactement juste parce qu'il vient de sauter au point opposé.
Donc, ça cause beaucoup de problèmes et de confusion parfois encodant ces algorithmes et dans le traitement de ce genre d'algorithmes de suivi et beaucoup de transformations dans ces espaces. Donc, certaines personnes aimeraient dire que je vais interdire l'hémisphère inférieur, par exemple. Donc, je peux juste dire de rester loin d'ici et donc, que dès que vous descenez dans l'hémisphère nord dès qu'un est en train de changer et de devenir plus petit et plus petit si elle touche 0, vous pourriez passer au point antipodal et continuer à le faire, c'est logique. Donc, vous pouvez le garder coincé dans la partie supérieure de l'hémisphère nord de l'hémisphère nord dans ce cas si vous pouvez voir le nord comme une augmentation.
Donc, vous pouvez forcer à changer ; cependant, il y a encore des subtilités quand vous venez exactement à l'équateur parce que ce n'est pas très clair ce que vous pourriez faire ce que vous devriez faire exactement sur l'équateur parce que vous pouvez encore sauter au point antipodal le long de l'équateur lui-même et vous devrez peut-être protéger ça et diviser ça en deux et. Donc, alors que vous allez jusqu'à la dernière dimension restante. Donc, c'est un peu compliqué à l'équateur lui-même, mais je voulais juste souligner que ce 2 à une représentation que nous avons parfois cause de la confusion si vous faites des tests très simples comme à quelle distance sont ces 2 quaternions en utilisant une distance euclidienne simple.
Ils peuvent l'être. En fait, très très proches, mais ils apparaissent très éloignés et les tentatives de correction qui vont aider, mais vous devez être très prudents à leur sujet. Donc, ça aide à la visualiser sur une sphère que je pense et n'oubliez pas que c'est une dimension plus les questions sur ce droit. Donc, je vais passer au sujet suivant Je suis en train de monter les matrices de transformation homogènes aujourd'hui je veux vous rappeler quelques propriétés de matrices avant d'arriver à ce que j'ai mentionné la dernière fois, mais je vais rapidement les mentionner ici si je veux, par exemple, faire pivoter un point X, Y, Z. (Voir la diapositive: 09:55) Donc, je l'ai mis en forme de colonne verticale et ensuite j'applique une matrice de rotation à ce que je viens d'écrire en tant que R c'est ce que j'ai raison. Donc, je fais cette multiplication et je fais sortir le résultat si je veux ensuite appliquer une seconde transformation une seconde rotation au résultat de ce que la rotation sort ici correcte. Donc, si je voulais d'abord appliquer les rotations en multipliant les matrices, il est juste important de comprendre.
Donc, si j'étais à la place, d'abord faire ces multiplications et ensuite appliquer le résultat, il est juste important de comprendre que le premier qui se passe est R 1 s'applique et la seconde est R 2. Donc, ça va dans cette direction de droite à gauche et puisque dans beaucoup de langues, nous sommes une lecture très personnalisée de gauche à droite, ça ennuie les gens, c'est comme ça, ça fait un retour en arrière. Donc, c'est juste quelque chose à prêter attention à il est facile d'être confondu par ça et se rappeler que l'autre chose est que si vous voulez faire un inverse d'une chaîne de matrices.
(Voir Diapositive Heure: 11:03) Par exemple, si je veux avoir R 1, R 2, R 3 inverse vient de se rappeler et cela va devenir important alors que nous commençons à chaînage les matrices ensemble et si vous commencez à creuser dans le logiciel R 3 inverse R 2 inverse R 1 inverse et ceci est très facile à voir si je prends juste mes R 1, R 2, R 3 et j'applique cet inverse l'inverse d'après.
Donc, c'est la prochaine chose que je demande. Donc, un état qui va de ce côté. Donc, si j'applique cette inverse ici, j'ai R 1 inverse R 2 inverse R 3 inverse et vous pouvez suivre toutes ces annulations.
Donc, R 1 fois R inverse qui devrait être l'identité et puis l'ensemble s'effondrez ensemble, puis ces 2 annulez et puis il s'effondrez ensemble et ensuite ces 2 annulez et vous obtenez l'identité juste une matrice fois son inverse devrait vous donner l'identité. Donc, c'est ce que nous avons.

Alors, n'oubliez pas que la propriété basique de la montre en théorie de groupe qui est très générale. Donc, c'est la raison pour laquelle elle tient ici à cause de la non-commutativité, nous devons être très prudents, je vais vous donner un bon exemple de ça dans juste un petit peu de questions d'alright ont probablement vu ces choses avant quelque part, mais simplement en soulignant qu'elles deviennent importantes maintenant il peut ou pas été immédiatement utile à vous avant.

Virtual Reality Prof. Steve Lavalle Department of Applied Mathematics Indian Institute of Technology, madras Lecture-5-1 Geometry of Virtual Worlds (transformation homogène)
(Référez-vous à la diapositive: 00:15) Très bien, faisons des matrices de transformation homogènes, une des raisons pour lesquelles je veux sauter maintenant c'est que je veux combiner rotation et traduction, parce que j'ai besoin d'utiliser ces deux opérations pour pouvoir placer un corps rigide n'importe où j'aime dans le monde parce que souvenez-vous que ce sont les parties mobiles de notre modèle les modèles mobiles. Donc, une façon d'y parvenir est de faire tourner la rotation suivie d'une traduction.
Donc, en d'autres termes, j'ai mon point de transformation x prime, y prime, z prime en multipliant cette matrice de rotation R que je vais juste de nouveau pas écrire toutes les entrées impliquées juste placer des points ici. Donc, c'est une matrice de rotation valide, et puis X, Y, Z est mon point 3 D, où j'aimerais tourner nous sommes d'accord que c'est juste une rotation simple que nous avons fait avec la matrice, et maintenant j'ajoute à ça une traduction que je veux faire, j'utilisais cette notation la dernière fois qu'il était???? ??? ?? Pour la traduction. Donc, si j'avance et fais ça,

Je devrais être capable de générer n'importe quelle position et orientation pour le corps rigide, combien de degrés de liberté j'ai ici. Étudiant: 6.
6, correcte. Donc, j'ai 3 paramètres différents ici je peux appliquer pour la traduction, et ensuite j'ai 3 paramètres indépendants que je peux appliquer ici après avoir satisfait toutes les contraintes que j'ai donné la dernière fois pour un droit de rotation. Donc, ça donne un maximum de 6 degrés de liberté, encore une fois nous pourrions faire cette partie du calcul que nous utilisons des quaternions, mais je fais toutes les matrices aujourd'hui à ce stade à cause de certaines des transformations particulières que je vais commencer à faire. Il y a des questions intéressantes et sur le moment de convertir les quaternions et pourquoi à différents moments.
Donc, une chose à noter est que la partie rotation est une transformation linéaire standard, mais cette partie d'addition vient en dehors de ça parce que je ne multiplierai pas une matrice ici à droite. Donc, je ne multiplie pas et j'ajoute des matrices, je n'ai pas une équation simple de la forme y égale A x, j'ai ajouté un terme supplémentaire à ça. Donc, un truc simple que les gens aiment faire est d'étendre la matrice par une seule dimension, ajouter une autre ligne ajouter une autre colonne et ensuite vous pouvez obtenir cette expression dans un formulaire qui ressemble à ceci ou il n'y a qu'une seule matrice. Donc, c'est juste une sorte de hack mathématique ou algébrique, et nous finissons par obtenir quelque chose d'équivalent algébrique.
(Référez-vous à la diapositive: 03:17) Alors, laissez-moi vous dire qu'il n'y a pas de véritable magie à l'autre que de reconnaître simplement qu'elle calcule de façon algébrique la même chose. Il y a des interprétations plus profondes à faire avec la géométrie projective, mais je n'ai pas besoin d'y aller pour cette partie. Donc, nous faisons une matrice de 4 par 4 qui est algébriquement équivalente lorsqu'elle est appliquée à un point. Donc, ce que je fais c'est que je prends mon x, y, z point par ici, quand je viens d'appliquer la rotation et la traduction de la façon standard mon point est juste x, y, z, ici je vais étendre le vecteur par une dimension et juste en mettre un à la fin. Donc, je vais avoir le point de vue comme ça, je vais en mettre un à la fin, mais je vais juste savoir que c'est quelque chose de plus que je suis en train d'utiliser pour réaliser une astuce algébrique.
Donc, je ne suis pas vraiment en train d'augmenter la dimension du point lui-même, et ensuite je vais calculer quelques x prime de premier et premier choix z et les résultats vont être un pour ça, et maintenant ont une matrice de 4 par 4, et le haut de la partie supérieure gauche 3 par 3 sera juste la matrice de rotation. Donc, ce sera la matrice de rotation R qui vient juste de la copier exactement d'ici et de la placer dans, et ensuite je vais prendre mes pièces de traduction et les mettre ici??????? Et la rangée du bas va ressembler à la pièce de la matrice d'identité.
Donc, ce serait 0 0 0 1 et ensuite je vais appliquer cette matrice à mon nouveau vecteur 4 dimensions x y z 1. Donc, j'avance et je fais cette multiplication maintenant, croyons-nous que nous obtenons le même résultat que celui que nous aurions de réaliser ce droit de multiplication.

Ça ne devrait pas prendre trop de voir l'algèbre de ça par exemple, si je regarde simplement le calcul de x prime, j'ai obtenu la ligne supérieure de la matrice de rotation la première ligne de la matrice de rotation appliquée à cette colonne x, y, z ici à droite. Donc, ça me donne exactement la partie de rotation, et puis parce que je porte cette partie le long de là, je suis parce que je suis en possession de celle-ci, celle-ci va se multiplier avec ce x t et l'ajouter juste quand je prends ce produit intérieur entre cette rangée de 4 dimensions, dans cette colonne de 4 dimensions que j'ajoute à cela?? C'est exactement ce que je suis ici que je viens d'ajouter à cela?? Pour la traduction.
Donc, ce n'est qu'un simple hack qui le transforme en ce qu'on appelle une forme homogène. Donc, il s'agit d'une transformation linéaire homogène et si par la façon dont vous voulez ajouter une partie supplémentaire à l'endroit où il y a un vecteur de décalage, il s'agit alors d'une transformation affine. Il a des propriétés très différentes et parfois il est difficile de travailler avec et vous savez juste algébriquement un peu de différence. Donc, si vous voulez commencer à chaînage les matrices ensemble, et qu'il y a des traductions et des rotations qui se produisent tout le temps, alors vous n'avez pas à changer d'opération, vous n'avez pas à ajouter parfois sur un vecteur parfois multiplié par une matrice. Si vous utilisez des matrices de transformation homogènes, vous ne pouvez toujours que multiplier les matrices pour réaliser à la fois des rotations et des traductions.
Donc, ça fait que les gens très gentil qui travaillent dans des infographies qui veulent coder des algorithmes très efficacement et dire des GPU, voudraient utiliser le même code ou les mêmes circuits que nous disons encore et encore. Donc, c'est une autre motivation pour mettre tout en une seule forme standard et juste faire la même algèbre à chaque fois. J'ai une question intéressante pour vous. Maintenant, quel est l'inverse de ce droit. Donc, c'est une matrice de transformation homogène ce 4 par 4, qui effectue la rotation suivie par la traduction. Bien avant que je ne m'interroge complètement sur l'inverse avant de répondre que nous devrions aussi comprendre ce qui est l'axe de rotation ici tout à fait.
Donc, si je traduis d'abord, puis que je tourne, c'est la même que la rotation, puis la traduction, pas vrai. Donc, si je traduais d'abord, j'ai effectivement déplacé l'axe de rotation. Donc, vous pouvez faire que vous pouvez toujours aller chercher des choses de cette façon ; nous allons le faire et être plus facile à interpréter la façon qui est d'appliquer la rotation d'abord, que lorsque nous pensons à la représentation de l'angle de l'axe, nous tournons exactement autour de cet axe dans la représentation de l'angle de l'axe.
Donc, vous prenez le livre ici. Donc, si nous sommes si c'était l'origine, vous avez d'abord appliqué la rotation et ensuite traduit quelque part. Si vous étiez le premier à le traduire quelque part, alors la rotation serait compensée par un peu de droite selon l'ampleur de ce déplacement qui a été induit par la traduction. Donc, c'est quelque chose à faire attention à l'aldroite. Donc, ces opérations ne commute pas.
Donc, si je prends l'inverse, j'ai besoin d'y prêter attention.
(Référez-vous à la diapositive: 08:54) Donc, juste quelque chose pour vous avertir de et donc, qu'est ce que T inverse et je n'ai pas écrit exactement ce que T est ; T est cette matrice 4 par 4. Donc, dira T est la matrice 4 par 4.
Donc, cette partie ici qui n'est que la matrice T ; donc, ce qui est l'inverse de T laisse-moi écrire un candidat pour ça. Donc, est l'inverse de T égal à bien pourquoi ne pas juste inverser la matrice de rotation ce qui est l'inverse d'une matrice de rotation. Étudiant: (voir Heure: 09:37). Juste la transposition. Donc, ceci ne se produit que pour ce que l'on appelle des matrices orthogonales ; et des matrices orthogonales sont aussi susceptibles de vouloir les appeler matrices orthonormales, parce que les colonnes sont aussi normalisées. Donc, non seulement ils sont des colonnes orthogonales, mais les longueurs sont normalisées aussi bien que la grandeur des vecteurs de colonne. Et donc, si je fais ça, je pourrais peut-être nous laisser dire de prendre le 3 par 3 ici et je vais juste mettre R transposer ici, parce que R transposer égale R inverse qui ne fonctionne pas pour les matrices générales, mais ça marche ici.
Donc, nous pouvons aller de l'avant et le faire, et maintenant, voyons pourquoi ne pas simplement annuler la traduction. Donc, je pourrais bien que c'est la traduction inverse. Si j'avance à cinq mètres, l'inverse est en marche arrière de 5 mètres. Alors, pourquoi ne pas le nier. Donc, je peux aller moins x t moins y t moins z t et puis je termine le reste de cette matrice 0 0 0 1 comment c'est que l'inverse. Étudiant: Non, pourquoi pas?
Étudiant: En cas de tout (voir le temps: 10:48). Ok, très bon. Donc, les opérations dans le mauvais ordre ici. Donc, si vous appliquez cette matrice, elle va commencer par unrotation, puis untranslate droite, ou la première rotation inverse si vous voulez et puis inverse la traduction qui semble bien, sauf pour ce point que j'ai fait un peu plus tôt quand vous avez une algèbre non commutative vous devez permuter l'ordre des opérations, lorsque vous prenez un droit inverse, vous devez inverser l'ordre des opérations. Donc, ça ne va pas fonctionner. Donc, la réponse est non pour ça.

Alors, écrivons ce que l'inverse est en fait, il est très utile d'observer ce genre de choses quand vous écrivez du code, quand vous faites du développement pour ces systèmes, je l'ai trouvé très utile moi-même quand faire du développement et oculus juste être très rapidement capable de trouver des inverses changer l'ordre des opérations réparer différents types de bugs qui se produisent. Très souvent, vous pouvez obtenir des choses qui fonctionnent la plupart du temps, puis faire quelque chose de catastrophe de façon catastrophique comme peut-être le lacet et le pas sera aligné correctement et ensuite le rouleau est en arrière pour une raison quelconque.
Donc, beaucoup de choses se passent comme ça, et ce sont les sortes de trucs que je pense que c'est utile le genre de points de vue que nous disons, qui sont utiles qui peuvent vous sauver beaucoup de temps en difficulté.
(Référez-vous à l'heure de la diapositive: 12:01) Si nous allons à l'inverse, pour la première chose que j'aimerais faire, c'est d'annuler le droit de traduction parce que c'est la dernière chose qui a été appliquée. Donc, pour annuler la traduction que je vais mettre ici, je vais faire une matrice qui annule la traduction. Si je veux faire une matrice parfaite qui ne fait pas la traduction, qu'est-ce qui devrait se passer ici?
La rotation d'identité, qui ressemble aussi au reste d'une matrice d'identité, de sorte que tout simplement la traduction qui s'applique en premier, mais n'oubliez pas que je vais de droite à gauche, c'est pourquoi j'ai fait un gros travail à partir de ça aussi. Donc, nous sommes de droite à gauche qui s'applique d'abord, puis nous venons ici, et dans ce cas nous annulons la rotation. Donc, j'ai ma R transposer ici et puis je réparais le reste de cette matrice ici, je ne ferais mieux aucune traduction ici maintenant, il s'agit d'une rotation pure. Donc, je mets des zéros et je complète le fond de la même façon toujours pour ces derniers, je n'ai pas besoin de le multiplier et de le simplifier vous pouvez aller de l'avant et faire qu'il n'y a pas que vous savez que c'est une matrice assez générique ici de toute façon. Alors, j'aime le garder sous cette forme. Donc, une fois encore pour résumer T est la rotation, alors la traduction appliquée à un point et T inverse est la translation inverse, puis la rotation inverse.

Des questions à ce sujet.
Virtual Reality Prof. Steve Lavalle Department of Applied Mathematics Indian Institute of Technology, Madras Lecture-5-2 Geometry of Virtual Worlds (la chaîne d'affichage des transformations)
La partie suivante des transformations que je veux obtenir est appelée les transformations de visualisation. Je veux construire assez de transformations. Donc, que nous pouvons placer nos modèles dans le monde, et aussi définir la partie stationnaire du modèle dans le monde. Et puis comprendre comment il devrait regarder sur l'écran sur la base de la façon dont nous regardons avec nos yeux.
Donc, je dois passer par beaucoup de transformations à faire, que ce n'est pas une partie de l'infographie, mais c'est un pas vers, qu'il ne parle pas vraiment de comment rendre les pixels nous laisser dire, ce que j'ai juste besoin de savoir quels points dans mon monde devraient apparaître à un endroit particulier sur mon écran. Alors, comment puis-je appliquer toutes ces transformations? Donc, c'est la prochaine partie que je vais faire, si vous avez eu une classe d'infographie avant que vous ne pariez sans doute à travers cette chaîne de transformations avant.
(Heure de la diapositive: 01:06)