Máté: Számítógépes grafika alapjai



Hasonló dokumentumok
hajlító nyomaték és a T nyíróerő között ugyanolyan összefüggés van, mint az egyenes rudaknál.














F.I.1. Vektorok és vektorműveletek








ű É Í É Ö ű ü Ö É Ö Í É Ö Ö














































Á Á ö í ú í í í í ö ö ü ú ú Á ü ö ü ö ü ö ü ü ö í í ú ú ú ú í ú ü í ü Í ö ö Á ö ü ú Í í ű ü í ö ö ü í ö í í ú í í






















Máté: Számítógépes grafika alapjai










Átírás:

Máé: Sámíógée grfik lji _beve 3D kooriná-renerek blkee bl-oráú jobbkee jobb-oráú 3D rnformációk - homogén koorináák () megá homogén koorináákkl: () (w) ( w ) h vn oln α hog α α α é w α w H w : (/w /w /w ) okáo jelölé H w : (/w /w /w ) okáo jelölé H w: ( ) végelen ávoli on Kcol: ( ) - egene 4-imenió érben minek w 3D érrel vló meee homogén kooriná 2 3D elolá T mer T T T 3 3D káláá (ngíá/kiciníé) S S mer S / / / S 4 3D forgáok A -engel körül A -engel körül R co in in co R co in in co A Y-engel körül R co in in co 5 3D nírá h h h h SH h h h h SH mer 6

Máé: Sámíógée grfik lji 3D komoíció-mári A legállánobb komoíció lkj: 2 M 3 2 22 32 3 23 33 4 24 34 MP kiámíááho mári oráho kée mo i meg lehe kríni műveleeke. VETÍTÉSEK Trnformációk melek n-imenió objekumok kiebb imenió erekbe vinek á. Pl. 3D 2D 7 8 veíé köéonj Veíéek fjái / erekíviku A A B veíéi ík B árhumo A A B B veíé veíéi ík köéonj végelenben 9 Perekíviku Veíéi köéon Veíéek fjái /2 köel áll lááunkho állábn: nem mérheők ávolágok (röviülé) é ögek Párhumo Veíéi irán kevébé reliiku mérheő ávolágok ögek válonk Perekív veíéek / Perekív veíéek /2 A veíéi íkkl nem e egmál árhumo egeneek veüleei eg onbn meik egmá ávlon Előlege ávlon: vlmelik fő(engel) iránho roó ávlon. Egono erekív veíé veíéi köéon veíéi ík -engel l ávlon 2 _beve 2

Máé: Sámíógée grfik lji Perekív veíéek /2 Párhumo veíéek. Egono erekív veíé -engel l ávlon A árhumoág megmr Oáloáuk veíéi irán é veíéi ík egmáho vionío helee erin: veíéi köéon veíéi ík. Merőlege (orogrfiku) 2. Teőlege iránú 3 4 Párhumo (orogrfiku) / Pél Felülnée Ollnée Előlnée A árhumoág megmr ávolágok megmrnk vg ámíhók 5 6 Párhumo /2 Aonomeriku (nem merőlege egik engelre em); ög nem mr meg ávolág ámíhó Iomeriku ( veíéi irán ( ) minen engellel ugnkkor öge ár be) Amfieárium Jerh-bn ± ± ± 8 ilen irán léeik 2 2 2 7 8 _beve 3

Máé: Sámíógée grfik lji Iomeriku veíé Teőlege iránú / A veíéi ík normáli é veíéi irán nem árhumo Leggkoribb fjái: - kvlier - kbine Veíéi irán 9 A veíéi ík normáli 2 Teőlege iránú /2 Teőlege iránú /3 Kvlier: Kbine: veíéi irán é veíéi ík öge 45 veíéi irán é veíéi ík öge rcg(2) 634 /2 /2 α 45 α 3 α 45 α 3 2 22 3-D megjeleníé ecifikálá / Sükége: - láóér megá - veíé Veíéi ík megá: eg onjávl - referenci on () é normáliávl () v fölfelé muó vekor (VUP) veülee iránáb mu v VUP n u 23 3-D megjeleníé ecifikálá /2 3D referenci kooriná rener (VRC) v megá: Origó VUP u A engelek: n n v VUP-nek veíéi íkr eő veülee u oln hog u v n jobb-kee erékögű kooriná rener hároon meg 24 _beve 4

