La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

SUJETS SPÉCIAUX EN INFORMATIQUE I PIF-6003. Contenu du cours Transformations géométriques des objets –Transformations 2D –Transformations entre systèmes.

Présentations similaires


Présentation au sujet: "SUJETS SPÉCIAUX EN INFORMATIQUE I PIF-6003. Contenu du cours Transformations géométriques des objets –Transformations 2D –Transformations entre systèmes."— Transcription de la présentation:

1 SUJETS SPÉCIAUX EN INFORMATIQUE I PIF-6003

2 Contenu du cours Transformations géométriques des objets –Transformations 2D –Transformations entre systèmes de coordonnées –Transformations 3D –Utilisation des transformations dans un programme –Introduction au processus de visualisation avec OpenGL

3 Contenu du cours Transformations géométriques des objets

4 Transformations géométriques 2D de base Translation –La translation dun point 2D seffectue par laddition des distances de décalage t x et t y aux coordonnées dorigine du point (x,y) permettant son déplacement à la position (x,y)

5 Transformations géométriques 2D de base Translation –Sous forme matricielle

6 Transformations géométriques 2D de base Rotation –Une rotation est appliquée sur un objet en le déplaçant selon une trajectoire circulaire –Nous devons spécifier un angle de rotation ( ) et la position (x r, y r ) du pivot –SI (x r =0, y r =0)

7 Transformations géométriques 2D de base Rotation

8 Transformations géométriques 2D de base Rotation –Sous forme matricielle avec

9 Transformations géométriques 2D de base Rotation –Par rapport à un pivot Rotation suivi dune translation TRANSLATION

10 Transformations géométriques 2D de base Rotation –Par rapport à un pivot 1) Translation T(-x r,-y r ) 2) Rotation dun angle 3) Translation T(x r,y r )

11 Transformations géométriques 2D de base Changement déchelle (scaling) –Changement des dimensions dun objet

12 Transformations géométriques 2D de base Changement déchelle (scaling) –Sous forme matricielle

13 Transformations géométriques 2D de base Changement déchelle (scaling) –Par rapport à un point de référence Scaling suivi dune translation

14 Transformations géométriques 2D de base Shearing –Déformation d un objet par rapport à un axe donné Direction x Direction y

15 Transformations géométriques 2D de base Shearing –Sous forme matricielle (Direction x)

16 Transformations multiples (composite) Représentation matricielle et coordonnées homogènes –Dans plusieurs applications en graphisme des séquences de transformations graphiques doivent être générées –Les représentations matricielles servent de base pour modéliser de façon efficace ces séquences de transformations –Les transformations de base peuvent sécrire Où M 1 est une matrice 2X2 et M 2 une matrice 2X1

17 Transformations multiples (composite) Divers cas –Translation: M 1 : matrice identité M 2 : terme translationnel –Rotation: M 1 : matrice de rotation M 2 : terme translationnel (pivot) –Scaling: M 1 : matrice des changements déchelle M 2 : terme translationnel (point de référence)

18 Transformations multiples (composite) Une séquence de transformations S-R-T seffectue: –scaling des coordonnées des objets –rotation des coordonnées transformées (après scaling) –translation des coordonnées (après rotation) La combinaison de ces transformations permet daméliorer lefficacité en éliminant le terme additif M 2

19 Transformations multiples (composite) Pour combiner les termes multiplicatifs et translationnels il faut utiliser une forme matricielle M 1 de 3X3 Dans ce contexte nous pouvons représenter toutes les transformations sous forme de multiplication matricielle Il faut par contre modifier la représenta- tion matricielle des coordonnées des points constituant nos objets

20 Transformations multiples (composite) Les coordonnées cartésiennes (x, y) sont alors représentées sous forme homogène (x h, y h, h) ou x=x h /h et y=y h /h Alors une représentation en coordonnées homogènes généralisée peut aussi être déduite sous la forme (h x, h y, h) Nous choisissons par simplicité h=1, chaque position est alors représentée en coordonnées homogènes par (x, y, 1)

