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

    +

Virtual Reality Prof. Steve Lavalle Department of Applied Mechanics Indian Institute of Technology, Madras Lecture-03 Geometry of Virtual Worlds (modélisation géométrique)
Bonjour, bienvenue à la conférence suivante. La dernière fois que je vous ai donné une introduction au cours et j'ai fourni une vue de l'œil d'oiseau, qui était une vue d'ensemble du matériel, des logiciels, des sensations et des parties de perception de la réalité virtuelle. Donc, au cours de la partie logicielle 1 des choses clés, j'ai mentionné était le générateur alternatif du monde. Alors aujourd'hui, je veux aller dans les mathématiques de base, les types de modélisation et les transformations que nous devons faire pour mettre en place un alternateur mondial. (Référez-vous à la diapositive: 00:49) Ainsi, les conférences d'aujourd'hui seront plus fondamentalement axées sur la modélisation géométrique des mondes alternatifs. Donc, le alternateur mondial, en quelque sorte, doit simuler ou reconstruire une sorte de monde. Donc, il peut simuler un monde virtuel. Il a la géométrie, il a la physique et la géométrie et la physique doit être raisonnable pour votre cerveau, doit sembler raisonnable à votre cerveau ou à votre perception quand vous utilisez la réalité virtuelle ; quand vous êtes dans ce genre d'expérience. Donc, il se peut que nous simulions un environnement virtuel ou que vous capoiez un environnement physique réel d'une manière ou d'une autre, il pourrait être très loin ou il pourrait être enregistré, ou les deux, et vous transmettez ça à travers ce type d'écran monté en tête.
Et cela fournit un autre exemple de réalité virtuelle. Donc, nous avons aussi laissé W être un monde 3D. (Référez-vous à la diapositive: 02:02) Donc, je veux dire que W est un sous-ensemble de R 3. Donc, je vais commencer à faire des mathématiques dans les coordonnées cartésiennes sur les Reals en 3 dimensions. Je veux dire définir un système de coordination. Donc, nous aurons X aller horizontalement, nous aurons un axe Y allant vers le haut et nous avons Z venant du conseil d'administration fait d'une façon. Donc, que nous avons un système de coordination adéquat.

