grafica2d
DESCRIPTION
Curs Grafica2DTRANSCRIPT
-
BibliografieFalcidieno, B., Herman, I., Pienovi, C., Computer Graphics and Mathematics, New York, Springer, 1992 Dogaru, D., Elemente de grafic tridimensional, Bucureti, Editura tiinific i Enciclopedic, 1988 Smeureanu, I., Odgescu, I., Luca, D., Drdal, M., Furtun, F., Grafic interactiva pe calculatoare personale, Editura Militar, Bucureti, 1995Furtun, F., Grafic interactiv cu aplicaii n Java i Java3D, Editura ASE, Bucureti, 2007Rodica Baciu , Programarea aplicatiilor grafice 3D cu OpenGL , Editura Albastra, Cluj Napoca, 2005***, Euclidian Space building a 3D world, http://www.euclideanspace.com/ OpenGL Reference Manual, http://www.glprogramming.com/blue/index.html
-
Transformari geometrice planeTransformari elementareTransformarea de vizualizareTransformari geometrice in spatiuSisteme de coordonate 3DTransformari 3DTransformari geometrice
-
Transformri geometrice planeCoordonate omogene - Un punct P(x y ) se reprezint n sistem de coordonate omogene prin punctul P(X Y w), unde X=xw, Y=yw, pentru orice valoare w0, numit factor general de scal Transformare plan Definesc o transformare plan ecuaiile xt= f(x, y), yt= g(x, y), care permit trecerea de la punctul M(x, y,1) la punctul Mt(xt, yt, 1) Matrice de transformare Matrice de dimensiune 33 prin care sunt modelate transformrile geometrice plane
-
Transformri elementareTranslaia: xt = x + a , yt = y + b Scalarea: xt = xa , yt = y b
-
Transformri elementareDeformarea (forfecarea): xt = x + ay , yt = y + bx Simetria: xt = - x , yt = - y
-
Transformri elementareRotaia n jurul originii n sens trigonometric cu un unghi
M (x,y)
Mt (xt, yt)
O
Y
X
r
-
Compunerea transformrilor 2DO transformare compus const ntr-o succesiune de transformri elementare executate ntr-o anumit ordine.Matricea transformrii compuse este produsul matricelor transformrilor elementare componenteTransformarea invers Transformare care are ca efect aducerea unui corp n starea iniial
-
Transformarea de vizualizare
-
Transformarea de vizualizareCoordonate utilizator (coordonatele reale) - spaiul utilizator - fereastr
-
Transformarea de vizualizarecoordonate ecran spaiul ecran vizor (viewport)
Spaiul ecran
Vizorul
(vl,vt)
(vr,vb)
-
Transformarea de vizualizare
Fereastra
Vizorul
(x, y)
(vl,vt)
(vr,vb)
(xe, ye)
(wl,wt)
(wr,wb)
-
Aplicatia 1. S se realizeze o hart a Romniei pornind de la cele dou coordonate geografice (latitudine, longitudine) ale oraelor reedin de jude.
Ora
Latitudine
Longitudine
Ora
Latitudine
Longitudine
Braov
45.6333
25.5833
Piteti
44.85
24.8667
Alba Iulia
46.0667
23.5833
Trgu Mure
46.55
24.5667
Arad
46.3333
21.75
Giurgiu
43.8833
25.9667
Braila
45.2667
27.9833
Deva
45.9
22.9
Galai
45.45
28.05
Sibiu
45.8
24.15
Cluj Napoca
46.7667
23.6
Satu Mare
47.8
22.8833
Constana
44.1833
28.65
Vaslui
46.6333
27.7333
Craiova
44.3167
23.8
Focani
45.7
27.1833
Iai
47.1667
27.6
Tulcea
45.1667
28.8
Baia Mare
47.6667
23.5833
Sfntu Gheorghe
45.8667
25.7833
Ploieti
44.95
26.0167
Bistrita Nasaud
47.1333
24.4833
Oradea
47.0667
21.9333
Botoani
47.75
26.6667
Suceava
47.6337
26.25
Reia
45.3008
21.8892
Timioara
45.7494
21.2272
Drobeta T.S.
44.6319
22.6561
Bucureti
44.4333
26.1
Buzu
45.15
26.8333
Bacu
46.5667
26.9
Clrai
44.2
27.3333
Trgovite
44.9333
25.45
Trgu Jiu
45.05
23.2833
Piatra Neam
46.9167
26.3333
Slatina
44.4333
24.3667
Zalu
47.2
23.05
Alexandria
43.9833
25.3333
Ramnicu Valcea
45.1
24.3667
Slobozia
44.5667
27.3667
Miercurea Ciuc
46.21
25.48
-
Aplicatia 2. S se efectueze rotaia unui corp n jurul unui punct arbitrar M, cu un unghi n sens trigonometricEtape:translaia centrului de rotaie n originea axelorrotaia n jurul originii n sens trigonometric cu unghiul translaia rezultatului la centrul de rotaie iniial.
M (a,b)
Pt (xt, yt)
O
Y
X
P(x, y)
-
.NET Framework Class Library - Clasa Matrixpublic Matrix(); // creaza o matrice identitatepublic Matrix( float m11, float m12, float m21, float m22, float dx, float dy ); // creaza o matrice cu parametrii specificatipublic Matrix( Rectangle rect, Point[] plgpts ); //creaza o matrice de transformare de la zona specificata prin rect la cea specificata prin vectorul de puncte(stanga-sus,dreapta-sus,stanga-jos)public Matrix( RectangleF rect, PointF[] plgpts ); // Idem
-
.NET Framework Class Library - Clasa Matrixpublic void Multiply( Matrix matrix ); // inmultire cu matricea specificatapublic void Reset(); // resetare pe matricea identitatepublic void Invert(); // determina matricea inversapublic void Rotate( float angle ); // rotatie in jurul originii in sens orar cu unghiul specificatpublic void RotateAt( float angle, PointF point ) ; // rot. in jurul punctului specificat in sens orar cu unghi specificat
-
.NET Framework Class Library - Clasa Matrixpublic void Translate( float offsetX, float offsetY );// translatiavoid Scale( float scaleX, float scaleY ); // scalare cu parametrii specificatipublic void Shear( float shearX, float shearY ); // deformare (forfecare) cu parametrii specificati
-
Clasa Graphicspublic void MultiplyTransform( Matrix matrix ); // compune matricea curenta cu matricea matrixpublic void ResetTransform(); // restabileste matricea unitate ca matrice de lucrupublic void RotateTransform( float angle ); // aplica o matrice de rotatie sub unghi anglepublic void ScaleTransform( float sx, float sy ); //aplica o matrice de scalare de parametrii specificati