grafica pe calculator 2011 - 2012 curs 2

22
Grafca 3D UPB 2011-20012 1 GRAFICA 3D  V alentin Stoica

Upload: vintila-silviu

Post on 13-Apr-2018

229 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Grafica Pe Calculator 2011 - 2012 Curs 2

7/24/2019 Grafica Pe Calculator 2011 - 2012 Curs 2

http://slidepdf.com/reader/full/grafica-pe-calculator-2011-2012-curs-2 1/22

Grafca 3D UPB 2011-20012 1

GRAFICA 3D

 Valentin Stoica

Page 2: Grafica Pe Calculator 2011 - 2012 Curs 2

7/24/2019 Grafica Pe Calculator 2011 - 2012 Curs 2

http://slidepdf.com/reader/full/grafica-pe-calculator-2011-2012-curs-2 2/22

Grafica 3D UPB 2011-20012 2

Sisteme de reerinta

tridimensionale coordonate cilindrice

P(ρ, φ, z)

coordonate sferice

P(r, θ, φ)

coordonate carteziene

P(x, , z)

Page 3: Grafica Pe Calculator 2011 - 2012 Curs 2

7/24/2019 Grafica Pe Calculator 2011 - 2012 Curs 2

http://slidepdf.com/reader/full/grafica-pe-calculator-2011-2012-curs-2 3/22

Grafica 3D UPB 2011-20012 3

Sisteme de coordonate

carteziene

!iste" de referin#$ %ni&ersal este siste"%l de coordonate cartezian 'n care s%nt definitetoate oiectele scenei &irt%ale

!e definete *rin ori+inea i trei axe*er*endic%lare, x, i z, orientate d%*$ re+%la"inii dre*te sa% d%*$ re+%la "inii stn+i

y

x

z

O

x

z

y

O

(a) (b)

(a) Sistem de coordonate orientat dupăregula mâinii drepte (sistem de

coordonate drept )

(b) Sistem de coordonate orientat dupăregula mâinii stângi

Page 4: Grafica Pe Calculator 2011 - 2012 Curs 2

7/24/2019 Grafica Pe Calculator 2011 - 2012 Curs 2

http://slidepdf.com/reader/full/grafica-pe-calculator-2011-2012-curs-2 4/22

Grafica 3D UPB 2011-20012 .

Sisteme de coordonate

carteziene

Un *%nct P 'n s*a#i%l tridi"ensional se re*rezint$ 'nsiste"%l de referin#$ cartezian *rintr-%n tri*et de &aloriscalare x, y, z, ce re*rezint$ co"*onentele &ector%l%i de*ozi#ie OP *e cele trei axe de coordonate

 /n nota#ia "atriceal$ %n *%nct 'n s*a#i%l tridi"ensional se

*oate re*rezenta *rintr-o "atrice linie sa% coloan$

sa%

on&en#ia de re*rezentare "ate"atic$ folosita deilioteca +rafic$ OpenGL este cea de "atrice coloan$*entr% %n *%nct 'n s*a#i%l tridi"ensional

[ ] z  y x=P

=

 z 

 y

 x

P

Page 5: Grafica Pe Calculator 2011 - 2012 Curs 2

7/24/2019 Grafica Pe Calculator 2011 - 2012 Curs 2

http://slidepdf.com/reader/full/grafica-pe-calculator-2011-2012-curs-2 5/22

Grafica 3D UPB 2011-20012

Modele de culoare Modelul RGB

c%loarea este re*rezentat$ *rintr-%n tri*let de c%lori*ri"are, ro% (red ) &erde (green), alastr% (blue)

s*a#i%l de re*rezentare a t%t%rorc%lorilor 'n "odel%l 4GB este %nc% 'ntr-%n siste" de coordonatec% axele notate 4o% (Red ), 5erde(Green), 6lastr% (Blue) C(r,g,b)  7 r R 8 +G 8 B

Modelul RGB A  cea de-a *atra co"*onent$ (α) indic$ trans*aren#as%*rafe#ei

α 7 1s%*rafa#$ o*ac$ α 7 0 s%*rafa#$ co"*let trans*arent$

Albastru

Alb

Magenta

Rosu

Verde

  Cian Galben

 Negru

Page 6: Grafica Pe Calculator 2011 - 2012 Curs 2

7/24/2019 Grafica Pe Calculator 2011 - 2012 Curs 2

http://slidepdf.com/reader/full/grafica-pe-calculator-2011-2012-curs-2 6/22

Grafica 3D UPB 2011-20012 9

Modelul RGB

Page 7: Grafica Pe Calculator 2011 - 2012 Curs 2

