Loading
Notes d'étude
Study Reminders
Support
Text Version

Introduction à la modélisation de transformations

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

    +

Bonjour et bienvenue à la conférence numéro 10 dans le cours Computer Graphics. Nous discutaient du pipeline graphique. Pour se souvenir, en infographie ce que nous faisons, nous générons des images 2D sur un écran d'ordinateur et le processus de génération de ces images 2D implique un ensemble d'étapes, ensemble ces étapes constituent le pipeline graphique.
Aujourd'hui, nous allons commencer la discussion sur la deuxième étape, c'est-à-dire la modélisation, aussi appelée transformation géométrique.
Alors, qu'y a-il à ce stade?
Maintenant, lorsque nous avons parlé de représenter des objets dans les conférences précédentes, ce que nous avons appelé implicitement, c'est que les objets étaient représentés individuellement. Maintenant, lorsque nous définissons ces objets individuellement, nous utilisons implicitement un système de coordonnées qui est généralement appelé système de coordonnées locales ou d'objets. Par conséquent, pour chaque définition d'objet, nous avons une coordonnée locale ou objet. Maintenant, dans ce système de coordonnées, nous définissons l'objet.
Qu'est-ce que cela signifie? Cela signifie que, au moment de la définition des objets, nous ne nous embêtons pas trop sur la forme, la taille et la position de l'objet par rapport à d'autres objets. Nous avons donc défini un objet, mais en substance il peut y avoir plusieurs objets où cet objet particulier peut avoir une taille relative ou une position relative ou une orientation relative. Mais lorsque nous définissons l'objet dans sa propre coordonnée locale, nous ne prêtons pas trop attention à ces facteurs.
Mais quand nous allons composer une scène, qui constitue tous les objets que nous avons définis, les objets doivent être assemblés ensemble. Maintenant, quand on parle d'assembler les objets, qu'est-ce que ça veut dire? Cela signifie que les objets doivent être placés de manière à ce que la scène globale devienne perceptible. Ainsi, la forme, la taille et l'orientation de l'objet sont maintenant très importantes. Donc, quand nous définissons des objets dans sa propre coordonnée, ces choses ne sont pas importantes, mais quand nous les assemblons, elle devient importante.
Donc, lorsque nous essayons de composer une scène en prenant soin de la forme relative, de la taille, de l'orientation et de la position des objets par rapport à d'autres objets, nous supposons une fois de plus implicitement un autre système de coordonnées, qui est généralement appelé la scène ou plus populairement le système de coordonnées mondiales. Donc, plus tôt nous avons traité avec le système de coordonnées locales ou d'objets, maintenant, nous devons traiter avec un autre système de coordonnées qui est populairement connu sous le nom de système de coordonnées mondiales.
Et comme je l'ai dit, dans le système de coordonnées mondiales, les formes, les tailles, les positions, les orientations de ces objets individuels doivent être pris en charge, afin que nous puissions construire la scène. Donc, c'est devenu très important maintenant, dans le système de coordonnées mondiales.
Comment pouvons-nous faire? Ainsi, plus tôt, nous avons défini des objets dans leur propre système de coordonnées sans se vantant de la forme, de la taille, de la position, de l'orientation, etc. Maintenant, nous allons les assembler ensemble dans le monde de la coordination. Et maintenant, nous devons penser à ces formes, tailles, orientations des partitions, pour que la scène devienne perceptible. Nous pouvons le faire en appliquant certaines opérations, en effectuant quelques opérations.
Ces opérations transformeront les objets de sa coordonnée locale en coordonnées mondiales. Donc, afin de créer les scènes en assembltant les objets ensemble, qui à leur tour sont définis dans leur propre système de coordonnées, ce que nous devons faire, nous devons effectuer certaines opérations pour transformer les objets de leur description de coordonnées locales à la description de coordonnées du monde.
Maintenant, ces opérations ou la transformation se déroulent à la deuxième étape du pipeline graphique. Voyons un exemple. Ici nous avons 2 objets, c'est l'objet 1 sur le chiffre le plus à gauche et l'objet 2 dans la figure du milieu. Maintenant, nous voulons créer cet objet représenté dans la figure de droite. Donc, comme vous pouvez le voir dans cet objet dans cet objet général ce que nous avons, nous avons ces cylindres, combien d'instances 1, 2, 3, 4 et l'autre forme le nombre d'instances 1, 2 et 3.
Nous avons donc 4 instances de cet objet et 3 instances de cet objet. Et la façon dont ces objets sont définis dans leur propre système de coordonnées ne sont pas les mêmes que la façon dont ils sont définis dans cette scène, qui est du côté droit. Ici comme vous pouvez voir ici l'orientation est différente, l'orientation est différente de la taille est également différente dans toutes les quatre instances. La même chose est vraie pour les autres objets, les instances de l'autre objet.
Ainsi, ces coordonnées où les objets sont définis à l'origine sont les coordonnées locales ou d'objets. La coordonnée ici représentée par l'axe principal X, Y, Z dans la figure de droite est la coordonnée du monde. Ici, nous assemblons plusieurs instances des définitions d'objet d'origine pour construire l'objet global. Et comme vous pouvez le voir ici, pour ce faire, il est très important que les objets soient mis en place, dans une bonne orientation et dans la bonne taille. Donc, c'est le travail de la transformation qui a lieu dans la deuxième étape.
Maintenant, puisque ces transformations modifient certaines propriétés géométriques ou se déroulent sur la géométrie de la définition d'objet, nous appelons cela des transformations géométriques. Il est également connu sous le nom de transformations de modélisation.
Ces transformations de modélisation impliquent l'application de certaines opérations sur la définition d'objet en coordonnées locales pour les transformer en composant de la scène de coordonnées du monde. Donc, c'est ce que nous pouvons parler plus formellement de la transformation de modélisation qui applique certaines opérations sur la définition d'objet pour les transformer en composant dans la scène de coordonnées du monde.
Quelles sont ces opérations ; en fait, il peut y avoir beaucoup de telles opérations. Nous verrons bientôt quelles sont ces opérations.
Mais toutes les opérations peuvent être dérivées d'un ensemble d'opérations de base. Donc, bien que nous puissions en principe appliquer de nombreuses opérations, mais ces opérations peuvent être pensées comme dérivées d'un ensemble d'opérations de base.
Maintenant, regardons ces opérations de base. Il y a en fait 4 opérations de base, de traduction, de rotation, de mise à l'échelle et de cisaillement. La traduction nous savons tous, ce qu'elle fait, elle traduit un objet d'un poste à un autre. En rotation, que faisons-nous? Nous tournons les objets sous un angle quelconque, soit dans le sens des aiguilles d'une montre, soit dans le sens inverse des aiguilles d'une montre autour d'un axe.
Avec la mise à l'échelle de ce que nous pouvons faire? Nous pouvons réduire ou augmenter la taille de l'objet. Et finalement, avec le cisaillement, on peut changer la forme de l'objet. On peut noter ici que le cisaillement est dans un sens plus strict, pas une transformation de base et qu'il peut être dérivé comme une composition de rotation et de mise à l'échelle. Cependant, pour la simplicité, nous supposerons qu'il s'agit d'une transformation de base et nous le créerons en conséquence. Alors, laissez-nous récapitulation. Nous avons donc 4 transformations de base, traduction, rotation, mise à l'échelle et cisaillage. Parmi eux, le cisaillement change la forme de l'objet ; la mise à l'échelle change la taille de l'objet, la translation et la rotation changent la position et l'orientation de l'objet. Maintenant, je suppose que vous avez une idée de ces opérations et vous savez peut-être que ces opérations modifient les propriétés géométriques des objets en termes de modification de leur forme, de leur taille et de leur emplacement. Comme c'est le cas, nous appelons ces transformations comme des transformateurs géométriques. Nous pouvons donc appeler les opérations effectuées dans la deuxième étape comme transformation de la modélisation ou transformation géométrique. Passons maintenant à une discussion plus approfondie sur chacune de ces transformations. Commençons par la traduction.
Qu'advient-il de la traduction? Comme vous pouvez le voir, supposons que nous ayons un point original ici dans ce cadre de référence, qui est noté par P avec coordonnée x et y. Grâce à la traduction, nous pouvons repositionner le point sur P en pointillé avec de nouvelles coordonnées x tiretées et tiretées. Donc, essentiellement, nous sommes en train de déplacer ce point à un autre point par un montant tx et ty pour obtenir le nouveau point et ce déplacement a lieu le long de la direction x et y. Donc, en utilisant cette connaissance, nous pouvons en fait dériver la nouvelle coordonnée par rapport à l'ancienne coordonnée. À quoi ça ressemblera? Donc la nouvelle coordonnée, la nouvelle coordonnée x sera x plus la quantité de déplacement le long de la direction x et la nouvelle coordonnée y sera la coordonnée y originale plus le déplacement le long de la direction y. Il s'agit donc de dérivations simples et simples à formuler. Et ce sont les relations entre les nouvelles et les anciennes coordonnées x et y des points.
Ces déplacements peuvent être considérés de différentes manières. Donc si on se déplace le long d'un axe positif ou d'un axe positif, on appelle ça un déplacement positif. Si on se déplace le long d'un axe négatif ou d'un axe négatif, on appelle cela un déplacement négatif. Ainsi, le signe de la quantité tx ou ty sera différent pour les déplacements positifs ou négatifs.
Maintenant, faisons passer notre attention à la rotation. Maintenant, en cas de rotation, nous n'avons pas de déplacements horizontaux ou verticaux, nous avons plutôt des déplacements angulaires. En d'autres termes, le point se déplace d'une position à une autre sur une piste circulaire sur un certain axe. Donc, ici, nous avons un déplacement angulaire et le point se déplace autour d'un axe. Nous suivons une convention typiquement, c'est-à-dire si le mouvement est anti-horaire, alors c'est un angle positif de rotation. Donc, considérons cet exemple ici, nous avons le point original ici. Et maintenant, nous avons le point après la rotation, il doit être noté par x tiretée, y tiretée et l'angle de rotation est celui de la rotation. Maintenant, puisque nous allons dans le sens inverse des aiguilles d'une montre, nous appelons cela un angle de rotation positif. Si on se déplace dans le sens des aiguilles d'une montre, on considère généralement qu'il s'agit d'un angle de rotation négatif. C'est une convention typiquement suivie. Et en cas de rotation 2D, on suppose généralement que la rotation se déroule autour de l'axe Z. Cependant, plus tard on verra pour la rotation 3D ce que sont les conventions.
Maintenant, essayons de dériver la relation entre les nouvelles et les anciennes coordonnées. Donc, l'ancienne coordonnée est (x, y), la nouvelle coordonnée est (x', y'). Maintenant, comme vous pouvez le voir, nous pouvons représenter x comme (r cos θ), maintenant r est le rayon de la piste circulaire et θ est l'angle entre l'axe x et le point original et y est (r sin θ). Maintenant, comme on peut le voir x'est si on dessre une ligne comme ça, alors on peut représenter x'as { (r cos θ) + ϕ }. Maintenant, si on s'agrandisse alors on aura { r cos θ cos θ-r sin θ sin }.
Puisque (r cos θ) est x, donc il est (x cos fiera) et puisque (r sin θ) est y, donc il sera (y péché). De même pour y', nous pouvons avoir une expression similaire { x sin puissions + y cos }. Ces deux rapports sont des relations entre l'ancienne coordonnée du point et les nouvelles coordonnées du point. Et comme je l'ai déjà mentionné, le mouvement angulaire anti-horaire est généralement considéré comme positif, sinon il est négatif. Maintenant, en cas de mouvement angulaire négatif, nous changeons le signe de l'angle de déplacement. Au lieu de cela, nous utiliserons-nous. C'est le seul changement que nous allons faire.
Nous avons donc appris la traduction et la rotation. Comment pouvons-nous appliquer ces transformations aux points? La façon dont nous avons dérivé, ils s'appliquaient à un point. Pour un objet, nous avons de nombreux points. Donc, une seule application à un point ne sera pas suffisante. Alors ce que nous devons faire? Nous appliquons simplement tous les points qui composent la surface. Maintenant, vous pensez peut-être que c'est impossible parce qu'il y a peut-être un nombre infini de points sur une surface. Cependant, nous pouvons le faire en appliquant les transformations à tous les sommets d'une représentation de liste de sommets ou à tous les points de contrôle d'une surface spline.
Donc, quand nous allons l'appliquer, nous pensons essentiellement à une représentation, il peut s'agir d'une représentation de liste de sommets comme en cas de représentation de maillage, ou peut être un ensemble de points de contrôle comme en cas de représentation spline, et nous appliquons les transformations sur chacun de ces points sont pour que l'objet entier soit transformé. Et comme je l'ai mentionné précédemment, en appliquant de cette façon, nous pouvons changer l'orientation de l'objet en utilisant la rotation et la position à l'aide de la traduction. Donc, en appliquant la rotation sur tous les sommets ou tous les points de contrôle, on peut changer l'orientation de l'objet et en appliquant la traduction sur tous les sommets ou tous les points de contrôle, on peut changer la position.
La troisième transformation de base est la mise à l'échelle. Qu'advient-il de l'échelonnement? Il change la taille. Maintenant, les changements peuvent avoir lieu dans les deux cas, soit ils peuvent diminuer, soit ils peuvent augmenter. Ainsi, l'augmentation et la diminution de la taille de l'objet sont possibles avec la mise à l'échelle. Maintenant, mathématiquement comment la mise à l'échelle est définie? Il est défini comme une opération de multiplication des coordonnées d'objet par une certaine quantité scalaire. Maintenant, ces grandeurs scalaires sont connues comme des facteurs d'échelle. Pour l'essentiel, nous multiplions les facteurs d'échelle par les valeurs de coordonnées pour monter ou descendre les objets. Mettre à l'échelle signifie augmenter la taille de l'objet, échelle vers le bas signifie réduire la taille de l'objet. Donc, au niveau d'un point, comment nous pouvons le comprendre? Donc, étant donné un point P, on multiplie simplement la coordonnée x avec un facteur d'échelle le long de la direction x et un facteur d'échelle le long de la direction y, on multiplie ceci à la coordonnée y pour obtenir le nouveau point (x', y'). Donc, la relation entre les anciennes et les nouvelles coordonnées ressemblera à ça. Ainsi, la nouvelle coordonnée x "peut être représentée en termes de x de cette façon, et la nouvelle coordonnée y" peut être représentée en termes de y de cette façon, où sx et sy sont les deux facteurs d'échelle le long des directions x correspondantes.
Par exemple, ici nous avons un objet et nous utilisons le facteur de mise à l'échelle le long de la direction x pour être un troisième et un facteur d'échelle le long de Y pour être à moitié. Maintenant, si je multiplie ces facteurs de mise à l'échelle aux coordonnées x et y des sommets, j'obtiens 4 nouveaux sommets comme indiqué ici dans cette figure de droite. Ces sommets ensemble représenteront l'objet. Puisque les facteurs de mise à l'échelle sont inférieurs à 1, cela signifie que nous l'avons réduit ou diminué.
Donc, comme en cas de traduction ou de rotation, ici aussi, nous avons fait la même chose. C'est-à-dire que nous avons appliqué les opérations de mise à l'échelle à tous les points qui définissent l'objet. Maintenant, si nous utilisons la représentation du maillage, ces points sont essentiellement les sommets de la liste des sommets. Si nous utilisons une représentation spline, ces points sont essentiellement l'ensemble des points de contrôle. Et nous appliquons le facteur d'échelle à chacun de ces points pour obtenir les nouveaux objets, les nouveaux points qui définissent l'objet.
Ici, on devrait noter une chose. Donc, si nous utilisons le même facteur de mise à l'échelle le long de la direction x et y, ce type de mise à l'échelle est appelé échelle uniforme. Sinon, ce que nous faisons, c'est une échelle différentielle. Dans l'exemple, nous avons vu que le facteur d'échelle le long de la direction x est un tiers et par direction est la moitié de sorte qu'ils sont différents, donc nous avons en fait suivi l'échelle différentielle dans l'exemple.
Maintenant, quand le facteur d'échelle est, quand disons sx est supérieur à 1 puis le long de la direction x nous augmentons, quand sy est plus grand que 1, puis le long de la direction y nous augmentons ou augmentons la taille. Maintenant, quand les deux sont supérieurs à 1, alors le long des deux directions, nous augmentons la taille. De même, lorsque le sx est inférieur à 1, nous réduisons ou réduisons la taille le long de la direction x.
De même, lorsque la sy est inférieure à 1, nous réduisons ou réduisons la taille le long de la direction y, alors que les deux sont inférieurs à 1, alors nous redimensionnons le long des deux directions simultanément. Et bien sûr, si sx égal à 1 ou sy égal à 1, alors il n'y a pas de changement de taille. Un point important à noter ici est que, lors de la mise à l'échelle, l'objet peut être repositionné, comme nous l'avons vu dans l'exemple. Donc le sommet d'origine était à (3, 2) ici il était à (9, 2) ici il était à (9, 4) et il était à (3, 4). Maintenant après la mise à l'échelle, en appliquant les facteurs de mise à l'échelle le long des directions x et y, nous avons un nouvel objet défini par les 4 sommets. Quelles sont les coordonnées? Nous avons (1, 1) alors nous avons ici (3, 1) ici nous avons (3, 2) et ici nous avons (1, 2). Maintenant, comme vous pouvez le voir, les sommets ont été repositionnés. C'est donc l'un des effets de la mise à l'échelle.
Un effet est en train de changer la taille ; l'autre effet est qu'il peut conduire à un repositionnement des objets. La dernière transformation de base est le cisaillage.
Qu'est-ce qui se passe dans le cisaillage? Ici, nous changeons fondamentalement la forme de l'objet. Jusqu'à présent, les transformations que nous avons apprises concernent la modification de la position, de l'orientation et de la taille. Maintenant, la finale et la quatrième transformation de base nous permettent de changer la forme également.
Comme vous pouvez le voir dans cet exemple, donc nous avons un objet ici, qui après le cisaillement se transforme en cet objet avec un changement de forme? Maintenant, comme l'échelle, le cisaillement se réfère aussi essentiellement à la multiplication des facteurs de cisaillement le long des directions x et y sur l'objet d'origine ou sur le point d'origine. Donc si le point original est x, alors on le multiplie par le facteur de cisaillage pour obtenir le point transformé x'. Et c'est aussi vrai pour y.
Mais la relation est un peu plus compliquée que la mise à l'échelle. Ici, le nouveau point est obtenu par addition plus multiplication. Donc le nouveau point est un ajout de l'ancienne coordonnée et un terme qui est une multiplication de l'ancienne coordonnée avec le facteur de cisaillement le long de cet axe. Mais notez ici que pour obtenir x', la nouvelle coordonnée x, nous utilisons l'ancienne coordonnée x et aussi l'ancienne coordonnée y et le facteur de cisaillement le long de la direction x.
De même, pour obtenir une nouvelle coordonnée y, nous utilisons la coordonnée ancienne et aussi l'ancienne coordonnée x et le facteur de cisaillement le long de la direction y. C'est donc la différence, légèrement plus compliquée que la mise à l'échelle. Et cela nous permet de changer la forme de l'objet. Maintenant, la relation est établie entre les anciens et les nouveaux points. Comme dans les cas précédents, les 3 transformations précédentes, en cas de cisaillement également, nous pouvons en fait appliquer les opérations sur tous les points de la surface pour changer la forme de la surface entière. Si nous suivons une représentation de maillage, la surface sera représentée en termes de ses réseaux, sous la forme d'une liste de sommets. Nous appliquons donc les soins sur tous les sommets.
Si nous utilisons une représentation spline, alors la surface sera représentée en termes d'une grille de points contrôlés et nous appliquons le partage sur tous ces points contrôlés dans la grille pour obtenir toutes nos transformations. Comme la mise à l'échelle, ici aussi le repositionnement peut avoir lieu. Voyons à nouveau cet exemple, considérons un sommet, il est 9 et 2, ce vertex (9, 2) change comme vous pouvez le voir ici (10, 2). Un autre sommet (9, 4) change également et devient (11, 4). De même, vous pouvez voir les autres sommets, comme ici il devient (4, 2). Alors que, plus tôt, il était (3, 2). Ce sommet devient (5, 4) d'ici qui était (3, 4). Cependant, vous pouvez noter qu'il n'est pas nécessaire que tous les sommets changent de position.
Ainsi, tous les sommets ne peuvent se repositionner au cours d'une transformation de cisaillement. Vous pouvez également voir ici qu'il n'est pas obligatoire d'effectuer un cisaillement le long des deux axes simultanément. Comme vous pouvez le voir ici, le long de l'axe y le facteur de cisaillement est 0. Donc, nous ne nous tirons pas le long de l'axe y alors que nous sommes en cisaillement le long de l'axe des x. Ainsi, la mise à l'échelle et le cisaillement ont cette propriété qu'ils peuvent repositionner l'objet ; ils peuvent repositionner tout ou partie des points qui définissent l'objet.
Donc, ce sont les quatre transformations de base. Et quand nous essayons réellement de transformer un objet, nous pouvons appliquer ces transformations de base en séquence, en nombres multiples, de différentes manières pour obtenir la transformation souhaitée. Maintenant, on doit noter ici que pour réaliser la transformation, nous avons dérivé certaines équations, les équations qui montrent la relation entre l'ancien et le nouveau point. Donc, si nous voulons réaliser la transformation, nous devons appliquer ces équations aux anciens points pour obtenir les nouveaux points.
En fait, ces équations ne sont pas très pratiques et pratiques pour construire des bibliothèques graphiques ou des paquets. Si nous essayons de concevoir un système graphique modulaire, alors ces transformations représentées sous la forme d'équations peuvent ne pas être une bonne façon de représenter les transformations. Nous avons besoin de représentations alternatives et ces représentations sont là sous forme de matrices. Et nous aurons aussi de nombreux avantages si nous utilisons des matrices, en particulier dans le contexte de la construction de systèmes modulaires.
Ainsi, lors de la prochaine conférence, nous discuterons de la représentation matricielle et de la raison pour laquelle il est utile de représenter les transformations.