Máé: Sámíógée grfik lji Ablk: (U min V min ) 3-D megjeleníé ecifikálá /3 Tégll veíéi íkon. Ami on belül vn megjelenik öbbi nem CW köee n v CW (U m V m ) u 25 3-D megjeleníé ecifikálá /4 PRP: veíéi referenci on: (árhumo é erekív veíére i) Perekíviku veíénél n v CW PRP veíéi köéon u 26 3-D megjeleníé ecifikálá /5 DOP: veíéi irán Láóér mghároá elő é háó vágái íkokkl / DOP Fjái: PRP CW n DOP DOP PRP CW n DOP árhumo (orogrfiku) árhumo (eőlege iránú) erekiviku 27 28 Láóér mghároá elő é háó vágái íkokkl /2 veíéi ík elő vágái ík DOP F elő-áv háó vágái ík B uó-áv 29 Láóér mghároá elő é háó vágái íkokkl /3 Párhumo (eőlege iránú): elő ő vágái ík veíéi ík F elő-áv háó vágái ík B uó-áv DOP 3 _beve 5

Máé: Sámíógée grfik lji _beve 6 Láóér mghároá elő é háó vágái íkokkl /4 Perekiviku: l ő veíéi ík háó vágái ík F B elő vágái ík ík elő-áv uó-áv 3 Veíéek memiki leírá 32 Perekiviku veíéek / A egerűég kevéér egük fel hog: ) A veíéi ík merőlege -engelre -nél PRP 33 Perekiviku veíéek /2 Honló háromögekből: P ( ) P( ) veülei íkok P( ) P( ) 34 Perekiviku veíéek /3 Honló háromögekből: mivel e homogén kooriná P ehá M er mer M er mivel e homogén kooriná P 35 Perekiviku veíéek /4 P( ) Má leheőég b) A veíéi ík merőlege -engelre -bn P( ) / / 36

Máé: Sámíógée grfik lji Perekiviku veíéek /5 Párhumo orhogrfiku veíé ehá / ( / ) eér ' M er ' P er / / / 37 M or hol Mor P (háréréke M er -nek ). P 38 3D megjeleníé imlemenálá / 3D megjeleníé imlemenálá /2 3D objekumok VK-bn normliálá 3D objekumok knoniku láóérben 3D vágá veíé A 3D vágá rág művele eér éreme előe 3D objekumok u.n. knoniku láóérbe rnformálni (normliálá) hol vágá egerűbb é gorbb. 2D megjeleníe 2D veíe objekum rnformáció objekumok 39 4 3D megjeleníé imlemenálá /3 árhumo veíénél 3D megjeleníé imlemenálá /4 erekív veíénél elő vágái ík vg - háó ík - Knoniku láóér vágái íkji: - - - Knoniku láóér vágái íkji: - - - min - vg elő ík - - háó ík 4 42 _beve 7

Máé: Sámíógée grfik lji Mári műveleek (OenGL) A OenGL olofolonon árolj máriok A egég mári: GLflo M[] { 5.... 2 6.... 3 7.... 4 8....} Új kuáli mári beölée: voi gllomri{f}( T M[6] ); 9 2 3 4 5 6 glmrimoe(gl_modelview); // íu gllomri(m); // beölé 43 Mári műveleek (OenGL) A kuáli mári legen egégmári: voi glloieni(voi); A kuáli mári orá: voi glmulmri{f}( T M[6] ); Pl.: GLflo M[] {................} glmrimoe(gl_modelview); glmulmri(m); A or le új kuáli mári 44 Kooriná rnformációk (OenGL) Néei (Viewing) néő (kmer) helének megá Moell (Moeling) objekumok (moell) mogá Moell-née (MoelView) néei é moell rnformációk egü Veíéi (Projecion) née vágá é láóérbe méreeée Ablk eremén blkr vló lekéeée Néei koorináák (OenGL) A megfigelő néőonj keeben ( ) A megfigelő engel negív iránáb né. - - Ahog megfigelő láj moell - - Íg lánánk ollról megfigelő oíciójánk engel iránáb örénő elmoíá uán - 46 45 Néei (Viewing) rnformáció (OenGL) E rnformáció hjóik végre előör e kell legelőör efiniálni Néőon meghároá Keei néőon ( ) glulooka rnccl móoíhó 47 Néei (Viewing) rnformáció (OenGL) voi glulooka( GLouble ee GLouble ee GLouble ee GLouble cener GLouble cener GLouble cener GLouble u GLouble u GLouble u) (ee ee ee) em oíciój (cener cener cener) referencion hová em né (u u u) felfelé muó vekor (u-vekor VUP) Pl.: glulooka(..2.......); 48 _beve 8