7/24/2019 Grafica Pe Calculator 2011 - 2012 Curs 2

http://slidepdf.com/reader/full/grafica-pe-calculator-2011-2012-curs-2 7/22

Grafica 3D UPB 2011-20012 :

Modele de culoare

Modelul HSV transfor"are neliniar$ a s*a#i%l%i 4GB, *rin care c%loriles%nt s*ecificate *rin co"*onentele n%an#$ (hue), sat%ra#ie(saturation) i &aloare (value)

!*a#i%l c%lorilor 'n "odel%l ;!5este o *ira"id$ <exa+onal$ 'ntr-%n

siste" de coordonate *olare ;5!

V

SH

Cian

Verde

Roşu

Galben

Alb

 Negru

Albastru Magenta

Page 8: Grafica Pe Calculator 2011 - 2012 Curs 2

7/24/2019 Grafica Pe Calculator 2011 - 2012 Curs 2

http://slidepdf.com/reader/full/grafica-pe-calculator-2011-2012-curs-2 8/22

Grafica 3D UPB 2011-20012 =

Modelarea obiectelor  Pro*riet$#ile oiectelor tridi"ensionale ce se

"odeleaz$ 'n a*lica#iile +rafice se *ot '"*$r#i 'ndo%$ cate+orii forma 

solide  deformabile 

aspect   >odelarea solidelor

o te<nic$ de *roiectare, &iz%alizare i analiz$ a "od%l%i 'ncare oiectele reale se re*rezint$ 'n calc%lator

"odelare *rin s%*rafa#$ de frontier$ ("odelarea *oli+onal$, "odelarea *rinre#ele de *etice *ara"etrice)

&ol%" ("odelarea *rin co"*%nerea oiectelor, "odelarea*rin di&izare s*a#ial$)

Page 9: Grafica Pe Calculator 2011 - 2012 Curs 2

7/24/2019 Grafica Pe Calculator 2011 - 2012 Curs 2

http://slidepdf.com/reader/full/grafica-pe-calculator-2011-2012-curs-2 9/22

Grafica 3D UPB 2011-20012 ?

Metodele de modelare si reprezentarea oiectelor

Modelarea poligonală oiectele s%nta*roxi"ate *rintr-o re#ea de fe#e care s%nt*oli+oane *lanare

Page 10: Grafica Pe Calculator 2011 - 2012 Curs 2

7/24/2019 Grafica Pe Calculator 2011 - 2012 Curs 2

http://slidepdf.com/reader/full/grafica-pe-calculator-2011-2012-curs-2 10/22

Grafica 3D UPB 2011-20012 10

Metodele de modelare si reprezentarea oiectelor

Modelarea prin reţele de petice parametricebicubice (bicubic parametric patches) oiecteles%nt a*roxi"ate *rin re#ele de ele"ente s*a#ialen%"ite *etice (*atc<es) 6cestea s%nt re*rezentate*rin *olinoa"e c% do%$ &ariaile *ara"etrice, 'n

"od oin%it c%ice P%nctede control

Page 11: Grafica Pe Calculator 2011 - 2012 Curs 2

7/24/2019 Grafica Pe Calculator 2011 - 2012 Curs 2

http://slidepdf.com/reader/full/grafica-pe-calculator-2011-2012-curs-2 11/22

Grafica 3D UPB 2011-20012 11

Metodele de modelare si reprezentarea oiectelor

Modelarea prin compunerea obiectelor  (Constructive Solid Geometry - CSG)oiectele s%nt re*rezentate *rin colec#ii deoiecte ele"entare (cilindri, sfere, *oliedre,

etc) !fera

8

%

Page 12: Grafica Pe Calculator 2011 - 2012 Curs 2

7/24/2019 Grafica Pe Calculator 2011 - 2012 Curs 2

http://slidepdf.com/reader/full/grafica-pe-calculator-2011-2012-curs-2 12/22

Grafica 3D UPB 2011-20012 12

Metodele de modelare si reprezentarea oiectelor

Modelarea prin divizare spaţială oiecteles%nt 'ncor*orate 'n s*a#i%, *rin atri%irea %neietic<ete fiec$r%i ele"ent s*a#ial, 'n f%nc#ie deoiect%l care oc%*$ ele"ent%l res*ecti&

Page 13: Grafica Pe Calculator 2011 - 2012 Curs 2

7/24/2019 Grafica Pe Calculator 2011 - 2012 Curs 2

http://slidepdf.com/reader/full/grafica-pe-calculator-2011-2012-curs-2 13/22

Grafica 3D UPB 2011-20012 13

