Design
Design
′
P' = P + T, = [ ], = [ ] −−→ ′= [ ] = [ ]+ [′ ]
12
Grafica pe calculator Universitatea Mustansiriyah
A treia etapă 2020-2021 Colegiu de educaț ie
Departamentul de informatică
2- Matrice de scalare
P’= (S1S2). P
2 0 0.5 0 1 0
S1S2=[ ][ ]= [ ] . [ ]‰ matricea identitate atunci nu
0 20 0.5 01
schimbare
13
Grafica computerizată Universitatea Mustansiriyah
A treia etapă 2020-2021 Colegiul de educaț ie
Departamentul de informatică
2- Faceți o imagine de două ori mai lată și de două ori mai înaltă?
P’= (S1S2P
2 01 0 2 0
(S1S2) . P=[ ][ ]. P−−→ [ ]. [ ]
0 10 2 0 2
2- Matrice de rotaț ie
Dacă un segment de dreaptă are două extremități (0,0) și (x,y), și lungime
= √ 2+ 2:
Raportul dintre înălțimea punctului final (x,y) și axa x are
valoarea coordonatelor y și lungimea segmentului va fi
sinusul unghiului:Sin θ(= ) 2 2 √
14
Grafica pe calculator Universitatea Mustansiriyah
A treia etapă 2020-2021 Colegiu de educaț ie
departamentul de informatică
Note:
Putem roti un segment de linie întreg prin rotirea ambelor
punctele finale care specifică asta.
15
Grafică pe calculator Universitatea Mustansiriyah
A treia etapă 2020-2021 Colegiu de educaț ie
Departamentul de informatică
16
Grafica pe calculator Universitatea Mustansiriyah
A treia etapă 2020-2021 Colegiul de educaț ie
Departamentul de informatică
p
paff= [ =lîn][ ]
1
1
Aplicarea unei transformări afine dă un alt punct afin.
ñ Un punct (x, y) poate fi rescris în coordonate homogenizate ca
(xw, yw, w)
- The omogen parametru w este a non-
valoare zero astfel încât coordonatele x și y pot fi ușor
recuperat prin împărțirea primelor două numere la
treilea.
= =
[ ]= [ ]
1
ñ În coordonate omogene, matricea de scalare este următoarea:
0 0 0
[ 0 ]‰ [ 0 0]
0 0 1
0 0
[0 0 ] [ =[] ] ‰ împarte la w atunci[ este
]
0 0 1
punctul corect scalat.
ñ Matricea de rotație în sens invers acelor de ceasornic este
( ) − ( )
[ ]
( ) ( )
17
Grafica pe calculator Universitatea Mustansiriyah
A treia etapă 2020-2021 Colegiu de educaț ie
Departamentul de informatică
( ) − ( ) 0
Folosind coordonate omogene, obținem:[ ( ) ( ]) 0
0 0 1
Aplicându-l la punctul (x,y) cu omogen (xw,yw,w) se obține:
( ) − ( ) 0
. =[ ( ) ( ]) [ ] 0
0 0 1
+
împărțim la w, apoi obținem punctul P=[
+ ] este corect
punct tradus.
În general:
1- Traducere
̅ 1 0
[ ]= [ 0 1 ][ ]
1 00 1 1
2- Rotatie
̅ ( ) − ( ) 0
[ ]= [ ( ) ( ]) [ ] 0
1 0 0 1 1
18
Grafica pe calculator Universitatea Mustanț iriyah
A treia etapă 2020-2021 Colegiu de educaț ie
Departamentul de informatică
3- Scale
̅ 0 0
[ ]= [ 0 0] [ ]
1 0 0 1 1
ñ Rotire în jurul unui punct arbitrar
Matricea de transformare a coordonatelor omogene pentru
rotație în sens invers acelor de ceasornic în jurul punctului ( , ) este făcut de trei
pașii sunt următorii:
1- Traducere la originea
1 0−
1 =[0 1− ],
0 0 1
̅ 1 0−
[ ]= [ 0 1− ][ ]
1 0 0 1 1
2- Rotire în jurul originii
( ) − ( ) 0
R=[ ( ) ( ]) 0
0 0 1
̿ ( ) − ( ) 0 ̅
[ ̿ ]= [ ( ) ( ]) [ ] 0
1 0 0 1 1
3- Traducerea înapoi în poziția corectă
1 0
2 = [0 1 ]
0 01
̿̅ 1 0 ̿
[ ̿ ]= [ 0 1 ] [ ]̿
1 0 01 1
19
Grafica pe computer Universitatea Mustansiriyah
A treia etapă 2020-2021 Colegiul de educaț ie
Departamentul de informatică
Transformaț ii compozite
- Matricele sunt un mod convenabil și eficient de a reprezenta o
secvență de transformări.
Înmulțirea matricelor nu este comutativă, astfel că ordinea
transformările sunt importante.
Ce se întâmplă dacă vrem să rotați și să translatați?
1 0 ( ) − ( ) 1 0 −x0
2R 1= [ 0 1 ][ ( ) ( ])[ 0 1 −y ] 0
0 01 0 0 1 0 0 1
Ordinea transformărilor
1 0 ( ) − ( ) ( )− Cos( θ+
)
= [0 1 ][ ( ) ( ) ( ) −( ) ] sin θ−
0 01 0 0 1
( ) − ( ) ( ) − ( ) + +
=[ ( ) ( ) ( ) − ] − ( )+
0 0 1
( ) − ( ) ( ) (1 − Cos( ) ) +
=[ ( ) ( ) ( ) ]
(1(− )Cos )−
0 0 1
20
Grafică pe calculator Universitatea Mustansiriyah
A treia etapă 2020-2021 Colegiu de educaț ie
Departamentul de informatică
21
Grafica pe calculator 2018-2019 Vizualizare 2D ș i tăiere
Fereastră
Viewport
1
Grafica pe calculator 2018-2019 Vizualizare ș i tăiere 2D
2
Grafica pe calculator 2018-2019 Vizualizare 2D ș i tăiere
3
Grafica computerizată 2018-2019 Vizualizare 2D ș i decupare
Exemplu1:
Soluț ie
u=
c1 =300/0.1=3000
c2=umin-c1xmin
u=3000x+400
v=d1y+d2
=300/0.1=3000
d2=vmin-d1ymin
=100-3000(0.1)
=-200
v=3000y-200
4
Grafică pe calculator 2018-2019 Vizionare ș i tăiere 2D
Exemplu2:
O fereastră normalizată are stânga (xmin=10) ș i dreapta (xmax=50)
benzi
limite. fereastra viewport stânga (umin=25) ș i
drept (umax=75) ș i inferior (vmin=25) la superior (vmax=75) găsiț i
coordonatele oricărui punct (u,v) în fereastra de vizualizare.
u=
c1 = 75 - 25 / 50 - 10
c1=50/40=1.25
c2=umin-c1xmin
=25-1.25*10
= 25-12.5=12.5
u=1.25x+12.5
v=d1y+d2
=75-25/30-5
d1=50/25=2
d2 = vmin - d1ymin
=25-2*5
=25-10=15
v=2y+15
5
Grafica pe calculator 2018-2019 Vizualizare ș i decupare 2D
(scale-de-traduce)
[] []
N=T2ST1
[ ]
[ ]
[ ]
6
Grafica pe calculator 2018-2019 Vizualizare ș i decupare 2D
Exemplu1:
O fereastră normalizată are limitele stânga ș i dreapta de (-0.05 până la
+0,05) ș i limitele inferioare ș i superioare de (0,1 până la 0,2).
fereastra viewport stânga ș i dreapta este (250,550) ș i de jos în sus
este (100,400), găseș te transformatia N.
Solu ț ia N=T2ST1
[ ]
[ ]
[ ]
[ ]
[ ]
[ ]
[ ][ ][ ]
7
Grafica pe calculator 2018-2019 Vizualizare 2D ș i tăiere
Exemplu 2
Soluț ia N=T2ST1
[ ]
[ ]
[ ]
[ ]
[ ]
8
Grafica computerizată 2018-2019 Vizualizare 2D ș i Tăiere
[ ]
[ ]
[ ][ ][ ]