21 Transformations multiples (composite) Translation Rotation

22 Transformations multiples (composite) Scaling

23 Transformations multiples (composite) Shearing Direction x: SH(sh x =0,sh y ) Direction y: SH(sh x,sh y =0)

24 Transformations multiples (composite) Sachant que la multiplication matricielle est associative, les transformations successives sont alors représentées par une matrice 3X3 découlant de la concaténation des matrices individuelles 2 translations successives (t x1,t y1 ), (t x2,t y2 )

25 Transformations multiples (composite) Cette transformation sécrit

26 Transformations multiples (composite) 2 rotations

27 Transformations multiples (composite) 2 scaling

28 Transformations multiples (composite) Rotation par rapport à un pivot

29 Transformations multiples (composite) Matrice des transformations

30 Transformations multiples (composite) Scaling avec un point de référence

31 Transformations multiples (composite) Matrice des transformations

32 Transformations multiples (composite) Forme générale Complexité 4 X et + VS 9 X 6 +

33 Transformations multiples (composite) Par exemple, si un objet doit subir un changement déchelle et une rotation par rapport au point (x c, y c ) et par la suite une translation, la matrice composite devient

34 Transformations multiples (composite) Transformations entre systèmes de coordonnées –Un objet quelconque peut être défini dans un système de coordonnées cartésien du monde (ex: scène du monde) mais les coordonnées du monde doivent être transformées au préalable pour permettre le positionnement de cet objet par rapport au système de coordonnées de lécran avant son affichage

35 Transformations multiples (composite) Transformations entre systèmes de coordonnées –Pour transformer la description dun objet dun système de coordonnées x y à xy nous devons effectuer une transformation qui doit permettre la superposition des axes du système xy sur ceux du système xy Translation T(-x 0, -y 0 ) R(- )

36 Transformations multiples (composite) Transformations entre systèmes de coordonnées

37 Transformations multiples (composite) Transformations entre systèmes de coordonnées

38 Visualisation 2D (Rappel) Une surface dans le système de coordonnées du monde sélectionnée pour laffichage est appelée une fenêtre. Une surface sur un écran sur laquelle est projetée la fenêtre est un port de visualisation (viewport)

39 Visualisation 2D Les transformations de visualisations

40 Visualisation 2D Le passage des WC au VC

41 Visualisation 2D WC -> VC

42 Visualisation 2D VC -> NVC

43 Visualisation 2D VC -> NVC –Pour maintenir les mêmes positions relatives dans les deux représentations nous devons savoir v: viewport w: window

44 Visualisation 2D VC -> NVC –Maintien des positions relatives

45 Visualisation 2D VC -> NVC –Nous pouvons alors déduire (xv,yv) par

46 Visualisation 2D VC -> NVC –Séquences de transformations correspondantes Scaling avec comme point de référence (xw min,yw min ) (fenêtre) Translation à la position du viewport (xv min,yv min )

47 Transformations géométriques 3D de base Translation –La translation dun point 3D seffectue par laddition des distances de décalage t x, t y et t z aux coordonnées dorigine du point (x,y,z) permettant son déplacement à la position (x,y,z)

48 Transformations géométriques 3D de base Translation –Sous forme matricielle (coordonnées homogènes)

49 Transformations géométriques 3D de base Translation –La translation dun objet 3D revient à déplacer les points de lobjet. Pour un objet 3D représenté par un ensemble de surfaces polygonales, la translation est appliquée sur les sommets. Ensuite, lobjet est retracé

50 Transformations géométriques 3D de base Translation dun objet 3D

51 Transformations géométriques 3D de base Rotation –Pour faire subir une rotation à un objet 3D nous devons désigner au préalable un axe et un angle de rotation –Une rotation 3D peut seffectuer par rapport à nimporte quel axe dans lespace –Les rotations les plus simples sont celles par rapport à des axes parallèles aux axes du système de coordonnées –Par convention, un angle de rotation ( ) positif produit une rotation anti-horaire par rapport à un axe de coordonnées