Máé: Sámíógée grfik lji Néei (Viewing) rnformáció (OenGL) Moell (Moeling) rnformáció (OenGL) A glulooka eljárá kiámíj mego néei rnformáció inveré mj kuáli mário megoro ko inver rnformáció máril. Sokáo hnál: glmrimoe(gl_modelview); gllo Ieni(); glulooka(.f.f.f); 49 elolá (rnláció) káláá forgá (roáció) A moell vg eg réének rnformáláár hnáljuk A cúcon (vere) koorináák kell ck rnformálni 5 Moell-néei uliá (OenGL) néei kooriná rener mogá moell kooriná rener mogá A néei é moell rnformációk uálik eér elegenő lenne ck moell kooriná rener rnformálni 5 Moell rnformációk (OenGL) glmrimoe(gl_modelview); voi glroe{f}(t T T T ); : forgá fokbn; ( ): forgái engel l. 45 foko forgá -engel körül: glroe(45...); voi gltrnle{f}(t T T ); ( ): elolá vekor l.: -engel menén 5 egéggel vló elolá gltrnle(5 ); voi glscle{f}(t T T ); ( ) káláá méréke engelek menén l.: glscle(.5.5.5);.5-örö uniform ngíá 52 Veíéi (rojecion) rnformáció (OenGL) glmrimoe(gl_projection); Kéféle veíéi leheőég Orhogrfiku veíé (OenGL) voi glorho(ouble lef ouble righ ouble boom ouble o ouble ner ouble fr); orhogrfiku é erekiviku Orhogonáli (orogrfiku) veíé vágái erének megá Megjuk láóere i Végrehjá: új rojekciómári rojekciómári ecifikál mári 53 2D ee: voi gluorho2d( ouble lef ouble righ ouble boom ouble o); 54 _beve 9

Máé: Sámíógée grfik lji Perekív veíé (OenGL) voi glfruum (ouble lef ouble righ ouble boom ouble o ouble ner ouble fr); lef righ: bl é jobb olli vágóík koorinááj boom o: ló é felő vágóík koorinááj ner fr: köeli é ávoli vágóík koorinááj. Néőon: origó: ( ) vágái erüle ner w h lef o righ boom Perekív veíé (OenGL) Simmeriku láóér megá: voi gluperecive (ouble fov ouble ec ouble ner ouble fr); fov: láóér öge iránbn ec: w/h ner fr: vágóíkok ávolág megfigelőől g vágái erüle ner w h fr 55 fr 56 Ablk (OenGL) 2D- lekéé blk eg égll lkú (viewor) réébe: voi glviewor(glin GLin GLiei wih GLiei heigh); : viewor bl ló rk blkbn wih heigh: viewor méree ielben vágái erüle (5 ) - viewor 5* blk 3*2 Ablk (OenGL) Alérelmeé: ( winwih winheigh) hol winwih é winheigh blk méreei (5 ) - vágái erüle Ablk Viewor 3*2 57 58 Perekív veíé (OenGL) Pl.: Móoíuk viewor-o é vágái ere erekív veíénél voi ChngeSie(GLiei w GLiei h){ GLflo faec; if(h ) h ; // ne ounk -vl // blkon beállíjuk viewor-o glviewor( w h); faec (GLflo)w/(GLflo)h; )h // veíéi mári glmrimoe(gl_projection); glloieni(); // vágái ér megá erekív veíé gluperecive(6.f faec. 4.); glmrimoe(gl_modelview); glloieni(); } 59 Trnformáció máriok (OenGL) e c moelview e rojekció c mári mári e c w we wc ereei koorináák erekív oá c / wc c / wc c / wc normliá (inhomogén) koorináák em koorináák viewor rnf. mári vágái koorináák 6 _beve

Máé: Sámíógée grfik lji Mári vermek (OenGL) Mári móok: GL_PROJECTION GL_MODELVIEW GL_TEXTURE Minen mári mó ámár vn eg mári verem A kuáli mári verem eején lévő mári. A műveleek: voi glpuhmri(voi); voi glpomri(voi); Mári vermek (OenGL) glge(gl_max_modelview_stack_depth) (Microof: mimáli mélég 32) glge(gl_max_projection_stack_depth) (Microof: mimáli mélég 2) GL_STACK_OVERFLOW GL_STACK_UNDERFLOW Alállo: egégmári GL_MODELVIEW 6 62 Fel (OenGL) Rjoljuk meg eg kock erekiviku kéé! 63 _beve