Modelarea poligonala aobiectelor 

@or"a Aclasic$ de "odelare a oiectelor folosit$ 'n+rafica *e calc%lator %%rin#a 'n "odelare *osiilitatea de redare ra*id$ a i"a+inii oiectelor

4e*rezentarea *oli+onal$ %n oiect tridi"ensional este co"*%s dintr-o colec#ie de

fe#e, fiecare fa#$ fiind o s%*rafa#$ *lan$ re*rezentat$ *rintr-%n *oli+on

Page 14: Grafica Pe Calculator 2011 - 2012 Curs 2

7/24/2019 Grafica Pe Calculator 2011 - 2012 Curs 2

http://slidepdf.com/reader/full/grafica-pe-calculator-2011-2012-curs-2 14/22

Grafica 3D UPB 2011-20012 1.

Reprezentareapoligoanelor 

Poli+on o re+i%ne din *lan "$r+init$ de o colec#ie finit$ dese+"ente de drea*t$ care for"eaz$ %n circ%it 'nc<issi"*l%

@ie n *%ncte 'n *lan (v 0 , v 1, …,v n–1) i n se+"ente

de drea*t$ (e0 

  v 0 

v 1

, e1

  v 1

v ! 

, …" en–1

  v n–1

v 0 

) careconecteaz$ *erec<i de *%ncte s%ccesi&e 'n ordineciclic$, deci incl%si& conexi%nea 'ntre %lti"%l *%nct i*ri"%l *%nct din list$ 6ceste se+"ente "$r+inesc%n *oli+on, dac$ i n%"ai dac$

intersec#ia fiec$rei *erec<i de se+"ente adiacente 'nordinea ciclic$ este %n sin+%r *%nct, con#in%t de a"elese+e"ente ei ∩ ei81 7 &i81, *entr% oricare i 7 0,C, n1

se+"ente neadiacente n% se intersecteaz$ e i ∩ e E 7 ∅,*entr% orice E ≠ i81

Page 15: Grafica Pe Calculator 2011 - 2012 Curs 2

7/24/2019 Grafica Pe Calculator 2011 - 2012 Curs 2

http://slidepdf.com/reader/full/grafica-pe-calculator-2011-2012-curs-2 15/22

Grafica 3D UPB 2011-20012 1

Reprezentareapoligoanelor 

&i  - &rf%rile *oli+on%l%i (vertices) ei - "%c<ii (sa% lat%ri) ale *oli+on%l%i Un *oli+on

con#ine n &rf%ri i n "%c<ii "%c<iile s%nt orientate, astfel 'nct for"eaz$ %n cicl%