52 Transformations géométriques 3D de base Rotation

53 Transformations géométriques 3D de base Rotation 3D par rapport à laxe z

54 Transformations géométriques 3D de base Rotation 3D par rapport à laxe z

55 Transformations géométriques 3D de base Rotation 3D par rapport à laxe x (x->y->z->x)

56 Transformations géométriques 3D de base Rotation 3D par rapport à laxe x

57 Transformations géométriques 3D de base Rotation 3D par rapport à laxe y (y->z->x->y)

58 Transformations géométriques 3D de base Rotation 3D par rapport à laxe y

59 Transformations géométriques 3D de base Rotation 3D générale –Une rotation par rapport à un axe quelconque est représentée par une combinaison de translations et de rotations par rapport aux axes de coordonnées –Cas 1: Axe de rotation parallèle à un axe de coordonnées Translation de lobjet pour amener laxe de rotation sur laxe de coordonnées Rotation de lobjet par rapport à cet axe de coordonnées Translation de lobjet pour ramener laxe de rotation à sa place originale

60 Transformations géométriques 3D de base Rotation 3D générale –Cas 1: Axe de rotation parallèle à un axe de coordonnées

61 Transformations géométriques 3D de base Rotation 3D générale –Cas 1: Axe de rotation parallèle à un axe de coordonnées

62 Transformations géométriques 3D de base Rotation 3D générale –Cas 2: Axe de rotation non parallèle à un axe de coordonnées Translation de lobjet pour faire passer laxe de rotation par lorigine Rotation de lobjet pour faire coïncider laxe de rotation avec un des axes de coordonnées (axe z) Rotation de lobjet par rapport à cet axe de coordonnées Rotation inverse de lobjet pour ramener son axe de rotation à son orientation originale Translation inverse de lobjet pour ramener laxe de rotation à sa place originale

63 Transformations géométriques 3D de base Rotation 3D générale –Cas 2: Axe de rotation non parallèle à un axe de coordonnées

64 Transformations géométriques 3D de base Rotation 3D générale –Cas 2: Axe de rotation non parallèle à un axe de coordonnées Un axe de rotation peut être défini par 2 points ou par un point et les cosinus directeurs entre laxe de rotation et les axes de coordonnées

65 Transformations géométriques 3D de base Rotation 3D générale –Cas 2: Axe de rotation non parallèle à un axe de coordonnées Un vecteur axial est donné par

66 Transformations géométriques 3D de base Rotation 3D générale –Cas 2: Axe de rotation non parallèle à un axe de coordonnées Un vecteur unitaire dans la direction de laxe de rotation est donné par

67 Transformations géométriques 3D de base Rotation 3D générale –Cas 2: Axe de rotation non parallèle à un axe de coordonnées Étape 1: Translation de laxe de rotation

68 Transformations géométriques 3D de base Rotation 3D générale –Cas 2: Axe de rotation non parallèle à un axe de coordonnées Étape 2: Rotation de laxe de rotation sur laxe z –Rotation par rapport à laxe x pour amener u dans le plan xz –Rotation par rapport à laxe y pour amener u sur laxe z

69 Transformations géométriques 3D de base Rotation 3D générale –Cas 2: Axe de rotation non parallèle à un axe de coordonnées Étape 2: Rotation de laxe de rotation sur laxe z –Rotation par rapport à laxe x pour amener u dans le plan xz

70 Transformations géométriques 3D de base Rotation 3D générale –Cas 2: Axe de rotation non parallèle à un axe de coordonnées Étape 2: Rotation de laxe de rotation sur laxe z –Rotation par rapport à laxe x pour amener u dans le plan xz »Langle est langle entre la projection de u dans le plan yz et laxe z »La projection de u dans le plan yz est u = (0,b,c), cos et sin sont donnés par