Chaque point dans? 3, (?,?,?)??
Donc, je préférerai et utiliser les systèmes de coordonnées drogues-là tout au long de la représentation graphique et de rendu il est parfois préférable d'utiliser des systèmes de coordonnées gaufis et en direct X, si vous faites des programmes en ce que sa gauche vous a remis si vous faites des programmes dans beaucoup d'autres systèmes, c'est la main droite, mais la plupart des maths et de la physique sont orientées droit. Donc, je veux rester en maths de cette façon ; je vais aussi suivre les conventions utilisées dans l'industrie du jeu et dans la plupart des graphiques qui sont que l'axe Y est en hausse dans la majeure partie de l'ingénierie. Je pense que l'axe Z est en hausse, mais nous allons rester cohérents avec ça. Donc, que ce que vous appliquez à partir des moteurs de jeu et des choses connexes, il finit par être cohérent. Donc, c'est un monde à 3 dimensions et donc, chaque point dans ce monde a des coordonnées x, y, z élément de W. Donc, j'aurais juste que je vais décrire des points avec x, y, z coordonnées. (Voir Diapositive Heure: 03:54) Donc, le monde a deux types de modèles. La première grande distinction que je veux faire ici, c'est 1, nous avons des modèles stationnaires. Donc, cela signifie que le nom implique qu'ils ne bouent jamais. Donc, ceci peut correspondre à des bâtiments, des murs, des arbres en supposant que les arbres ne sont pas en train de balayer dans le vent, donc, donc. Pensez aux choses que lorsque vous les mettez dans le monde, elles restent fixes tout le temps. C'est le cas le plus simple ; dans ce cas, ils sont décrits dans le cadre de coordination mondiale.
(Référez-vous à l'heure de la diapositive: 04:50)

Et donc, nous pouvons juste monter ces x, y, z les coordonnées pour tous les points que nous voulons décrire pour les modèles stationnaires et les laisser seuls tout le temps. Une chose que je devrais dire, si vous construrez un monde virtuel, je vous recommande fortement d'escalajouter ces axes d'une manière qui correspond parfaitement au monde que vous êtes en train de faire.
Donc, je vous recommande fortement, par exemple, si vous utilisez le système métrique, puis, mesurez tout en mètres ou en centimètres, peu importe ce que vous voulez utiliser. Donc, vous pouvez toujours vous souvenir de ce que la correspondance d'échelle est entre votre monde virtuel et le monde réel. Sauf si vous faites des expériences de VR intéressantes où vous voulez changer votre échelle entièrement qui est intéressante par elle-même. Je préfère le faire comme une autre transformation que vous appliquez à cela. Il est très agréable et utile de garder la numérotation ici, disons en accord avec les mesures dans le monde réel.
Donc, si vous dessez une chaise par exemple, la chaise finit par être la bonne taille, si vous essayez de capturer une chaise du monde physique et de l'amener dans le monde virtuel. Vous n'avez pas à l'étudier, regardez ça vous finissez avec des problèmes de perception d'échelle et ça devient très difficile. Donc, c'est bien de garder ces coordonnées comme ça, de les allumez comme elles seraient dans le monde réel. Donc 2, les autres types de modèle à l'intérieur du monde sont des modèles mobiles et dans ce cas ces modèles ont un espace de transformations possibles, l'espace de transformations possibles, vous écrivez ça ici. (Référez-vous à la diapositive: 06:47)

Donc, ceci peut correspondre à beaucoup de choses mobiles, ce pourrait être les représentations avatars de vous-même, tout ce qui se déplace autour d'autres personnages, les animaux, les balles en mouvement, les feuilles de soufflage, toutes sortes de choses et généralement celles-ci sont composées de corps rigides. Alors, imaginez qu'il y ait une bande de corps rigides attachés ensemble. Donc, généralement, composé de corps rigides dont chacun est défini dans son propre corps.
Donc, nous n'utiliserons pas directement le cadre de coordination du monde, mais chaque corps aura son propre cadre et ensuite, nous allons imaginer un modèle mobile comme une collection d'un ou plusieurs corps rigides. Donc, ils pourraient être attachés ensemble, comme un squelette humain, disons, où nous avons chaque corps rigide peut correspondre à un lien particulier et les liens sont tous unis par des joints et nous finissons avec une sorte de structure mobile.
Ça pourrait être un seul corps rigide qui se déplace tout simplement à travers l'espace, peut-être que vous avez une chaise qui peut être déplacée. Donc, il est rigide par lui-même, mais c'est un corps mobile ; le personnage peut être capable de s'emparer de la chaise et de le déplacer quelque part.
Donc dans ces cas, nous devons parler d'un espace de transformations possibles qui peuvent être appliquées, afin de faire que nous démarrons en le décrivant dans le cadre du corps.
(Référez-vous à la diapositive: 08:44)

Nous avons donc en général deux choix de modélisation ; lorsque nous faisons des modèles géométriques de ces corps qui sont dans le monde, qu'ils soient fixes ou mobiles. (Reportez-vous à la page Heure de la diapositive: 09:00) Indique si elles sont fixes ou mobiles. 1, le choix est d'avoir ce qu'on appelle une représentation solide et la deuxième, c'est ce qu'on appelle une représentation de la frontière.
Donc, dans le cas de la représentation solide, nous avons des primitives tridimensionnelles et ainsi, l'unité de description la plus basique que nous avons représente une partie du monde ou de l'organisme à 3 dimensions. Et dans le cas de la représentation de la frontière, nous avons des primitives 2D. Et il y a beaucoup de détails à cela, beaucoup de complications techniques intéressantes et beaucoup de problèmes sont basés sur la représentation que vous choisissez, vous résolrez certains problèmes et ensuite d'autres problèmes apparaissent.
Et je vais vous donner un peu de détails sur ce point aujourd'hui, mais je ne le couvrerai pas en détail. Donc, une chose à penser à propos de cela est de penser aux obstacles et à la détection des collisions. Dans le monde réel quand je vais jusqu'à ce tableau, ma motion est physiquement obstruée. Donc, c'est une sorte d'obstacle. Si j'ai mis ce bloc-notes devant moi, j'ai aussi une obstruction visuelle, et vous pourriez en avoir 2. Je pourrais avoir un peu de brouillard qui n'entrave pas ma motion, mais ça fait juste obstacle à ma visibilité. Je pourrais avoir un exemple d'obstacle qui entrave ma motion, mais pas la visibilité. Étudiant: Glass Glass, très bien. Donc, je peux regarder par le verre et je suis obstrué peut être surpris par ça. Donc, ce sont deux types différents d'obstructions que vous pouvez modéliser ces choses et les représenter. Je n'ai pas encore parlé de rendu ou de graphisme ; nous allons devoir nous rendre à cette partie, lorsque nous parlons de dessiner le monde d'une manière et de la présenter de manière à ce qu'il soit approprié pour votre vision, nous n'en sommes pas encore là, nous sommes juste en train de décrire la géométrie du monde.
(Reportez-vous à la page Heure de la diapositive: 11h34) Donc, en ce qui concerne ces 2 choix en ayant 1, le corps nous a laissé dire représenté comme celui-ci et j'ai un autre corps qui est ici. Dans ce cas, je dirais qu'ils sont en collision parce qu'ils se croisent à droite, il y a une intersection non vide. Si j'ai une sorte de représentation solide, je ne le fais que dans deux dimensions. Par conséquent, la représentation solide semble 2D et une représentation de limite devrait avoir l'aspect 1D.
Donc, si je pense seulement à les représenter par leurs limites, juste le périmètre extérieur de la tache jaune et la tache blanche. Ensuite, ces points s'entrecentront également sur ces points. Donc, si j'allais faire une sorte de test d'intersection, je ne pouvais regarder qu'à la limite peut-être que je le briserai en petits segments de ligne et je fais des tests de segment de ligne ou peut-être que j'obtiens un peu plus d'astuces avec l'algèbre, je réalise que ce sont des cercles.
Donc, je pourrais faire quelques tests d'intersection, mais que se passe-moi quand j'ai cette affaire? Donc, dans ce cas, si j'utilise une représentation solide, je peux être en mesure de le dire très rapidement en fonction de la façon dont j'ai décidé de le représenter ; que le disque jaune est en fait, à l'intérieur du disque blanc.
Mais si j'ai une représentation limite, il n'y a pas d'intersection entre les limites. Et donc, il est juste quelque chose de très important à penser qu'il y a une sorte de sens derrière ces représentations.
(Référez-vous à la diapositive: 13:26)

Et c'est un peu implicite, et ensuite, au fur et à mesure que vous commencez à vous développer, vous réalisez certaines des lacunes et des problèmes. Permettez-moi de vous donner un exemple qui est un peu pire. Il se peut que j'ai une représentation aux limites et qu'il y ait des erreurs un peu.
Donc, c'est la représentation de la frontière que j'ai, d'un objet ou d'un corps et bien peut-être que l'autre va bien et ressemble à ça. Donc, c'est la représentation liée de celle-ci et j'essaie encore d'inférer si ce disque jaune est à l'intérieur ou à l'extérieur du disque blanc.
Et il se peut que j'ai un disque parfaitement défini ici, mais ici parce que j'ai ces pauses, je ne suis même pas sûr qu'il y ait une notion bien définie de l'intérieur ou de l'extérieur. Qu'est-ce que cela signifie d'être à l'intérieur ou à l'extérieur de cela? Comment pouvez-vous définir cela? Si c'est une courbe fermée alors, par le Jordan Curve Theorem, il y a un intérieur et un extérieur et c'est tout ce qu'il y a de très jolièrement cloisons de l'espace en 2 régions. Mais quand il y a cette pause ici, elle n'est pas très bien définie et vous pouvez imaginer que la même chose arrive en 3 dimensions et c'est bien pire et vous devez penser à d'où vient votre modèle?
Si vous dessinez-vous le modèle vous-même peut-être à l'aide d'un outil de conception, peut-être en utilisant Maya ou blender et que vous utilisez vos propres modèles, vous pouvez peut-être obtenir tout ce qui est très cohérent ; c'est ce qu'on appelle la cohérence du modèle où cet exemple particulier que j'ai donné a un manque de cohérence, vous voulez dire qu'il s'agit d'une courbe fermée, mais qu'elle finit par se briser.
Donc, vous devez vous demander quelle est la cohérence ou la cohérence du modèle ; si vous extrayez ce modèle à l'aide de caméras de profondeur, peut-être que vous avez des algorithmes de vision d'ordinateur en cours d'exécution, vous obtenez également des informations de profondeur, vous essayez de construire une sorte de description de la surface. Qu'en penses-tu? Il y a des chances qu'il y ait peu de trous dans vos données. Et ça va faire le désordre.
Donc, vous devrez peut-être faire beaucoup de travail pour construire un modèle cohérent vous avez peut-être encore plus de travail peut-être pour construire une belle représentation solide de ça, mais quand vous faites ça alors il sera plus facile de déterminer les collisions. Donc, ce ne sont que quelques-uns des types de difficultés que vous rencontrez aussi parce qu'il est difficile de savoir de quel côté vous êtes sur ces morceaux de frontière ; il est parfois difficile de rendre des surfaces en infographie parce que vous ne savez pas si la surface normale que vous voyez est de pointer à l'extérieur ou à l'intérieur de l'objet pour rendre beaucoup de difficultés avec ça.
Si vous vous rendrez de votre propre compte, il arrive souvent que des erreurs se présentent parce que les normales de surface pointant dans la mauvaise direction. Il s'agit donc de choix différents au plus haut niveau. Je ne vais travailler qu'avec les représentations de Boundary, même si je pense que les représentations solides sont plus propres de bien des façons. L'une des raisons pour lesquelles nous devrions parler des représentations aux limites, c'est parce que c'est ce qui se fait principalement dans les moteurs de jeu, jusqu'aux GPUs. Donc, les unités de traitement graphiques qui sont dans nos ordinateurs sont conçues pour les représentations aux limites et en particulier les représentations qui sont faites de triangles 3D. Alors, pourquoi ne choisissons-nous pas les représentations de frontières les plus simples et les primitives à 2 dimensions seront des triangles qui s'assoient dans un espace de 3 dimensions.
Donc, je les appelle 2D parce qu'il s'agit d'un triangle de 2 dimensions ; il ne s'agit pas d'un simplex à 3 dimensions ou d'une pyramide de quelque sorte qui est assis dans l'espace ; il s'agit d'une surface de 2 dimensions qui se trouve dans un espace de 3 dimensions.
(Voir Heure de la diapositive: 16:43) Il s'agit donc d'une primitive 2D. Alors, utilisons un triangle de primitives. Donc, pour décrire un triangle, on peut dire bien que nous entendons généralement cette surface en 2 dimensions. Il est supposé être linéaire comme faisant partie d'un plan.
Et donc, tout ce que vous devez définir sont les sommets du triangle: Donc, je peux commencer à définir des triangles comme ça. Si je les mets dans le monde, je les définit dans le monde de coordonnées de modèles fixes et encore, s'il s'agit de modèles mobiles, alors, nous les définissons dans le cadre du corps et ensuite je vais dire ce qu'il faut faire plus tard sur la façon de les transformer. Il y a aussi quelques astuces communes pour coller ensemble des triangles afin d'économiser de l'espace et de rendre les structures de données plus efficaces pour accéder à tous les triangles d'une manière rapide.
(Référez-vous à l'heure de la diapositive: 18:10)

Et une chose qui peut arriver est que les triangles peuvent être collés ensemble pour former des bandes. Donc, vous pourriez avoir une bande de triangles et effectuer des opérations sur ce ou plus généralement vous pouvez trouver les triangles sont mis ensemble dans une sorte de maillage et il y a toutes sortes de questions intéressantes en termes de quel genre de propriété nous devons maintenir dans ce maillage afin de faire les calculs que nous effectuons plus tard.
Si nous étudions ou nous disons résoudre des problèmes de rendu pour déterminer ce que devrait être l'éclairage à la surface, nous aimerions n'avoir pas trop de triangles, nous aimerions aussi représenter la surface très bien. S'il a beaucoup de courbure nous pourrions avoir besoin de rendre le triangle plus petit, nous aimerions aussi éviter d'avoir des triangles très minces. Si nous capturons une surface à partir d'une caméra de profondeur, comment construisons-nous une belle représentation de ceci et il y a beaucoup d'algorithmes dans le domaine de la géométrie algorithmique.
Vous pouvez étudier ces personnes sont très intéressées à commencer à partir de données brutes, puis à construire de jolies représentations de surface comme ces représentations de Boundary, en particulier, ne pas avoir de trous incorrects dans les données. Donc, quand vous les mettez ensemble, lorsque vous faites des bandes ou des mailles si le modèle est cohérent, beaucoup de sommets sont partagés. Ainsi, cela réduit la quantité globale de stockage des données et il y a ici des contiguïtés très clairement définies entre les triangles. Ainsi, vous pouvez créer des structures de données avec des pointeurs qui se déplacent.
Un exemple est une liste d'arête doublement connectée que j'ai développée ou que vous pouvez très rapidement propager et propager des calculs sur ces surfaces que vous pourriez avoir à faire. Donc, c'est à peu près tout, je dirai à propos de la modélisation de base et des primitives, y a-t-il des questions à ce sujet.

Virtual Reality Prof. Steve Lavalle Department of Applied Mechanics Indian Institute of Technology, Madras Lecture-3-1 Geometry of Virtual Worlds (Transforming Models)
Je veux maintenant passer à la transformation de modèles. Donc, je veux parler de la transformation des corps rigides.
Donc, je vais passer un peu de sujets en évolution, je vais effacer ici. (Référez-vous à la diapositive: 00:26) Transformez des corps rigides ; vous avez probablement tous eu une certaine expérience de la transformation des corps. Vous avez peut-être déjà effectué des traductions et des rotations dans d'autres sujets que vous avez étudiés. Ce qui pourrait ne pas être aussi familier, c'est de penser à l'espace de toutes les transformations qui pourraient être appliquées et de représenter celles d'une manière ou d'une autre ou d'effectuer une estimation de la conception de filtres sur l'espace de toutes les transformations. Donc, c'est beaucoup plus complexe et mon objectif est de le rendre clair et simple aujourd'hui. Donc, je veux essayer d'expliquer certaines de ces choses sur l'espace de toutes les transformations.
Pour ce qui est de la raison de la transformation, je voudrais revenir à la dernière conférence que nous avons. Alors, pourquoi y a-nous des transformations? Eh bien, il devrait être clair dans le cas des modèles mobiles dont je viens de parler. Mais il y a un autre cas que je pense lié très bien à nos conférences de la dernière fois qui est la perception de la stationnarité. Donc, c'est quelque peu contre-intuitif. Donc, j'ai besoin d'effectuer des transformations parce que j'ai besoin de dédéplacer quelque chose qui a changé. Maintenant, voici l'idée. Donc, je vois tous ceux d'entre vous aujourd'hui dans le monde réel quand je tourne la tête que vous vous déplacez de façon appropriée, de la façon que je connais de tous les droits à l'égard de ma tête, vous êtes essentiellement contre la rotation dans la direction opposée. Donc, si je conçais un système de réalité virtuelle, supposons qu'il s'agit d'une grotte comme système ou qu'il s'agit d'un système audio surround, il est fixé au monde. Donc, quand je tourne la tête, le stimulus est contre-tournant de façon appropriée.
Maintenant, si je monte le stimulus sur ma tête si je porte des écouteurs ou des téléphones yeux que j'ai une tête montée, disons, maintenant, quand je tourne la tête, le stimulus va malheureusement le suivre. Donc, si je veux simuler la stationnarité, si je veux simuler le stimulus étant fixé au monde extérieur, je dois faire une contre-rotation. Cela a-t-il du sens? Donc, ça confond beaucoup les gens. Donc, vous finez par appliquer une transformation inverse pour simuler la stationnarité. Nous avons parlé du réflexe vestibulo-oculaire qui va de l'avant, comme celui-ci, où c'est une autre sorte de perception de la stationnarité où votre corps est conçu pour faire tourner vos yeux contre la rotation par rapport à votre tête.
Maintenant, nous sommes en train de concevoir un système de réalité virtuelle monté. Ainsi, lorsque vous montez un stimulus à votre corps, vous devez compenser les transformations que votre corps accomplit. Vous devez les annuler et en tenir compte. J'espère le faire avec un temps de latence très faible. Donc, que votre cerveau ne devient pas un droit confus, cela devient alors une entrée inconnue.
Donc, nous avons besoin de faire tourner le stimulus monté plus généralement plus général que le contre-rotation est une transformation inverse et parce que nous devons faire que cela nécessite de suivre ou de filtrer l'estimation de ce que vous voulez appeler, nous avons besoin d'utiliser des capteurs et d'estimer le mouvement qui s'est produit du corps humain, puis quand nous sommes en train de comprendre ce que cette transformation a été que nous appliquons l'inverse de ça pour compenser à nouveau cette grande idée de la perception de la stationnarité, c'est logique. Donc, ce sont deux raisons pour lesquelles nous étudions les transformations aujourd'hui. Le premier est un peu évident, les modèles se déplacent dans le monde. Mais le second est un peu moins évident est de vous donner la perception de la stationnarité pour vous faire croire que le monde extérieur est en fait, pas en mouvement. Bien sûr, ces deux choses pourraient se produire ensemble, ce qui compliquait la tâche.
(Référez-vous à la diapositive: 04:48)

Donc, en transformant des corps rigides, imaginons transformer chaque sommet de chaque triangle simple comme ça. Il va y avoir 3 cas que je couvre aujourd'hui ; 3 cas, nous avons l'affaire facile qui est la traduction et dans ce cas je vais passer et je vais parler du nombre de degrés de liberté. Donc, les DOFs en 2D et 3D, pour la traduction seulement nous avons 2 degrés de liberté en 2D et nous avons 3 degrés de liberté en 3D et c'est vraiment mathématiquement le cas le plus facile à définir pour comprendre, pas de problèmes vraiment. Le cas plus difficile sera une rotation qui, en 2D, est très facile.
Combien de degrés de liberté avons-nous pour la rotation 2D?
Élève: 1. Seulement 1 et en 3 dimensions nous avons 3 et c'est la partie où ça devient plus difficile. Donc, les choses sont un peu plus compliquées. Il n'est pas difficile d'appliquer une matrice de rotation et de voir le résultat, mais c'est beaucoup plus difficile à cause de l'espace de toutes les rotations 3D. Donc, ça finit par être considérablement compliqué, j'espère vous en convaincre et vous montrer quelques types de problèmes, puis vous aider à vous apprendre à faire le tour des problèmes et à faire les choses de manière agréable pour que vous ne finiez pas avec une malheureuse difficulté plus tard. Et puis le cas le plus difficile qui n'est pas beaucoup plus difficile que la rotation 3D est que nous les mettons ensemble. Donc, vous obtenez une rotation suivie de la traduction. Donc, une fois que j'ai ça, je peux mettre un corps rigide dans n'importe quelle configuration que j'aime. Je peux le traduire et je peux le faire tourner. Donc, je peux le placer n'importe où dans le monde sans déformer le corps.
Ce sera une propriété très importante, c'est pourquoi nous écrivons le mot rigide ici, cela signifie que le corps lui-même n'est pas déformé il se fait traduire et tourner, ne signifie pas qu'il est rigidement attaché au sol. Cela signifie simplement que le corps lui-même est rigide à l'interne. Donc, toutes les distances entre les paires de points restent préservelles, et ainsi de suite, il y a plus que ça, mais j'y vais bientôt. (Référez-vous à la diapositive: 07:28).
Donc, tout ce que nous faisons, c'est ajouter les degrés de liberté ici. Ainsi, nous obtenons 3 degrés de liberté en 2D et 6 degrés de liberté par corps rigide en 3D pour les modèles tridimensionnels. Donc, c'est le cas que nous allons gérer bien sûr, le plus souvent parce qu'une réalité virtuelle à 2 dimensions n'est pas très intéressante et à y penser.
(Référez-vous à l'heure de la diapositive: 08:05) Donc, commençons par le cas très simple pour être complet et cohérent, même si celui-ci doit être si simple que vous pourriez être un peu ennuyeux. Donc, traduction ; supposons, nous voulons simplement déplacer le triangle par un certain montant, je l'écrira comme X sous t pour la traduction, Y sub pour la traduction et Z sous t pour la traduction. Donc, nous voulons le déplacer d'une certaine quantité. Donc, on prend juste les coordonnées du triangle. Je ne pense pas que je veuille écrire toutes les 3 coordonnées, il suffit de choisir l'une des coordonnées ici et nous l'appellerons?????? ?et donc, si nous voulons prendre ce point et le traduire, alors nous appliquons juste la transformation suivante que nous prenons?????? Et la transformer en?? -???? -???? +?? Encore une fois très simple, nous ne nous en faites qu'une traduction, et bien sûr, je veux dire i que je pourrais être 1, 2 ou 3, si nous numérotons seulement ces 3 points différents? 1,? 1,? 1,? 2,? 2,? 2 et? 3,? 3,? 3. Donc, c'est le cas facile, tout le monde est d'accord pour dire que c'est très simple. Tu aurais dû faire ça quelque part avant.
Donc, si c'est le cas alors la quantité de translation qui est réalisée lorsque nous déplacons le triangle ailleurs suppose que ce triangle est déplacé ici, après avoir effectué la transformation, alors la quantité de déplacement par exemple, le long de la direction x ici serait??. Donc, c'est tout ce que nous faisons ici pour le traduire. Questions à ce sujet, pas très ici pour en parler. Réalité virtuelle Prof. Steve Lavalle Department of Applied Mechanics Indian Institute of Technology, Madras Lecture-3-1 Geometry of Virtual Worlds (Transforming Models)
Je veux maintenant passer à la transformation de modèles. Donc, je veux parler de la transformation des corps rigides.
Donc, je vais passer un peu de sujets en évolution, je vais effacer ici. (Référez-vous à la diapositive: 00:26) Transformez des corps rigides ; vous avez probablement tous eu une certaine expérience de la transformation des corps. Vous avez peut-être déjà effectué des traductions et des rotations dans d'autres sujets que vous avez étudiés. Ce qui pourrait ne pas être aussi familier, c'est de penser à l'espace de toutes les transformations qui pourraient être appliquées et de représenter celles d'une manière ou d'une autre ou d'effectuer une estimation de la conception de filtres sur l'espace de toutes les transformations. Donc, c'est beaucoup plus complexe et mon objectif est de le rendre clair et simple aujourd'hui. Donc, je veux essayer d'expliquer certaines de ces choses sur l'espace de toutes les transformations.
Pour ce qui est de la raison de la transformation, je voudrais revenir à la dernière conférence que nous avons. Alors, pourquoi y a-nous des transformations? Eh bien, il devrait être clair dans le cas des modèles mobiles dont je viens de parler. Mais il y a un autre cas que je pense lié très bien à nos conférences de la dernière fois qui est la perception de la stationnarité. Donc, c'est quelque peu contre-intuitif. Donc, j'ai besoin d'effectuer des transformations parce que j'ai besoin de dédéplacer quelque chose qui a changé. Maintenant, voici l'idée. Donc, je vois tous ceux d'entre vous aujourd'hui dans le monde réel quand je tourne la tête que vous vous déplacez de façon appropriée, de la façon que je connais de tous les droits à l'égard de ma tête, vous êtes essentiellement contre la rotation dans la direction opposée. Donc, si je conçais un système de réalité virtuelle, supposons qu'il s'agit d'une grotte comme système ou qu'il s'agit d'un système audio surround, il est fixé au monde. Donc, quand je tourne la tête, le stimulus est contre-tournant de façon appropriée.
Maintenant, si je monte le stimulus sur ma tête si je porte des écouteurs ou des téléphones yeux que j'ai une tête montée, disons, maintenant, quand je tourne la tête, le stimulus va malheureusement le suivre. Donc, si je veux simuler la stationnarité, si je veux simuler le stimulus étant fixé au monde extérieur, je dois faire une contre-rotation. Cela a-t-il du sens? Donc, ça confond beaucoup les gens. Donc, vous finez par appliquer une transformation inverse pour simuler la stationnarité. Nous avons parlé du réflexe vestibulo-oculaire qui va de l'avant, comme celui-ci, où c'est une autre sorte de perception de la stationnarité où votre corps est conçu pour faire tourner vos yeux contre la rotation par rapport à votre tête.
Maintenant, nous sommes en train de concevoir un système de réalité virtuelle monté. Ainsi, lorsque vous montez un stimulus à votre corps, vous devez compenser les transformations que votre corps accomplit. Vous devez les annuler et en tenir compte. J'espère le faire avec un temps de latence très faible. Donc, que votre cerveau ne devient pas un droit confus, cela devient alors une entrée inconnue.
Donc, nous avons besoin de faire tourner le stimulus monté plus généralement plus général que le contre-rotation est une transformation inverse et parce que nous devons faire que cela nécessite de suivre ou de filtrer l'estimation de ce que vous voulez appeler, nous avons besoin d'utiliser des capteurs et d'estimer le mouvement qui s'est produit du corps humain, puis quand nous sommes en train de comprendre ce que cette transformation a été que nous appliquons l'inverse de ça pour compenser à nouveau cette grande idée de la perception de la stationnarité, c'est logique. Donc, ce sont deux raisons pour lesquelles nous étudions les transformations aujourd'hui. Le premier est un peu évident, les modèles se déplacent dans le monde. Mais le second est un peu moins évident est de vous donner la perception de la stationnarité pour vous faire croire que le monde extérieur est en fait, pas en mouvement. Bien sûr, ces deux choses pourraient se produire ensemble, ce qui compliquait la tâche.
(Référez-vous à la diapositive: 04:48) Donc, en transformant des corps rigides, imaginons transformer chaque sommet de chaque triangle simple comme ça. Il va y avoir 3 cas que je couvre aujourd'hui ; 3 cas, nous avons l'affaire facile qui est la traduction et dans ce cas je vais passer et je vais parler du nombre de degrés de liberté. Donc, les DOFs en 2D et 3D, pour la traduction seulement nous avons 2 degrés de liberté en 2D et nous avons 3 degrés de liberté en 3D et c'est vraiment mathématiquement le cas le plus facile à définir pour comprendre, pas de problèmes vraiment. Le cas plus difficile sera une rotation qui, en 2D, est très facile.
Combien de degrés de liberté avons-nous pour la rotation 2D?
Élève: 1. Seulement 1 et en 3 dimensions nous avons 3 et c'est la partie où ça devient plus difficile. Donc, les choses sont un peu plus compliquées. Il n'est pas difficile d'appliquer une matrice de rotation et de voir le résultat, mais c'est beaucoup plus difficile à cause de l'espace de toutes les rotations 3D. Donc, ça finit par être considérablement compliqué, j'espère vous en convaincre et vous montrer quelques types de problèmes, puis vous aider à vous apprendre à faire le tour des problèmes et à faire les choses de manière agréable pour que vous ne finiez pas avec une malheureuse difficulté plus tard. Et puis le cas le plus difficile qui n'est pas beaucoup plus difficile que la rotation 3D est que nous les mettons ensemble. Donc, vous obtenez une rotation suivie de la traduction. Donc, une fois que j'ai ça, je peux mettre un corps rigide dans n'importe quelle configuration que j'aime. Je peux le traduire et je peux le faire tourner. Donc, je peux le placer n'importe où dans le monde sans déformer le corps.
Ce sera une propriété très importante, c'est pourquoi nous écrivons le mot rigide ici, cela signifie que le corps lui-même n'est pas déformé il se fait traduire et tourner, ne signifie pas qu'il est rigidement attaché au sol. Cela signifie simplement que le corps lui-même est rigide à l'interne. Donc, toutes les distances entre les paires de points restent préservelles, et ainsi de suite, il y a plus que ça, mais j'y vais bientôt. (Référez-vous à la diapositive: 07:28).
Donc, tout ce que nous faisons, c'est ajouter les degrés de liberté ici. Ainsi, nous obtenons 3 degrés de liberté en 2D et 6 degrés de liberté par corps rigide en 3D pour les modèles tridimensionnels. Donc, c'est le cas que nous allons gérer bien sûr, le plus souvent parce qu'une réalité virtuelle à 2 dimensions n'est pas très intéressante et à y penser.
(Heure de la diapositive: 08:05)