(circ%it 'nc<is) 7 orientare consistentă (dac$ se *arc%r+"%c<iile 'n sens%l lor de defini#ie, interior%l *oli+on%l%i este&$z%t 'ntotdea%na 'n *artea stn+$Fdrea*t$)

v

v!

v"

v# v$e$

e#

e"

e!

e

Page 16: Grafica Pe Calculator 2011 - 2012 Curs 2

7/24/2019 Grafica Pe Calculator 2011 - 2012 Curs 2

http://slidepdf.com/reader/full/grafica-pe-calculator-2011-2012-curs-2 16/22

Grafica 3D UPB 2011-20012 19

Reprezentarea poliedrelor  >odelarea i re*rezentarea *rin s%*rafa#a de frontier$ 7

oiectele s%nt a*roxi"ate *rin *oliedre i "odel%l lor estere*rezentat *rin s%*rafa#a *oliedr%l%i, co"*%s$ dintr-o colec#iede *oli+oane

!%*rafa#a de frontier$ a %n%i *oliedr% con#ine trei ti*%ri deele"ente +eo"etrice &rf%rile (*%nctele), care s%nt zero-

di"ensionale, "%c<iile (se+"entele), care s%nt %nidi"ensionalei fe#ele (*oli+oanele), care s%nt idi"ensionale%ete &oligonale

Mu'ii

Vr*uri

Page 17: Grafica Pe Calculator 2011 - 2012 Curs 2

7/24/2019 Grafica Pe Calculator 2011 - 2012 Curs 2

http://slidepdf.com/reader/full/grafica-pe-calculator-2011-2012-curs-2 17/22

Grafica 3D UPB 2011-20012 1:

Implementarea modeluluipoligonal

Printr-o list$ de *oli+oane (&ector, list$ 'nl$n#%it$,etc)  /ntrea+a infor"a#ie referitoare la for"a %n%i oiect

este co"*%s$ din liste de coordonate ale &rf%rilor,

la care se "ai ada%+$ i alte infor"a#ii +eo"etricenecesare 'n redare (de exe"*l%, nor"alele las%*rafe#e)

@or"a %n%i oiect "odelat *rin re#ea de *oli+oane

*oate fi re*rezentat$ ca %n &ector de fe#e, fiecarefa#$ fiind %n &ector de &rf%ri, fiecare &rf fiind %n&ector de trei coordonate 'n &ir+%l$ flotant$

Page 18: Grafica Pe Calculator 2011 - 2012 Curs 2

7/24/2019 Grafica Pe Calculator 2011 - 2012 Curs 2

http://slidepdf.com/reader/full/grafica-pe-calculator-2011-2012-curs-2 18/22

Grafica 3D UPB 2011-20012 1=

Implementarea modeluluipoligonal xe"*l% cub

do%le %[email protected] 7 JJJ#1,#1,#1K, FF fata 0 J 1,-1,-1K, J 1,-1, 1K, J-1,-1, 1KK,JJ-1, 1, 1K, FF fata 1 J 1, 1, 1K, J 1, 1,-1K, J-1, 1,-1KK,JJ-1,-1, 1K, FF fata 2 J 1,-1, 1K, J 1, 1, 1K, J-1, 1, 1KK,JJ 1,-1,-1K, FF fata 3 J#1,#1,#1K,J-1, 1,-1K, J 1, 1,-1KK,

  JJ 1,-1, 1K, FF fata . J 1,-1,-1K,J 1, 1,-1K, J 1, 1, 1KK,

  JJ-1,-1, 1K, FF fata  J-1, 1, 1K, J-1, 1,-1K, $#1,#1,#1KK

KL i"*le"entare ineficient$ deoarece

fiecare &rf este *rel%crat de trei ori,*entr% fiecare fa#$ adiacent$ acest%ia

Page 19: Grafica Pe Calculator 2011 - 2012 Curs 2

7/24/2019 Grafica Pe Calculator 2011 - 2012 Curs 2

http://slidepdf.com/reader/full/grafica-pe-calculator-2011-2012-curs-2 19/22

Grafica 3D UPB 2011-20012 1?

Implementarea modeluluipoligonal xe"*l% "ai eficient cub

do%le %eoordsH=IH3I7J J-1,-1, 1K, J 1,-1, 1K, J 1,-1,-1K, J-1,-1,-1K, J-1, 1, 1K, J 1, 1, 1K, J 1, 1,-1K, J-1, 1,-1K

KLint %[email protected]

J3, 2, 1, 0K,J., , 9, :K,

J0, 1, , .K,J2, 3, :, 9K,J1, 2, 9, K,J0, ., :, 3K

KL  

Page 20: Grafica Pe Calculator 2011 - 2012 Curs 2

7/24/2019 Grafica Pe Calculator 2011 - 2012 Curs 2

http://slidepdf.com/reader/full/grafica-pe-calculator-2011-2012-curs-2 20/22

Grafica 3D UPB 2011-20012 20

Reprezentarea poliedrelor 

re#ea de *oli+oane*oate s$ re*rezinte s%*rafa#a de frontier$

 'nc<is$ a %n%i solid

s%*rafa#a desc<is$,necesar$ 'n an%"itesit%a#ii de "odelare, c%"este s%*rafa#a teren%l%isi"%lat 'ntr-o scen$&irt%al$

Page 21: Grafica Pe Calculator 2011 - 2012 Curs 2

7/24/2019 Grafica Pe Calculator 2011 - 2012 Curs 2

http://slidepdf.com/reader/full/grafica-pe-calculator-2011-2012-curs-2 21/22

Grafica 3D UPB 2011-20012 21

Reprezentarea poliedrelor 

Ni*%ri de re*rezentare

re*rezentare ca s%*rafa#$(*oli+oane A*line)

re*rezentare *rin cont%r

Acadr% de sr"$(wireframe)

Page 22: Grafica Pe Calculator 2011 - 2012 Curs 2

7/24/2019 Grafica Pe Calculator 2011 - 2012 Curs 2

http://slidepdf.com/reader/full/grafica-pe-calculator-2011-2012-curs-2 22/22

Grafica 3D UPB 2011-20012 22

Reprezentarea poliedrelor 

Precizia de re*rezentare a "odel%l%i diferen#a dintre s%*rafa#a oiect%l%i i fe#ele*oli+onale *rin care este a*roxi"at

n%"$r%l "are de *oli+oane 7 *recizia de

re*rezentare "ai %n$ 7 cerin#e de calc%l s*orite

19x19 *oli+oane 32x32 *oli+oane 9.x9. *oli+oane