sujets spÉciaux en informatique i pif-6003. contenu du cours transformations géométriques des...
TRANSCRIPT
![Page 1: SUJETS SPÉCIAUX EN INFORMATIQUE I PIF-6003. Contenu du cours Transformations géométriques des objets –Transformations 2D –Transformations entre systèmes](https://reader030.vdocuments.site/reader030/viewer/2022012922/551d9da5497959293b8d61ee/html5/thumbnails/1.jpg)
SUJETS SPÉCIAUX EN INFORMATIQUE I
PIF-6003
![Page 2: SUJETS SPÉCIAUX EN INFORMATIQUE I PIF-6003. Contenu du cours Transformations géométriques des objets –Transformations 2D –Transformations entre systèmes](https://reader030.vdocuments.site/reader030/viewer/2022012922/551d9da5497959293b8d61ee/html5/thumbnails/2.jpg)
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
![Page 3: SUJETS SPÉCIAUX EN INFORMATIQUE I PIF-6003. Contenu du cours Transformations géométriques des objets –Transformations 2D –Transformations entre systèmes](https://reader030.vdocuments.site/reader030/viewer/2022012922/551d9da5497959293b8d61ee/html5/thumbnails/3.jpg)
Contenu du cours • Transformations géométriques des objets
![Page 4: SUJETS SPÉCIAUX EN INFORMATIQUE I PIF-6003. Contenu du cours Transformations géométriques des objets –Transformations 2D –Transformations entre systèmes](https://reader030.vdocuments.site/reader030/viewer/2022012922/551d9da5497959293b8d61ee/html5/thumbnails/4.jpg)
Transformations géométriques 2D de base
• Translation– La translation d’un point 2D s’effectue par
l’addition des distances de décalage tx et ty aux coordonnées d’origine du point (x,y) permettant son déplacement à la position (x’,y’)
y
x
tyy
txx
'
'
![Page 5: SUJETS SPÉCIAUX EN INFORMATIQUE I PIF-6003. Contenu du cours Transformations géométriques des objets –Transformations 2D –Transformations entre systèmes](https://reader030.vdocuments.site/reader030/viewer/2022012922/551d9da5497959293b8d61ee/html5/thumbnails/5.jpg)
Transformations géométriques 2D de base
• Translation– Sous forme matricielle
'
''
'
''
y
x
ty
tx
t
t
y
xTPP
t
tT
y
xP
y
xP
y
x
y
x
y
x
![Page 6: SUJETS SPÉCIAUX EN INFORMATIQUE I PIF-6003. Contenu du cours Transformations géométriques des objets –Transformations 2D –Transformations entre systèmes](https://reader030.vdocuments.site/reader030/viewer/2022012922/551d9da5497959293b8d61ee/html5/thumbnails/6.jpg)
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 (xr, yr) du pivot
– SI (xr=0, yr=0)
cossin'
sincos'
yxy
yxx
![Page 7: SUJETS SPÉCIAUX EN INFORMATIQUE I PIF-6003. Contenu du cours Transformations géométriques des objets –Transformations 2D –Transformations entre systèmes](https://reader030.vdocuments.site/reader030/viewer/2022012922/551d9da5497959293b8d61ee/html5/thumbnails/7.jpg)
Transformations géométriques 2D de base
• Rotation
![Page 8: SUJETS SPÉCIAUX EN INFORMATIQUE I PIF-6003. Contenu du cours Transformations géométriques des objets –Transformations 2D –Transformations entre systèmes](https://reader030.vdocuments.site/reader030/viewer/2022012922/551d9da5497959293b8d61ee/html5/thumbnails/8.jpg)
Transformations géométriques 2D de base
• Rotation– Sous forme matricielle
PRP 'avec
'
'
cossin
sincos'
cossin
sincos
y
x
y
xPRP
R
![Page 9: SUJETS SPÉCIAUX EN INFORMATIQUE I PIF-6003. Contenu du cours Transformations géométriques des objets –Transformations 2D –Transformations entre systèmes](https://reader030.vdocuments.site/reader030/viewer/2022012922/551d9da5497959293b8d61ee/html5/thumbnails/9.jpg)
Transformations géométriques 2D de base
• Rotation– Par rapport à un pivot
r
r
yy
xxP
Rotation suivi d’une translation
r
r
y
x
y
x
t
tT
TPRP'
TRANSLATION
![Page 10: SUJETS SPÉCIAUX EN INFORMATIQUE I PIF-6003. Contenu du cours Transformations géométriques des objets –Transformations 2D –Transformations entre systèmes](https://reader030.vdocuments.site/reader030/viewer/2022012922/551d9da5497959293b8d61ee/html5/thumbnails/10.jpg)
Transformations géométriques 2D de base
• Rotation– Par rapport à un pivot
1) Translation T(-xr,-yr)2) Rotation d’un angle 3) Translation T(xr,yr)
![Page 11: SUJETS SPÉCIAUX EN INFORMATIQUE I PIF-6003. Contenu du cours Transformations géométriques des objets –Transformations 2D –Transformations entre systèmes](https://reader030.vdocuments.site/reader030/viewer/2022012922/551d9da5497959293b8d61ee/html5/thumbnails/11.jpg)
Transformations géométriques 2D de base
• Changement d’échelle (scaling)– Changement des dimensions d’un objet
y
x
syy
sxx
'
'
![Page 12: SUJETS SPÉCIAUX EN INFORMATIQUE I PIF-6003. Contenu du cours Transformations géométriques des objets –Transformations 2D –Transformations entre systèmes](https://reader030.vdocuments.site/reader030/viewer/2022012922/551d9da5497959293b8d61ee/html5/thumbnails/12.jpg)
Transformations géométriques 2D de base
• Changement d’échelle (scaling)– Sous forme matricielle
y
x
s
sS
y
xP
PSP
0
0
'
![Page 13: SUJETS SPÉCIAUX EN INFORMATIQUE I PIF-6003. Contenu du cours Transformations géométriques des objets –Transformations 2D –Transformations entre systèmes](https://reader030.vdocuments.site/reader030/viewer/2022012922/551d9da5497959293b8d61ee/html5/thumbnails/13.jpg)
Transformations géométriques 2D de base
• Changement d’échelle (scaling)– Par rapport à un point de référence
f
f
yy
xxP
Scaling suivi d’une translation
f
f
y
x
y
x
t
tT
TPSP'
![Page 14: SUJETS SPÉCIAUX EN INFORMATIQUE I PIF-6003. Contenu du cours Transformations géométriques des objets –Transformations 2D –Transformations entre systèmes](https://reader030.vdocuments.site/reader030/viewer/2022012922/551d9da5497959293b8d61ee/html5/thumbnails/14.jpg)
Transformations géométriques 2D de base
• Shearing– Déformation d ’un objet par rapport à un axe donné
yy
shyxx y
'
'
xshxyy
xx
'
'
Direction x
Direction y
![Page 15: SUJETS SPÉCIAUX EN INFORMATIQUE I PIF-6003. Contenu du cours Transformations géométriques des objets –Transformations 2D –Transformations entre systèmes](https://reader030.vdocuments.site/reader030/viewer/2022012922/551d9da5497959293b8d61ee/html5/thumbnails/15.jpg)
Transformations géométriques 2D de base
• Shearing– Sous forme matricielle (Direction x)
10
1
'
yshSH
y
xP
PSHP
![Page 16: SUJETS SPÉCIAUX EN INFORMATIQUE I PIF-6003. Contenu du cours Transformations géométriques des objets –Transformations 2D –Transformations entre systèmes](https://reader030.vdocuments.site/reader030/viewer/2022012922/551d9da5497959293b8d61ee/html5/thumbnails/16.jpg)
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
21' MPMP
Où M1 est une matrice 2X2 et M2 une matrice 2X1
![Page 17: SUJETS SPÉCIAUX EN INFORMATIQUE I PIF-6003. Contenu du cours Transformations géométriques des objets –Transformations 2D –Transformations entre systèmes](https://reader030.vdocuments.site/reader030/viewer/2022012922/551d9da5497959293b8d61ee/html5/thumbnails/17.jpg)
Transformations multiples (composite)
• Divers cas– Translation:
• M1: matrice identité
• M2: terme translationnel
– Rotation:
• M1: matrice de rotation
• M2: terme translationnel (pivot)
– Scaling:
• M1: matrice des changements d’échelle
• M2: terme translationnel (point de référence)
![Page 18: SUJETS SPÉCIAUX EN INFORMATIQUE I PIF-6003. Contenu du cours Transformations géométriques des objets –Transformations 2D –Transformations entre systèmes](https://reader030.vdocuments.site/reader030/viewer/2022012922/551d9da5497959293b8d61ee/html5/thumbnails/18.jpg)
Transformations multiples (composite)
• Une séquence de transformations S-R-T s’effectue:– 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 d’améliorer l’efficacité en éliminant le terme additif M2
![Page 19: SUJETS SPÉCIAUX EN INFORMATIQUE I PIF-6003. Contenu du cours Transformations géométriques des objets –Transformations 2D –Transformations entre systèmes](https://reader030.vdocuments.site/reader030/viewer/2022012922/551d9da5497959293b8d61ee/html5/thumbnails/19.jpg)
Transformations multiples (composite)
• Pour combiner les termes multiplicatifs et translationnels il faut utiliser une forme matricielle M1de 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
![Page 20: SUJETS SPÉCIAUX EN INFORMATIQUE I PIF-6003. Contenu du cours Transformations géométriques des objets –Transformations 2D –Transformations entre systèmes](https://reader030.vdocuments.site/reader030/viewer/2022012922/551d9da5497959293b8d61ee/html5/thumbnails/20.jpg)
Transformations multiples (composite)
• Les coordonnées cartésiennes (x, y) sont alors représentées sous forme homogène (xh, yh, h) ou x=xh/h et y=yh/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)
![Page 21: SUJETS SPÉCIAUX EN INFORMATIQUE I PIF-6003. Contenu du cours Transformations géométriques des objets –Transformations 2D –Transformations entre systèmes](https://reader030.vdocuments.site/reader030/viewer/2022012922/551d9da5497959293b8d61ee/html5/thumbnails/21.jpg)
Transformations multiples (composite)
• Translation
PttTP
y
x
t
t
y
x
yx
y
x
),('
1100
10
01
1
'
'
• Rotation
PRP
y
x
y
x
)('
1100
0cossin
0sincos
1
'
'
![Page 22: SUJETS SPÉCIAUX EN INFORMATIQUE I PIF-6003. Contenu du cours Transformations géométriques des objets –Transformations 2D –Transformations entre systèmes](https://reader030.vdocuments.site/reader030/viewer/2022012922/551d9da5497959293b8d61ee/html5/thumbnails/22.jpg)
Transformations multiples (composite)
• Scaling
PssSP
y
x
s
s
y
x
yx
y
x
),('
1100
00
00
1
'
'
![Page 23: SUJETS SPÉCIAUX EN INFORMATIQUE I PIF-6003. Contenu du cours Transformations géométriques des objets –Transformations 2D –Transformations entre systèmes](https://reader030.vdocuments.site/reader030/viewer/2022012922/551d9da5497959293b8d61ee/html5/thumbnails/23.jpg)
Transformations multiples (composite)
• Shearing
PshshSHP
y
x
sh
sh
y
x
yx
x
y
),('
1100
01
01
1
'
'
Direction x: SH(shx=0,shy)Direction y: SH(shx,shy=0)
![Page 24: SUJETS SPÉCIAUX EN INFORMATIQUE I PIF-6003. Contenu du cours Transformations géométriques des objets –Transformations 2D –Transformations entre systèmes](https://reader030.vdocuments.site/reader030/viewer/2022012922/551d9da5497959293b8d61ee/html5/thumbnails/24.jpg)
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 (tx1,ty1), (tx2,ty2)
PttTttTP yxyx ),(),(' 1122
![Page 25: SUJETS SPÉCIAUX EN INFORMATIQUE I PIF-6003. Contenu du cours Transformations géométriques des objets –Transformations 2D –Transformations entre systèmes](https://reader030.vdocuments.site/reader030/viewer/2022012922/551d9da5497959293b8d61ee/html5/thumbnails/25.jpg)
Transformations multiples (composite)
• Cette transformation s’écrit
),(),(),(
100
10
01
100
10
01
100
10
01
21211122
21
21
1
1
2
2
yyxxyxyx
yy
xx
y
x
y
x
ttttTttTttT
tt
tt
t
t
t
t
![Page 26: SUJETS SPÉCIAUX EN INFORMATIQUE I PIF-6003. Contenu du cours Transformations géométriques des objets –Transformations 2D –Transformations entre systèmes](https://reader030.vdocuments.site/reader030/viewer/2022012922/551d9da5497959293b8d61ee/html5/thumbnails/26.jpg)
Transformations multiples (composite)
• 2 rotations
PRP
RRR
PRRP
)('
)()()(
)()('
21
2112
12
![Page 27: SUJETS SPÉCIAUX EN INFORMATIQUE I PIF-6003. Contenu du cours Transformations géométriques des objets –Transformations 2D –Transformations entre systèmes](https://reader030.vdocuments.site/reader030/viewer/2022012922/551d9da5497959293b8d61ee/html5/thumbnails/27.jpg)
Transformations multiples (composite)
• 2 scaling
),(),(),(
100
00
00
100
00
00
100
00
00
),(),('
21211122
21
21
1
1
2
2
1122
yyxxyxyx
yy
xx
y
x
y
x
yxyx
ssssSssSssS
ss
ss
s
s
s
s
PssSssSP
![Page 28: SUJETS SPÉCIAUX EN INFORMATIQUE I PIF-6003. Contenu du cours Transformations géométriques des objets –Transformations 2D –Transformations entre systèmes](https://reader030.vdocuments.site/reader030/viewer/2022012922/551d9da5497959293b8d61ee/html5/thumbnails/28.jpg)
Transformations multiples (composite)
• Rotation par rapport à un pivot
![Page 29: SUJETS SPÉCIAUX EN INFORMATIQUE I PIF-6003. Contenu du cours Transformations géométriques des objets –Transformations 2D –Transformations entre systèmes](https://reader030.vdocuments.site/reader030/viewer/2022012922/551d9da5497959293b8d61ee/html5/thumbnails/29.jpg)
Transformations multiples (composite)
• Matrice des transformations
),,(),()(),(
100
sin)cos1(cossin
sin)cos1(sincos
100
10
01
100
0cossin
0sincos
100
10
01
rrrrrr
rr
rr
r
r
r
r
yxRyxTRyxT
xy
yx
y
x
y
x
![Page 30: SUJETS SPÉCIAUX EN INFORMATIQUE I PIF-6003. Contenu du cours Transformations géométriques des objets –Transformations 2D –Transformations entre systèmes](https://reader030.vdocuments.site/reader030/viewer/2022012922/551d9da5497959293b8d61ee/html5/thumbnails/30.jpg)
Transformations multiples (composite)
• Scaling avec un point de référence
![Page 31: SUJETS SPÉCIAUX EN INFORMATIQUE I PIF-6003. Contenu du cours Transformations géométriques des objets –Transformations 2D –Transformations entre systèmes](https://reader030.vdocuments.site/reader030/viewer/2022012922/551d9da5497959293b8d61ee/html5/thumbnails/31.jpg)
Transformations multiples (composite)
• Matrice des transformations
),,,(),(),(),(
100
)1(0
)1(0
100
10
01
100
00
00
100
10
01
yxffffyxff
yfy
xfx
f
f
y
x
f
f
ssyxSyxTssSyxT
sys
sxs
y
x
s
s
y
x
![Page 32: SUJETS SPÉCIAUX EN INFORMATIQUE I PIF-6003. Contenu du cours Transformations géométriques des objets –Transformations 2D –Transformations entre systèmes](https://reader030.vdocuments.site/reader030/viewer/2022012922/551d9da5497959293b8d61ee/html5/thumbnails/32.jpg)
Transformations multiples (composite)
• Forme générale
yyyyx
xxyxx
yyyyx
xxyxx
trsrsyrsxy
trsrsyrsxx
y
x
trsrsrs
trsrsrs
y
x
'
'
11001
'
'
• Complexité 4 X et + VS 9 X 6 +
![Page 33: SUJETS SPÉCIAUX EN INFORMATIQUE I PIF-6003. Contenu du cours Transformations géométriques des objets –Transformations 2D –Transformations entre systèmes](https://reader030.vdocuments.site/reader030/viewer/2022012922/551d9da5497959293b8d61ee/html5/thumbnails/33.jpg)
Transformations multiples (composite)
• Par exemple, si un objet doit subir un changement d’échelle et une rotation par rapport au point (xc, yc) et par la suite une translation, la matrice composite devient
100
sin)cos1(cossin
sin)cos1(sincos
),,,(),,(),(
yxcycyx
xycxcyx
yxccccyx
tSxSySS
tSySxSS
SSyxSyxRttT
![Page 34: SUJETS SPÉCIAUX EN INFORMATIQUE I PIF-6003. Contenu du cours Transformations géométriques des objets –Transformations 2D –Transformations entre systèmes](https://reader030.vdocuments.site/reader030/viewer/2022012922/551d9da5497959293b8d61ee/html5/thumbnails/34.jpg)
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
![Page 35: SUJETS SPÉCIAUX EN INFORMATIQUE I PIF-6003. Contenu du cours Transformations géométriques des objets –Transformations 2D –Transformations entre systèmes](https://reader030.vdocuments.site/reader030/viewer/2022012922/551d9da5497959293b8d61ee/html5/thumbnails/35.jpg)
Transformations multiples (composite)
• Transformations entre systèmes de coordonnées– Pour transformer la description d’un objet
d’un système de coordonnées x y à x’y’ nous devons effectuer une transformation qui doit permettre la superposition des axes du système x’y’ sur ceux du système xy• Translation T(-x0, -y0)
• R(-)
![Page 36: SUJETS SPÉCIAUX EN INFORMATIQUE I PIF-6003. Contenu du cours Transformations géométriques des objets –Transformations 2D –Transformations entre systèmes](https://reader030.vdocuments.site/reader030/viewer/2022012922/551d9da5497959293b8d61ee/html5/thumbnails/36.jpg)
Transformations multiples (composite)
• Transformations entre systèmes de coordonnées
![Page 37: SUJETS SPÉCIAUX EN INFORMATIQUE I PIF-6003. Contenu du cours Transformations géométriques des objets –Transformations 2D –Transformations entre systèmes](https://reader030.vdocuments.site/reader030/viewer/2022012922/551d9da5497959293b8d61ee/html5/thumbnails/37.jpg)
Transformations multiples (composite)
• Transformations entre systèmes de coordonnées
0
0
0 0
0
0
' cos sin
' sin cos
1 0 0 1 1
' ( ) ( ,
' cos sin
' sin cos
x x x
y y y
P R T x y P
x x y x
y x y y
![Page 38: SUJETS SPÉCIAUX EN INFORMATIQUE I PIF-6003. Contenu du cours Transformations géométriques des objets –Transformations 2D –Transformations entre systèmes](https://reader030.vdocuments.site/reader030/viewer/2022012922/551d9da5497959293b8d61ee/html5/thumbnails/38.jpg)
Visualisation 2D (Rappel)
• Une surface dans le système de coordonnées du monde sélectionnée pour l’affichage 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)
![Page 39: SUJETS SPÉCIAUX EN INFORMATIQUE I PIF-6003. Contenu du cours Transformations géométriques des objets –Transformations 2D –Transformations entre systèmes](https://reader030.vdocuments.site/reader030/viewer/2022012922/551d9da5497959293b8d61ee/html5/thumbnails/39.jpg)
Visualisation 2D
• Les transformations de visualisations
![Page 40: SUJETS SPÉCIAUX EN INFORMATIQUE I PIF-6003. Contenu du cours Transformations géométriques des objets –Transformations 2D –Transformations entre systèmes](https://reader030.vdocuments.site/reader030/viewer/2022012922/551d9da5497959293b8d61ee/html5/thumbnails/40.jpg)
Visualisation 2D
• Le passage des WC au VC
![Page 41: SUJETS SPÉCIAUX EN INFORMATIQUE I PIF-6003. Contenu du cours Transformations géométriques des objets –Transformations 2D –Transformations entre systèmes](https://reader030.vdocuments.site/reader030/viewer/2022012922/551d9da5497959293b8d61ee/html5/thumbnails/41.jpg)
Visualisation 2D
• WC -> VC
WCVCWCWCVC PMPTRP ,
![Page 42: SUJETS SPÉCIAUX EN INFORMATIQUE I PIF-6003. Contenu du cours Transformations géométriques des objets –Transformations 2D –Transformations entre systèmes](https://reader030.vdocuments.site/reader030/viewer/2022012922/551d9da5497959293b8d61ee/html5/thumbnails/42.jpg)
Visualisation 2D
• VC -> NVC
![Page 43: SUJETS SPÉCIAUX EN INFORMATIQUE I PIF-6003. Contenu du cours Transformations géométriques des objets –Transformations 2D –Transformations entre systèmes](https://reader030.vdocuments.site/reader030/viewer/2022012922/551d9da5497959293b8d61ee/html5/thumbnails/43.jpg)
Visualisation 2D
• VC -> NVC– Pour maintenir les mêmes positions relatives
dans les deux représentations nous devons savoir
minmax
min
minmax
min
minmax
min
minmax
min
ywyw
ywyw
yvyv
yvyv
xwxw
xwxw
xvxv
xvxv
v: viewportw: window
![Page 44: SUJETS SPÉCIAUX EN INFORMATIQUE I PIF-6003. Contenu du cours Transformations géométriques des objets –Transformations 2D –Transformations entre systèmes](https://reader030.vdocuments.site/reader030/viewer/2022012922/551d9da5497959293b8d61ee/html5/thumbnails/44.jpg)
Visualisation 2D
• VC -> NVC– Maintien des positions relatives
![Page 45: SUJETS SPÉCIAUX EN INFORMATIQUE I PIF-6003. Contenu du cours Transformations géométriques des objets –Transformations 2D –Transformations entre systèmes](https://reader030.vdocuments.site/reader030/viewer/2022012922/551d9da5497959293b8d61ee/html5/thumbnails/45.jpg)
Visualisation 2D
• VC -> NVC– Nous pouvons alors déduire (xv,yv) par
minmax
minmax
minmax
minmax
minmin
minmin
)(
)(
ywyw
yvyvsy
xwxw
xvxvsx
syywywyvyv
sxxwxwxvxv
![Page 46: SUJETS SPÉCIAUX EN INFORMATIQUE I PIF-6003. Contenu du cours Transformations géométriques des objets –Transformations 2D –Transformations entre systèmes](https://reader030.vdocuments.site/reader030/viewer/2022012922/551d9da5497959293b8d61ee/html5/thumbnails/46.jpg)
Visualisation 2D
• VC -> NVC– Séquences de transformations correspondantes
• Scaling avec comme point de référence (xwmin,ywmin) (fenêtre)
• Translation à la position du viewport (xvmin,yvmin)
![Page 47: SUJETS SPÉCIAUX EN INFORMATIQUE I PIF-6003. Contenu du cours Transformations géométriques des objets –Transformations 2D –Transformations entre systèmes](https://reader030.vdocuments.site/reader030/viewer/2022012922/551d9da5497959293b8d61ee/html5/thumbnails/47.jpg)
Transformations géométriques 3D de base
• Translation– La translation d’un point 3D s’effectue par
l’addition des distances de décalage tx, ty et tz aux coordonnées d’origine du point (x,y,z) permettant son déplacement à la position (x’,y’,z’)
z
y
x
tzz
tyy
txx
'
'
'
![Page 48: SUJETS SPÉCIAUX EN INFORMATIQUE I PIF-6003. Contenu du cours Transformations géométriques des objets –Transformations 2D –Transformations entre systèmes](https://reader030.vdocuments.site/reader030/viewer/2022012922/551d9da5497959293b8d61ee/html5/thumbnails/48.jpg)
Transformations géométriques 3D de base• Translation
– Sous forme matricielle (coordonnées homogènes)
PTP
z
y
x
t
t
t
z
y
x
z
y
x
'
11000
100
010
001
1
'
'
'
![Page 49: SUJETS SPÉCIAUX EN INFORMATIQUE I PIF-6003. Contenu du cours Transformations géométriques des objets –Transformations 2D –Transformations entre systèmes](https://reader030.vdocuments.site/reader030/viewer/2022012922/551d9da5497959293b8d61ee/html5/thumbnails/49.jpg)
Transformations géométriques 3D de base
• Translation– La translation d’un objet 3D revient à déplacer les
points de l’objet. Pour un objet 3D représenté par un ensemble de surfaces polygonales, la translation est appliquée sur les sommets. Ensuite, l’objet est retracé
![Page 50: SUJETS SPÉCIAUX EN INFORMATIQUE I PIF-6003. Contenu du cours Transformations géométriques des objets –Transformations 2D –Transformations entre systèmes](https://reader030.vdocuments.site/reader030/viewer/2022012922/551d9da5497959293b8d61ee/html5/thumbnails/50.jpg)
Transformations géométriques 3D de base• Translation d’un objet 3D
![Page 51: SUJETS SPÉCIAUX EN INFORMATIQUE I PIF-6003. Contenu du cours Transformations géométriques des objets –Transformations 2D –Transformations entre systèmes](https://reader030.vdocuments.site/reader030/viewer/2022012922/551d9da5497959293b8d61ee/html5/thumbnails/51.jpg)
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 s’effectuer par rapport à n’importe quel axe dans l’espace
– 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
![Page 52: SUJETS SPÉCIAUX EN INFORMATIQUE I PIF-6003. Contenu du cours Transformations géométriques des objets –Transformations 2D –Transformations entre systèmes](https://reader030.vdocuments.site/reader030/viewer/2022012922/551d9da5497959293b8d61ee/html5/thumbnails/52.jpg)
Transformations géométriques 3D de base
• Rotation
![Page 53: SUJETS SPÉCIAUX EN INFORMATIQUE I PIF-6003. Contenu du cours Transformations géométriques des objets –Transformations 2D –Transformations entre systèmes](https://reader030.vdocuments.site/reader030/viewer/2022012922/551d9da5497959293b8d61ee/html5/thumbnails/53.jpg)
Transformations géométriques 3D de base
• Rotation 3D par rapport à l’axe z
zz
yxy
yxx
'
cossin'
sincos'
PRP
z
y
x
z
y
x
z
)('
11000
0100
00cossin
00sincos
1
'
'
'
![Page 54: SUJETS SPÉCIAUX EN INFORMATIQUE I PIF-6003. Contenu du cours Transformations géométriques des objets –Transformations 2D –Transformations entre systèmes](https://reader030.vdocuments.site/reader030/viewer/2022012922/551d9da5497959293b8d61ee/html5/thumbnails/54.jpg)
Transformations géométriques 3D de base
• Rotation 3D par rapport à l’axe z
![Page 55: SUJETS SPÉCIAUX EN INFORMATIQUE I PIF-6003. Contenu du cours Transformations géométriques des objets –Transformations 2D –Transformations entre systèmes](https://reader030.vdocuments.site/reader030/viewer/2022012922/551d9da5497959293b8d61ee/html5/thumbnails/55.jpg)
Transformations géométriques 3D de base
• Rotation 3D par rapport à l’axe x (x->y->z->x)
xx
zyz
zyy
'
cossin'
sincos'
PRP
z
y
x
z
y
x
x
)('
11000
0cossin0
0sincos0
0001
1
'
'
'
![Page 56: SUJETS SPÉCIAUX EN INFORMATIQUE I PIF-6003. Contenu du cours Transformations géométriques des objets –Transformations 2D –Transformations entre systèmes](https://reader030.vdocuments.site/reader030/viewer/2022012922/551d9da5497959293b8d61ee/html5/thumbnails/56.jpg)
Transformations géométriques 3D de base
• Rotation 3D par rapport à l’axe x
![Page 57: SUJETS SPÉCIAUX EN INFORMATIQUE I PIF-6003. Contenu du cours Transformations géométriques des objets –Transformations 2D –Transformations entre systèmes](https://reader030.vdocuments.site/reader030/viewer/2022012922/551d9da5497959293b8d61ee/html5/thumbnails/57.jpg)
Transformations géométriques 3D de base
• Rotation 3D par rapport à l’axe y (y->z->x->y)
yy
xzx
xzz
'
cossin'
sincos'
PRP
z
y
x
z
y
x
y
)('
11000
0cos0sin
0010
0sin0cos
1
'
'
'
![Page 58: SUJETS SPÉCIAUX EN INFORMATIQUE I PIF-6003. Contenu du cours Transformations géométriques des objets –Transformations 2D –Transformations entre systèmes](https://reader030.vdocuments.site/reader030/viewer/2022012922/551d9da5497959293b8d61ee/html5/thumbnails/58.jpg)
Transformations géométriques 3D de base
• Rotation 3D par rapport à l’axe y
![Page 59: SUJETS SPÉCIAUX EN INFORMATIQUE I PIF-6003. Contenu du cours Transformations géométriques des objets –Transformations 2D –Transformations entre systèmes](https://reader030.vdocuments.site/reader030/viewer/2022012922/551d9da5497959293b8d61ee/html5/thumbnails/59.jpg)
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 l’objet pour amener l’axe de rotation sur l’axe de coordonnées
• Rotation de l’objet par rapport à cet axe de coordonnées
• Translation de l’objet pour ramener l’axe de rotation à sa place originale
![Page 60: SUJETS SPÉCIAUX EN INFORMATIQUE I PIF-6003. Contenu du cours Transformations géométriques des objets –Transformations 2D –Transformations entre systèmes](https://reader030.vdocuments.site/reader030/viewer/2022012922/551d9da5497959293b8d61ee/html5/thumbnails/60.jpg)
Transformations géométriques 3D de base
• Rotation 3D générale– Cas 1: Axe de rotation parallèle à un axe de
coordonnées
![Page 61: SUJETS SPÉCIAUX EN INFORMATIQUE I PIF-6003. Contenu du cours Transformations géométriques des objets –Transformations 2D –Transformations entre systèmes](https://reader030.vdocuments.site/reader030/viewer/2022012922/551d9da5497959293b8d61ee/html5/thumbnails/61.jpg)
Transformations géométriques 3D de base
• Rotation 3D générale– Cas 1: Axe de rotation parallèle à un axe de
coordonnées
PTRTP x )(' 1
![Page 62: SUJETS SPÉCIAUX EN INFORMATIQUE I PIF-6003. Contenu du cours Transformations géométriques des objets –Transformations 2D –Transformations entre systèmes](https://reader030.vdocuments.site/reader030/viewer/2022012922/551d9da5497959293b8d61ee/html5/thumbnails/62.jpg)
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 l’objet pour faire passer l’axe de rotation
par l’origine
• Rotation de l’objet pour faire coïncider l’axe de rotation avec un des axes de coordonnées (axe z)
• Rotation de l’objet par rapport à cet axe de coordonnées
• Rotation inverse de l’objet pour ramener son axe de rotation à son orientation originale
• Translation inverse de l’objet pour ramener l’axe de rotation à sa place originale
![Page 63: SUJETS SPÉCIAUX EN INFORMATIQUE I PIF-6003. Contenu du cours Transformations géométriques des objets –Transformations 2D –Transformations entre systèmes](https://reader030.vdocuments.site/reader030/viewer/2022012922/551d9da5497959293b8d61ee/html5/thumbnails/63.jpg)
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
![Page 64: SUJETS SPÉCIAUX EN INFORMATIQUE I PIF-6003. Contenu du cours Transformations géométriques des objets –Transformations 2D –Transformations entre systèmes](https://reader030.vdocuments.site/reader030/viewer/2022012922/551d9da5497959293b8d61ee/html5/thumbnails/64.jpg)
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 l’axe de rotation et les axes de coordonnées
![Page 65: SUJETS SPÉCIAUX EN INFORMATIQUE I PIF-6003. Contenu du cours Transformations géométriques des objets –Transformations 2D –Transformations entre systèmes](https://reader030.vdocuments.site/reader030/viewer/2022012922/551d9da5497959293b8d61ee/html5/thumbnails/65.jpg)
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
2 1
2 1 2 1 2 1( , , )
( , , )x y z
V P P
V x x y y z z
V V V V
![Page 66: SUJETS SPÉCIAUX EN INFORMATIQUE I PIF-6003. Contenu du cours Transformations géométriques des objets –Transformations 2D –Transformations entre systèmes](https://reader030.vdocuments.site/reader030/viewer/2022012922/551d9da5497959293b8d61ee/html5/thumbnails/66.jpg)
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 l’axe de rotation
est donné par
),,(
),,(
cbau
V
V
V
V
V
Vu
V
Vu
zyx
![Page 67: SUJETS SPÉCIAUX EN INFORMATIQUE I PIF-6003. Contenu du cours Transformations géométriques des objets –Transformations 2D –Transformations entre systèmes](https://reader030.vdocuments.site/reader030/viewer/2022012922/551d9da5497959293b8d61ee/html5/thumbnails/67.jpg)
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 l’axe de rotation
1000
100
010
001
1
1
1
z
y
x
T
![Page 68: SUJETS SPÉCIAUX EN INFORMATIQUE I PIF-6003. Contenu du cours Transformations géométriques des objets –Transformations 2D –Transformations entre systèmes](https://reader030.vdocuments.site/reader030/viewer/2022012922/551d9da5497959293b8d61ee/html5/thumbnails/68.jpg)
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 l’axe de rotation sur l’axe z
– Rotation par rapport à l’axe x pour amener u dans le plan xz
– Rotation par rapport à l’axe y pour amener u sur l’axe z
![Page 69: SUJETS SPÉCIAUX EN INFORMATIQUE I PIF-6003. Contenu du cours Transformations géométriques des objets –Transformations 2D –Transformations entre systèmes](https://reader030.vdocuments.site/reader030/viewer/2022012922/551d9da5497959293b8d61ee/html5/thumbnails/69.jpg)
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 l’axe de rotation sur l’axe z
– Rotation par rapport à l’axe x pour amener u dans le plan xz
1000
0//0
0//0
0001
)(dcdb
dbdcRx
![Page 70: SUJETS SPÉCIAUX EN INFORMATIQUE I PIF-6003. Contenu du cours Transformations géométriques des objets –Transformations 2D –Transformations entre systèmes](https://reader030.vdocuments.site/reader030/viewer/2022012922/551d9da5497959293b8d61ee/html5/thumbnails/70.jpg)
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 l’axe de rotation sur l’axe z
– Rotation par rapport à l’axe x pour amener u dans le plan xz
» L’angle est l’angle entre la projection de u dans le plan yz et l’axe z
» La projection de u dans le plan yz est u’ = (0,b,c), cos et sin sont donnés par
d
b
cb
c
u
c
d
c
sin
'cos
22
![Page 71: SUJETS SPÉCIAUX EN INFORMATIQUE I PIF-6003. Contenu du cours Transformations géométriques des objets –Transformations 2D –Transformations entre systèmes](https://reader030.vdocuments.site/reader030/viewer/2022012922/551d9da5497959293b8d61ee/html5/thumbnails/71.jpg)
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 l’axe de rotation sur l’axe z
– Rotation par rapport à l’axe y pour amener u sur l’axe z
a
d
da
ad
Ry
sin
cos
1000
00
0010
00
)(
![Page 72: SUJETS SPÉCIAUX EN INFORMATIQUE I PIF-6003. Contenu du cours Transformations géométriques des objets –Transformations 2D –Transformations entre systèmes](https://reader030.vdocuments.site/reader030/viewer/2022012922/551d9da5497959293b8d61ee/html5/thumbnails/72.jpg)
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 l’objet par rapport l’axe z
1000
0100
00cossin
00sincos
)(
zR
![Page 73: SUJETS SPÉCIAUX EN INFORMATIQUE I PIF-6003. Contenu du cours Transformations géométriques des objets –Transformations 2D –Transformations entre systèmes](https://reader030.vdocuments.site/reader030/viewer/2022012922/551d9da5497959293b8d61ee/html5/thumbnails/73.jpg)
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 Rx-1, Ry
-1et T-1
• La matrice de transformation composée est alors
TRRRRRTR xyzyx )()()()()()( 111
![Page 74: SUJETS SPÉCIAUX EN INFORMATIQUE I PIF-6003. Contenu du cours Transformations géométriques des objets –Transformations 2D –Transformations entre systèmes](https://reader030.vdocuments.site/reader030/viewer/2022012922/551d9da5497959293b8d61ee/html5/thumbnails/74.jpg)
Transformations géométriques 3D de base• Changement d’échelle 3D
z
y
x
Szz
Syy
Sxx
'
'
'PSP
z
y
x
S
S
S
z
y
x
z
y
x
'
11000
000
000
000
1
'
'
'
![Page 75: SUJETS SPÉCIAUX EN INFORMATIQUE I PIF-6003. Contenu du cours Transformations géométriques des objets –Transformations 2D –Transformations entre systèmes](https://reader030.vdocuments.site/reader030/viewer/2022012922/551d9da5497959293b8d61ee/html5/thumbnails/75.jpg)
Transformations géométriques 3D de base• Changement d’échelle 3D
![Page 76: SUJETS SPÉCIAUX EN INFORMATIQUE I PIF-6003. Contenu du cours Transformations géométriques des objets –Transformations 2D –Transformations entre systèmes](https://reader030.vdocuments.site/reader030/viewer/2022012922/551d9da5497959293b8d61ee/html5/thumbnails/76.jpg)
Transformations géométriques 3D de base• Changement d’échelle 3D relatif à un point de
référence
),,(),,(),,('
1000
)1(00
)1(00
)1(00
'
fffzyxfff
fzz
fyy
fxx
zyxTSSSSzyxTS
zSS
ySS
xSS
S
![Page 77: SUJETS SPÉCIAUX EN INFORMATIQUE I PIF-6003. Contenu du cours Transformations géométriques des objets –Transformations 2D –Transformations entre systèmes](https://reader030.vdocuments.site/reader030/viewer/2022012922/551d9da5497959293b8d61ee/html5/thumbnails/77.jpg)
Transformations géométriques 3D de base
• Exemple
![Page 78: SUJETS SPÉCIAUX EN INFORMATIQUE I PIF-6003. Contenu du cours Transformations géométriques des objets –Transformations 2D –Transformations entre systèmes](https://reader030.vdocuments.site/reader030/viewer/2022012922/551d9da5497959293b8d61ee/html5/thumbnails/78.jpg)
Sommaire des transformations en OpenGL
• Pipeline de transformations de OpenGL
![Page 79: SUJETS SPÉCIAUX EN INFORMATIQUE I PIF-6003. Contenu du cours Transformations géométriques des objets –Transformations 2D –Transformations entre systèmes](https://reader030.vdocuments.site/reader030/viewer/2022012922/551d9da5497959293b8d61ee/html5/thumbnails/79.jpg)
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
![Page 80: SUJETS SPÉCIAUX EN INFORMATIQUE I PIF-6003. Contenu du cours Transformations géométriques des objets –Transformations 2D –Transformations entre systèmes](https://reader030.vdocuments.site/reader030/viewer/2022012922/551d9da5497959293b8d61ee/html5/thumbnails/80.jpg)
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
![Page 81: SUJETS SPÉCIAUX EN INFORMATIQUE I PIF-6003. Contenu du cours Transformations géométriques des objets –Transformations 2D –Transformations entre systèmes](https://reader030.vdocuments.site/reader030/viewer/2022012922/551d9da5497959293b8d61ee/html5/thumbnails/81.jpg)
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);
![Page 82: SUJETS SPÉCIAUX EN INFORMATIQUE I PIF-6003. Contenu du cours Transformations géométriques des objets –Transformations 2D –Transformations entre systèmes](https://reader030.vdocuments.site/reader030/viewer/2022012922/551d9da5497959293b8d61ee/html5/thumbnails/82.jpg)
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);
![Page 83: SUJETS SPÉCIAUX EN INFORMATIQUE I PIF-6003. Contenu du cours Transformations géométriques des objets –Transformations 2D –Transformations entre systèmes](https://reader030.vdocuments.site/reader030/viewer/2022012922/551d9da5497959293b8d61ee/html5/thumbnails/83.jpg)
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);
![Page 84: SUJETS SPÉCIAUX EN INFORMATIQUE I PIF-6003. Contenu du cours Transformations géométriques des objets –Transformations 2D –Transformations entre systèmes](https://reader030.vdocuments.site/reader030/viewer/2022012922/551d9da5497959293b8d61ee/html5/thumbnails/84.jpg)
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);
![Page 85: SUJETS SPÉCIAUX EN INFORMATIQUE I PIF-6003. Contenu du cours Transformations géométriques des objets –Transformations 2D –Transformations entre systèmes](https://reader030.vdocuments.site/reader030/viewer/2022012922/551d9da5497959293b8d61ee/html5/thumbnails/85.jpg)
Sommaire des transformations en OpenGL
• Voir l ’exemple ATOM pour l ’utilisation des transformations de base
![Page 86: SUJETS SPÉCIAUX EN INFORMATIQUE I PIF-6003. Contenu du cours Transformations géométriques des objets –Transformations 2D –Transformations entre systèmes](https://reader030.vdocuments.site/reader030/viewer/2022012922/551d9da5497959293b8d61ee/html5/thumbnails/86.jpg)
Sommaire des transformations en OpenGL
• Voir l ’exemple ATOM pour l ’utilisation des transformations de base