71 Transformations géométriques 3D de base Rotation 3D générale –Cas 2: Axe de rotation non parallèle à un axe de coordonnées Étape 2: Rotation de laxe de rotation sur laxe z –Rotation par rapport à laxe y pour amener u sur laxe z

72 Transformations géométriques 3D de base Rotation 3D générale –Cas 2: Axe de rotation non parallèle à un axe de coordonnées Étape 3: Rotation de lobjet par rapport laxe z

73 Transformations géométriques 3D de base Rotation 3D générale –Cas 2: Axe de rotation non parallèle à un axe de coordonnées Pour accomplir les étapes 4 et 5 il faut effectuer les transformations inverses R x -1, R y -1 et T -1 La matrice de transformation composée est alors

74 Transformations géométriques 3D de base Changement déchelle 3D

75 Transformations géométriques 3D de base Changement déchelle 3D

76 Transformations géométriques 3D de base Changement déchelle 3D relatif à un point de référence

77 Transformations géométriques 3D de base Exemple

78 Sommaire des transformations en OpenGL Pipeline de transformations de OpenGL

79 Sommaire des transformations en OpenGL Sommaire des transformations –Visualisation: Permet de spécifier la position de l observateur –Modélisation: Permet le déplacement des objets dans la scène –MODELVIEW: Représente la dualité entre les transformations de visualisation et de modélisation –Projection: Permet le découpage et le dimensionne- ment du volume de visualisation –Viewport: Permet la mise à l échelle finale dans le fenêtre d affichage

80 Sommaire des transformations en OpenGL Transformation MODELVIEW –Les transformations de modélisation et de visualisation son dual l un avec l autre –Il n existe pas de différence entre déplacer un objet vers l arrière et déplacer le système de coordonnées de visualisation dans le sens inverse (vers l avant) –Il n existe pas de différence à faire une rotation sur un objet et appliquer une rotation - sur le système de coordonnées de visualisation –Le terme MODELVIEW indique que nous pouvons voir cette transformation comme étant soient de modélisation ou de visualisation

81 Sommaire des transformations en OpenGL Matrice MODELVIEW –Matrice de 4X4, représente la transformation requise pour transformer les coordonnées du monde en coordonnées de visualisation –Exemple de translation (cube) glutWireCube(10.0f); // dessine un cube de 10 unités // centré par rapport au système de // coordonnées de visualisation glTranslatef(0.0,10.0f,0.0f) glutWireCube(10.0f);

82 Sommaire des transformations en OpenGL Matrice MODELVIEW –Exemple de rotation (cube) glutWireCube(10.0f); glrotatef(90.0f,1.0f,1.0f,1.0f) glutWireCube(10.0f);

83 Sommaire des transformations en OpenGL Matrice MODELVIEW –Exemple deux translations (cube) glutWireCube(10.0f); glTranslatef(0.0,10.0f,0.0f) glutWireCube(10.0f); glTranslatef(10.0,0.0,0.0f) glutWireCube(10.0f);

84 Sommaire des transformations en OpenGL Matrice MODELVIEW –Exemple deux translations par rapport au système de coordonnées de visualisation (cube) glutWireCube(10.0f); glMatrixMode(GL_MODELVIEW); glLoadIdentity(); glTranslatef(0.0,10.0f,0.0f) glutWireCube(10.0f); glMatrixMode(GL_MODELVIEW); glLoadIdentity(); glTranslatef(10.0,0.0,0.0f) glutWireCube(10.0f);

85 Sommaire des transformations en OpenGL Voir l exemple ATOM pour l utilisation des transformations de base

86 Sommaire des transformations en OpenGL Voir l exemple ATOM pour l utilisation des transformations de base


Télécharger ppt "SUJETS SPÉCIAUX EN INFORMATIQUE I PIF-6003. Contenu du cours Transformations géométriques des objets –Transformations 2D –Transformations entre systèmes."

Présentations similaires


Annonces Google