Bevezetés. Bevezetés. Bevezetés. Történeti áttekintés. Bevezetés

Méret: px
Mutatás kezdődik a ... oldaltól:

Download "Bevezetés. Bevezetés. Bevezetés. Történeti áttekintés. Bevezetés"

Átírás

1 Beveetés Valós és képeletbeli objektumok (pl. tárgak képei, függvének) sintéise sámítógépes moelljeikből (pl. pontok, élek, lapok) Beveetés Történeti áttekintés Horoható softverek, sabvánok Interaktív grafikai renserek A sámítógépes grafika ostáloása 2 Beveetés Beveetés Sámítógépes képfelolgoás: Képek analíise, objektumok moelljeinek rekonstrukciója képeikből (pl. légi-, űr-, orvosi felvételek kiértékelése, torított képek helreállítása) Tapastalat, hog képek formájában a aatok gorsabban és hatásosabban felolgohatók a ember sámára. Fejlőés: Fotóás televíió sámítógépes grafika 3 4 Beveetés Alkalmaási területek: - felhasnálói programokho grafikus előtét - ület, tuomán, technika (pl. okumentum késítés) - sámítógéppel segített terveés (CAD) - simuláció, animáció (pl. tuomán, sórakoás) - művéset, kereskeelem - folamatiránítás - térképéset 5 Történeti áttekintés Keetben: képek megjelenítése teletpe-on, nomtatókon 95: MIT: sámítógéppel veérelt képernő SAGE légvéelmi renser (a programok képernőről történő veérlése fénceruával) 6

2 963: Történeti áttekintés II A moern interaktív grafika megjelenése I. Sutherlan: Sketchpa Aatstruktúrák simbolikus struktúrák tárolására Interaktív megjelenítés, válastás, rajolás Történeti áttekintés III 964: CAD DAC- (IBM) Autók terveésére (General Motors) 7 8 Történeti áttekintés IV Lassú fejlőés, mert - Drága a harver - Drága sámítógépes erőforrások (nag aatbáis, interaktív manipuláció, intenív aatfelolgoás) - Nehé volt nag programokat írni - A softver nem volt horoható 9 Történeti áttekintés V 96-as évek: Jellemő output-eskö a ún. vektor-képernő (sakasokat rajol -tól -ig) Rései: - Képernő processor (DP) - mint I/O periféria kapcsolóik a köponti egséghe - Képernő tároló memória a megjelenítéshe sükséges program és aat tárolására - Képernő - kató sugár cső Történeti áttekintés VI Történeti áttekintés VII utasítás koorináták elektromos jel képernő processor vektor generátor 3 H-es frissítés (fosforeskáló ernő - nem villog annira) 96-as évek vége: DVST (irect-view storage tube) - a látvánt követlenül tároló cső: olcsóbb képernő kissámítógép felsabaul a köponti gép 2 2

3 Történeti áttekintés VIII 968: A harver képes a skálát váltotatni, a képet mogatni, vetületeket előállítani valós iőben 97-es évek: Jellemő output eskö a un. raster-képernő (TV - technika), bit-térképes grafika Bit-térkép (bitmap): képek repreentálása bináris mátrisal Történeti áttekintés IX 3 A rasteres képernők a grafikus primitíveket (piel - képpont) a ún. frissítő tárolóban tartják. 4 Történeti áttekintés X mátri -- raster sorok -- képpontok Bit-térképek, pl.: 24 * 24 * 28 K - bináris kép Piel-képek, pl.: 24 * 24 * sürkeségi fokoat v. sín 24 * 24 * sürkeségi fokoat v. sín Ma tipikus: 28 * 24 * MB RAM Előnei: Történeti áttekintés XI - Olcsó logikájú processor (soronként olvas) - A területek sínekkel kitölthetők - A ábra bonolultsága nem befolásolja a megjelenítés sebességét 5 6 Történeti áttekintés XII Megjelenítés rasteres képernőn Hátránai: - A grafikus elemeket (pl. vonal, poligon) át kell konvertálni (RIP - raster image processor) - A geometriai transformációk sámításigénesek Ieális vonalas raj Vektoros kép 7 Rasteres kép vonallal Rasteres kép területkitöltéssel 8 3

4 Történeti áttekintés XIII Horoható softverek, sabvánok 98-as évekig: A sámítógépes grafika sűk, speciális terület a rága harver miatt Újonságok: - Seméli sámítógépek (Apple Macintosh, IBM PC) - Rasteres képernők - Ablak technika (winow manager) Eremén: - Sok alkalmaás - Sok I/O eskö (pl. egér, tábla,...) - Kevesebbet hasnáljuk a billentűetet (menük, ikonok,...) 9 fejlőés Eskö-függő eskö független Íg lehet "horoható" a felhasnálói softver 977: 3D Core Graphics Sstem 985: GKS (Graphical Kernel Sstem) 2D 2 Horoható softverek, sabvánok 988: GKS - 3D PHIGS (Programmer's Hierarchical Interactive Graphics Sstem) - Logikailag kapcsolóó primitívek csoportosítása segmensekbe, - 3D primitívek egmásba ágaott hierarchiája, - Geometriai transformációk, - Képernő automatikus frissítése, ha a aatbáis váltoik 992 OpenGL (SGI) 2 Interaktív grafikai renserek Interaktivitás: A felhasnáló veérli a objektumok kiválastását, megjelenítését billentűetről, vag egérrel Interaktív grafikai renserek II Felhasnálói moell (aatbáis): Interaktív grafikai renserek III A interaktivitás keelése: Tipikus a esemén-veérelt programhurok: - Aatok, objektumok, kapcsolatok (aattömb, hálóati aatok listája, relációs aatbáis) - Primitívek (pontok, vonalak, felületek) - Attribútumok (vonal stílus, sín, tetúra) 23 keeti képernı beállítás; while(true) { parancsok vag objektumok válasthatók; várakoás, amíg a felhasnáló válast; switch(válasás){ case válastott : a moell és a képernı frissítésére; break;... case(quit) eit(); } 24 4

5 A sámítógépes grafika ostáloása I A sámítógépes grafika ostáloása II Dimenió serint: Képfajta serint: 2-D 3-D vonalas sürke sínes (árnékolt) Interaktivitás serint: Off-line rajolás Interaktív rajolás (váltoó paraméterek) Objektum előre meghatároása és körüljárása Interaktív terveés Kép serepe serint: Végtermék Köbülső termék Pontok rajolása Rajoljunk eg piros pontot a (, ), eg öl pontot a (5, ) és eg kék pontot a (3, 8) koorinátákba (a ablak *-as méretű) OpenGL Pontok rajolása Sínek és sínmóok RGBA sínmó: Minen sínt nég komponens efiniál: (R, G, B, A) vörös (Re), öl (Green), kék (Blue), alfa (Alpha) Minél nagobb a RGB komponens értéke, annál intenívebb a sínkomponens A (átlátsóság):. - nem átlátsó,. - teljesen átlátsó Pl.: (.,.,.,.) átlátsó fekete voi glclearcolor( GLclampf re, GLclampf green, GLclampf blue, GLclampf alpha); Törlő sín Aktuális törlő sín beállítása Alapértelmeés:(.,.,.,.) GLclampf - float

6 Mátri mó beállítása Transformációk: mátriokkal efiniálva néeti (viewing), moelleési (moelling), vetítési (projection) voi glmatrimoe(enum moe); Ha moe GL_PROJECTION, akkor vetítési mátri pl.: glmatrimoe(gl_projection); voi glloaientit(voi); a érvénes mátri a egségmátri les 3 Vetítési mátri megaása (2D) voi gluortho2d(ouble left, ouble right, ouble bottom, ouble top); a objektumok 2D merőleges vetítése a (left, right, bottom, top) téglalapra pl.: gluortho2d(,,, ); 32 Program (pontrajoló) I #inclue <GL/glut.h> voi init(voi) { glclearcolor(.,.,.,.); // fekete a törlısín glmatrimoe(gl_projection); // a aktuális mátri mó: vetítés glloaientit(); // legen a egségmátri gluortho2d(,,,); // párhuamos vetítés specifikálása } 33 Pufferek törlése voi glclear(glbitfiel mask); Pufferek tartalmának a törlése A pufferek: GL_COLOR_BUFFER_BIT, GL_DEPTH_BUFFER_BIT, GL_STENCIL_BUFFER_BIT vag GL_ACCUM_BUFFER_BIT Pl. a sín puffer törlése a aktuális törlősínnel: glclear(gl_color_buffer_bit); 34 Objektumok megaása voi glbegin(enum moe);... voi glen(voi); geometriai objektumok specifikációja moe értéke lehet pl. POINTS, LINES, POLYGON Sínbeállítás voi glcolor{34}{bsif ubusui} (T components); b bte, s single, i integer, f float, ouble, u unsigne Sínbeállítás csúcspontokho van hoárenelve Pl. glcolor3f(.,.,.); // piros glcolor3f(.,.,.); // öl glcolor3f(.,.,.); // kék

7 Csúcspontok megaása voi glverte{234}{sif}( T coors ); Csúcspont(ok) (verte) megaása Pl.: glverte2i(,); // a pont koorinátája (, ) 37 Program (pontrajoló) II voi ispla(voi) { glclear(gl_color_buffer_bit); // képernı tötlés glbegin(gl_points); // pontokat specifikálunk glcolor3f(.,.,.); // piros glverte2i(,); // piros pont glcolor3f(.,.,.); // öl glverte2i(5,); // öl pont glcolor3f(.,.,.); // kék glverte2i(3,8); // kék pont glen(); // több pont nem les glflush(); // rajolj! } 38 Program (pontrajoló) III voi keboar(unsigne char ke, int, int ){ switch(ke) { // billentő keelés case 27: // ha escape eit(); // kilép a programból break; } } Képernő mó voi glutinitdisplamoe (unsigne int moe); A képernő móot efiniálja Pl. hamoe GLUT_SINGLE GLUT_RGB akkor a ún. egseresen pufferelt, RGB móban specifikál ablakot 39 4 Ablak voi glutinitwinowsie (int with, int height); A ablak méretét efiniálja pielekben voi glutinitwinowposition(int, int ); A ablak bal felső sarkának poíciója int glutcreatewinow(char *name); Megnit eg ablakot a előő rutinokban specifikált jellemőkkel. Ha a ablakoó renser lehetővé tesi, akkor name megjelenik a ablak fejlécén. A vissatérési érték eg egés, amel a ablak aonosítója. 4 Callback függvének voi glutdisplafunc(voi(*func)(voi)); At a callback függvént specifikálja, amelet akkor kell meghívni, ha a ablak tartalmát újra akarjuk rajoltatni. Pl.: glutdisplafunc(ispla); voi glutkeboarfunc(voi(*func) (unsigne char ke, int, int ); At a callback függvént specifikálja, melet eg billentű lenomásakor kell meghívni. ke eg ASCII karakter. Aésparaméterek a egér poícióját jelik a billentű lenomásakor (ablak relatív koorinátákban). Pl.: glutkeboarfunc(keboar); 42 7

8 Program (pontrajoló) IV int main(int argc, char* argv[]) { glutinit(&argc, argv); glutinitdisplamoe(glut_single GLUT_RGB); //a ablak egseresen pufferelt,és RGB móú glutinitwinowsie(, ); // -as glutinitwinowposition(, ); // a ablak bal felsı sarkának koorinátája glutcreatewinow("3point"); // neve 3point init(); // inicialiálás glutdisplafunc(ispla); // a képernı esemének keelése glutkeboarfunc(keboar); // billentőet esemének keelése glutmainloop(); // belépés a esemén hurokba return ; } 43 ALGORITMUSOK RASZTERES GRAFIKÁHOZ Egenes rajolása Kör rajolása Ellipsis rajolása 44 Algoritmusok rasteres grafikáho Egenes rajolása Felaat: Grafikai primitíveket (pl. vonalat, síkiomot) ábráolni kép-mátrisal, meghatároni aokat a képpontokat, amelek a primitív pontjai, vag köel vannak a primitívhe Moell: képpont ( körlap), amel a négetháló csúcspontjaiban helehető el. A koorináták: egés sámok Tegük fel, hog "vékon" egenes: m + b mereeksége: < m < (m,,... triviális speciális esetek) más esetekben vissaveetjük < m < -re Legen: <, < Egenes rajolása. Alap inkrementális algoritmus (, )-t kirajoljuk. Halajunk növekménnel balról jobbra, válassuk a legköelebbi képpontot: ( i+, [ i+ +.5]) ( i+, [m i+ +b+.5]) A sorás kiküsöbölhető inkrementálással: i+ m i+ +b m( i + )+b i +m i +m 47 Alap inkrementális algoritmus Algoritmus: (ha m >, akkor -et cseréljük-nal) voi Line(int, int, int, int, int value) { int ; ouble,,, m; -; -; m /; ; for( ; < ; ++) { WritePiel(, Roun(), value); + m } } // Line 48 8

9 Egenes rajolása 2. Feleőpont algoritmus egenesre egés aritmetika elegenő (Bresenham) Elv: At a képpontot válassuk NE és E köül, amelik a Q metséspontho köelebb van. Másképp: a válastásban a öntsön, hog Q a M feleőpont melik olalán van. Tegük fel, hog: <, < 49 Feleőpont algoritmus egenesre A (, ) és (, ) ponton átmenő egenes egenlete: ( ) / ( ) ( ) / ( ) innen: ( )( ) - ( )( ) Legen ( > ), ( > ), akkor: ( ) ( ) innen: + Legen: F(,) + Világos, hog >, ha a egenes (, ) fölött fut, F(,), ha (, ) a egenesen van, <, ha a egenes (, ) alatt fut. 5 F(,) + ( p, p ) rajolása után a feleőpont kritérium: a egenes válastás: >, M fölött, NE F(M) F( p +, p +½), M-en át, NE vag E ( : öntési váltoó) <, M alatt E fut váltoása a követkeő pontnál: ha előőleg E-t válastottuk, akkor E Feleőpont algoritmus egenesre új régi F( p +2, p +½) F( p +, p +½), ha előőleg NE-t válastottuk, akkor NE F( p +2, p +3/2) F( p +, p +½) North (ésak) East (kelet) 5 Feleőpont algoritmus egenesre F(,) + Keés: start F( +, +½) F(, )+ /2 /2 Aért, hog egés aritmetikával sámolhassunk, hasnáljuk inkább a 2F(,) 2 ( + ) függvént, ennek a előjele megegeik F előjelével, és ekkor start 2 már egés sám. 52 Feleőpont algoritmus egenesre voi MipointLine(int, int, int, int, int value) { int,, incre, incrne,,, ; -; -; 2*-; incre 2*; incrne 2*(-); ; ; WritePiel(,, value); while( < ) { if( < ) { ++; + incre; } else { ++; ++; + incrne; } WritePiel(,, value); } // while 53 } // MipointLine Feleőpont algoritmus egenesre Eremén: pl. Tulajonságok: - csak össeaás és kivonás - általánosítható körre, ellipsisre 54 9

10 Egenes rajolása Megjegés: Nem minig lehet csak balról jobbra halava rajolni a egeneseket. Pl. saggatott vonallal rajolt árt poligon Egenes rajolása 2. A vonal pontjainak a sűrűsége függ a mereekségétől Problémák:. Különböő pontsoroat les a eremén, ha balról jobbra, vag ha jobbról balra halaunk. Legen a válastás: balról jobbra: E-t válastani jobbról balra: SW-t válastani 55 Megolás: - intenitás váltotatása, - kitöltött téglalapnak tekinteni a egenes pontjait 56 Program (sakasrajoló) I Rajoljunk eg 5 piel vastagságú egenest, melnek egik végpontja piros, a másik kék! OpenGL Egenes sakas rajolása Program (sakasrajoló) II Program (sakasrajoló) III voi ispla() { glclear(gl_color_buffer_bit); gllinewith(5.); // 5 piel vastag vonal glshaemoel(gl_smooth); glbegin(gl_lines); glcolor3(.,.,.); //A piros végpont glverte2(.,.); glcolor3(.,.,.); // A kék végpont glverte2(2.,2.); glen(); glflush(); } 59 Megjegés: glshaemoel(gl_smooth) GL_SMOOTH: ekkor a két végpont köött a hoájuk megaott sínekkel interpolál GL_FLAT: utolsó végpont sínével rajol (GL_POLYGON esetében a elsőével) 6

11 Program (sakasrajoló) IV int main(int argc, char* argv[]) { glutinit(&argc, argv); glutinitdisplamoe(glut_single GLUT_RGB); glutinitwinowsie(2,2); glutinitwinowposition(,); glutcreatewinow( sakas"); init(); glutdisplafunc(ispla); glutkeboarfunc(keboar); glutmainloop(); return ; } 6 ²+² R² -tól R-ig növeksik, R² - ² Kör rajolása Drága eljárás (sorás, gökvonás) Nem egenletes R: egés. Elég eg kör-negeet/nolcaot megrajolni (a többi rés a simmetria alapján transformációkkal - pl. tükröés - előáll) 62 R cosθ R sinθ Θ -tól 9 -ig növeksik Drága eljárás (sin, cos) Kör rajolása 2. Polárkoorinátás alak Most is elég eg nolca kört kisámítani: 63 Program (nolca kör) Egserre 8 pontot heleünk el: voi Circlepoints(int, int, value) { WritePiel (,, value); WritePiel (,, value); WritePiel (, -, value); WritePiel (, -, value); WritePiel (-, -, value); WritePiel (-, -, value); WritePiel (-,, value); WritePiel (-,, value); } // CirclePoints 64 Kör rajolása Feleőpont algoritmus körre 3. Feleőpont algoritmus körre -tól R / 2 -ig (amíg ) Elv: E és SE köül at a pontot válastjuk, amelikhe a körív metséspontja köelebb van F(,) ²+² R² F(M) F( p +, p ½) >, ha (,) kívül van,, ha (,) rajta van, <, ha (,) belül van. > SE-t válastani SE vag E < E-t válastani 65 66

12 Feleőpont algoritmus körre F(,) ²+² R² váltoása a követkeő pontnál: ha előőleg E-t válastottuk, akkor E új régi F( p +2, p ½) F( p +, p ½) 2 p +3 ha előőleg SE-t válastottuk, akkor SE F( p +2, p 3/2) F( p +, p ½) 2 p 2 p Feleőpont algoritmus körre A iterációs lépések:. a öntési váltoó előjele alapján kiválastjuk a követkeő képpontot 2. + SE vag + E (a válastástól függően). Figeljük meg: értéke egés sámmal váltoik! Keés: keőpont: (, R) feleőpont: (, R /2) F(, R /2) 5/4 R nem egés sám! 68 Feleőpont algoritmus körre Nem tuunk egés aritmetikát hasnálni, eért legen h új öntési váltoó: h ¼ h+¼ < Ekkor keéskor h 5/4 R ¼ R Keetben, és a későbbiek során is h egés sám! Iga, hog < helett h < -¼ -et kellene visgálni, e e h egés volta miatt e ekvivalens h < -val, tehát egés aritmetika hasnálható. Megjegés: F helett 4F-fel is olgohatnánk. Feleőpont algoritmus körre voi MipointCircle(int R, int value) { int h; ; R; h -R; CirclePoints(,,value); while( > ) { if(h < ) { ++; h + 2*+3; } else { ++; --; h + 2*(-)+5; } CirclePoints(,,value); } // while } // MipointCircle 69 7 Feleőpont algoritmus körre Ellipsis rajolása ²/a² + ²/b² b²² + a²² a²b² a, b egés F(,) b²² + a²² a²b² 7 Simmetria miatt: elég a első síknegeben megrajolni 72 2

13 Ellipsis rajolása Da Silva algoritmusa (feleőpont algoritmus) Bontsuk a negeet két tartománra: Da Silva algoritmusa F(,) b²² + a²² a²b² A. tartománban: E-t válastjuk F( p +, p ½) < SE-t válastjuk A. tartománban a² ( p ½) > b² ( p +) 73 új régi F( p +2, p ½) F( p +, p ½) új régi F( p +2, p 3/2) F( p +, p ½) E b² (2 p +3) SE b² (2 p +3) + a² ( 2 p +2) 74 Da Silva algoritmusa F(,) b²² + a²² a²b² A. tartománban váltoása, ha előőleg E-t válastottuk: új régi F( p +2, p ½) F( p +, p ½) E b² (2 p +3) ha előőleg SE-t válastjuk új régi F( p +2, p 3/2) F( p +, p ½) SE b² (2 p +3) + a² ( 2 p +2) E és SE egés sám. 75 Da Silva algoritmusa F(,) b²² + a²² a²b² Keés: keőpont: (, b) feleőpont: (, b ½) F(, b ½) b² + a² ( b + ¼) Ha F helett 4F-el olgounk, akkor egés aritmetikát hasnálhatunk. Hái felaat A algoritmus a 2. tartománban 76 voi MipointEllipse(int a, int b, int value) { int,, a2, b2; ouble,2; Da Silva algoritmusa ; b; a2 a*a; b2 b*b; b2 - a2*b + a2/4; EllipsePoints(,,value); while(a2*(-/2) > b2*(+)) { if( <) { + b2*(2*+3); ++; } else { + b2*(2*+3)+ a2*(-2*+2); ++; --; } EllipsePoints(,,value); } // Region 2 b2*(+/2)*(+/2)+a2*(-)*(-)- a2*b2; while( > ) { if(2 < ) { 2 + b2*(2*+2)+ a2*(-2*+3); ++; --; } else { 2 + a2*(-2*+3); --; 77 OpenGL Felaat: Kör rajolása feleőpont algoritmussal 78 3

14 GRAFIKUS PRIMITÍVEK KITÖLTÉSE GRAFIKUS PRIMITÍVEK KITÖLTÉSE Téglalap kitöltése Poligon kitöltése Kör, ellipsis kitöltése Kitöltés mintával Területi primitívek: Zárt görbék által határolt területek (pl. kör, ellipsis, poligon) Megjeleníthetők a) Csak a határvonalat repreentáló pontok kirajolásával (kitöltetlen) b) Minen belső pont kirajolásával (kitöltött) 79 8 GRAFIKUS PRIMITÍVEK KITÖLTÉSE Alapkérés: Mel képpontok tartonak a grafikus primitívekhe? Páratlan paritás sabála: Páros sámú metséspont: külső pont Páratlan sámú metséspont: belső pont GRAFIKUS PRIMITÍVEK KITÖLTÉSE Primitívek kitöltésének a elve: Balról jobbra halava minen eges pástáó (scan) vonalon kirajoljuk a primitív belső pontjait (egserre eg sakast kitöltve) 8 82 GRAFIKUS PRIMITÍVEK KITÖLTÉSE Téglalap kitöltése Csúcspontok metsésekor: 2 Ha a metsett csúcspont lokális minimum vag maimum, akkor kétser sámítjuk, különben csak egser. 83 for( min ; < ma ; ++) for( min ; < ma ; ++) WritePiel(,,value); Probléma: Egés koorinátájú határpontok hova tartoanak? 84 4

15 Téglalap kitöltése Legen a sabál pl.: Eg képpont akkor nem tartoik a primitívhe, ha rajta áthalaó él, és a primitív által meghatároott félsík a képpont alatt, vag attól balra van. Pl.: Ie tartonak Megjegések: Téglalap kitöltése a) Általánosítható poligonokra b) A felső sor és jobb sélső oslop hiánohat c) A bal alsó sarok kétseresen tartohat a téglalapho Vagis a pástáó vonalon a kitöltési sakas balról árt, jobbról nitott A poligon lehet: konve, konkáv, önmagát metső, lukas Poligon kitöltése Poligon kitöltése a) A feleőpont algoritmus serint válastjuk a végpontokat (aa, nem sámít, hog aok a poligonon kívül, vag belül vannak); Halajunk a pástáó egeneseken és keressük a kitöltési sakasok végpontjait: 87 Disjunkt poligonoknak lehet köös képpontjuk 88 Poligon kitöltése Algoritmus poligonok kitöltésére b) A végpontokat a poligonho tartoó képpontok köül válastjuk Minen pástáó egenesre:. A pástáó egenes és a poligon élei metséspontjainak a meghatároása 2. A metséspontok reneése növekvő -koorinátáik serint

16 Algoritmus poligonok kitöltésére 3. A poligon belsejébe tartoó sakas(ok) végpontjai köötti képpontok kirajolása Hasnáljuk a páratlan paritás sabálát: Tegük fel, hog a bal sélen kívül vagunk, utána minen eges metséspont megváltotatja a paritást Algoritmus poligonok kitöltésére 3. Aott nem egés értékű metséspont. Ha kívül vagunk, akkor legen a végpont a fölfelé kerekített Ha belül vagunk, akkor legen a végpont a lefelé kerekített belül belül kívül kívül kívül 9 92 Algoritmus poligonok kitöltésére 3.2 Aott egés értékű metséspont Ha e bal végpont, akkor e belső pont Ha e jobb végpont, akkor e külső pont Algoritmus poligonok kitöltésére 3.2. A poligon csúcspontjaiban: min csúcspont besámít a paritásba ma csúcspont nem sámít a paritásba, tehát ma csúcspont csak akkor les kirajolva, ha a a somséos él min pontja is Algoritmus poligonok kitöltésére Vísintes él esetén: A ilen élek csúcspontjai nem sámítanak a paritásba Egés koorináta esetén a alsó élet rajoljunk, a felsőt nem 95 Péla poligon kitöltésére A fekete nem sámít a paritásba A vastag éleket rajolni kell, a vékonat nem A piros besámít a paritásba I J A H G F E C D A vonalak alsó végét rajolni kell, B a fölsőt nem 96 6

17 Poligon kitöltése Silánkok: olan poligon-területek, amelek belsejében nincs kitöltenő sakas hiánó képpontok Implementáció: Poligon kitöltése Nem kell minen eges pástáó vonalra újra kisámolni minen metséspontot, mert általában csak néhán metséspont érekes a i-ik pástáó vonalról a i+-ikre átlépve Poligon kitöltése Tegük fel hog: m> (m triviális, m < kicsit bonolultabb) m ma min ( ) ma min < egés rés + tört rés [ ] { } Poligon kitöltése Tegük fel, hog a bal határon vagunk! Ha { i }, akkor (, )-t rajolni kell (a vonalon van) Ha { i }, akkor fölfelé kell kerekíteni -et (belső pont) Egés értékű aritmetika hasnálható: törtrés helett a sámlálót és neveőt kell tárolni [ i+ ] [ i ] vag [ i ] + { i+ } { i } + vag { i } + 99 Poligon kitöltése voi LeftEgeScan(int min, int min, int ma, int ma, int value) { int,, numerator, enominator, increment; min; numerator ma - min; enimonator ma-min; increment enominator; for( min; < ma; ++) { WritePiel(,,value); increment + numerator; if(increment > enominator) { ++; increment - enominator; } } } Aatstruktúrák: ÉT: (Élek Tábláata) Poligon kitöltése A kisebbik értékük serint reneve a össes élet tartalmaa. A vísintes élek kimaranak! Anni lista van, ahán pástáó vonal. Minen listában aok a élek serepelnek, amelek alsó végpontja a pástáó vonalon van. A listák a élek alsó végpontjának koorinátája, een belül a mereekség reciproka serint reneettek Minen lista elem tartalmaa a él ma, min koorinátáját és a mereekség reciprokát. 2 7

18 Poligon kitöltése Poligon kitöltése ÉT: (Élek Tábláata) λ λ 9 λ 8 λ EF DE /2 7 6/4 λ 6 λ CD 5 3 λ 4 λ FA λ 2 λ AB BC 3 7-5/ /4 λ λ ma min /m AÉT: (Aktív Élek Tábláata) A pástáó vonalat metső éleket tartalmaa a metséspontok koorinátája serint reneve. Eek a metséspontok kitöltési sakasokat határonak meg a aktuális pástáó vonalon. E is lista. 3 4 Algoritmus poligon kitöltésére. ÉT kialakítása. legen a ÉT-ben levő nem üres listák köül a legkisebb 2. AÉT inicialiálása (üres) 3. A továbbiakat aig ismételjük, amíg ÉT végére érünk és AÉT üres les: Algoritmus poligon kitöltésére 3. ÉT-ből a -ho tartoó listát a reneést megtartva AÉT-he másoljuk 3.2 AÉT-ből kivessük aokat a éleket, amelekre ma (a fölső éleket nem töltjük ki) 3.3 A kitöltési sakasok pontjait megjelenítjük Minen AÉT-beli élben móosítjuk -et 5 6 Poligon kitöltése Poligon kitöltése Megjegés: Háromsögekre, trapéokra egserűsíthető a algoritmus, mert a pástáó egeneseknek legfeljebb 2 metséspontja lehet eg háromsöggel vag eg trapéal (nem kell ÉT). AÉT a 8 pástáó vonalon: FA 9 2 EF 9 4-5/2 DE 9 6/4 CD 3 λ ma /m 7 8 8

19 Kör, ellipsis kitöltése P belül van, ha F(P) <, e most is hasnálható a feleőpont móser. Hasonló algoritmussal sámíthatók a kitöltési sakasok. Háromsög kitöltése (OpenGL) Egetlen sínnel glbegin(gl_triangles); glcolor3f(.,.2,.3); glverte3f(,, ); glverte3f(,, ); glverte3f(,, ); glen(); 9 Háromsög kitöltése (OpenGL) Több sínnel (Gourau-féle móon interpolálva) glshaemoel(gl_smooth); //G-árnalás glbegin(gl_triangles); glcolor3(.,.,.); glverte3(5.,5.,.); glcolor3(.,.,.); glverte3(95.,5.,.); glcolor3(.,.,.); glverte3(.,95.,.); glen(); Poligon létrehoása (OpenGL) glbegin(gl_polygon); glverte3(,,); glverte3(5,,); glverte3(,5,); glverte3(,,); glverte3(,,) glen(); A OpenGL csak síkbeli konve soksögek heles kirajolását garantálja A elsőként specifikált csúcspont síne les a primitív síne, ha glshaemoel(gl_flat); 2 3D-s poligonoknak két olaluk van: elülső és hátulsó olal. Alapértelmeésben minkét olal uganúg rajolóik ki, e een lehet váltotatni: voi glpolgonmoe(enum face, enum moe); face: GL_FRONT_AND_BACK GL_FRONT GL_BACK; moe: Poligon (OpenGL) GL_POINT csak a csúcspontokat rajolja ki GL_LINE a határvonalat rajolja ki GL_FILL kitölti a poligont 3 Kitöltés mintával Általában: terület kitöltése sabálosan ismétlőő grafikus elemekkel Képmátriok (raster) esetében a cella eg (kisméretű) mátri 4 9

20 Péla: Kitöltés mintával Tégla minta Lehet a kitöltés "átlátsó" is: nem minen képpontot írunk felül, csak aokat, ahol a minta nem 5 Fajtái: Kitöltés mintával. Válassunk eg pontot a primitívben (pl. bal felsőt), eg pontot a mintában (pl. bal felsőt), illessük aokat egmásra, a többi pont illeskeése már kisámítható 2. Válassunk eg pontot a képernőn (pl. bal felsőt), eg pontot a mintában (pl. bal felsőt), illessük aokat egmásra, a többi pont illeskeése már kisámítható (most a mintáat a képernőhö van rögítve) 6 Legen: Kitöltés mintával minta M * N -es mátri minta [,] képernő [,] ekkor. móser: Pástáás soronként (átlátsó) if(minta[ % M][ % N]) WritePiel(,,érték); Kitöltés mintával 2. móser: Téglalap írás Gorsabb: több képpont (sor) egserre történő másolásával (esetleg maskolás is sükséges a sor elején vag végén) 7 8 Kitöltés mintával Csak akkor éremes hasnálni, ha a primitívet soksor kell hasnálni Pl. karakterek megjelenítése Kitöltés mintával A téglalap írás kitöltés kombinálható képek köötti műveletekkel, íg bonolult ábrák késíthetők: 9 (a) hegek, (b) há vonalai, (c) a há kitöltött bitmap képe, () (a)-ból kitöröltük (c)-t, (e) tégla minta, (f) (b) tégla mintával kitöltve, (g) (e) ()-re másolva 2 2

21 Kitöltés mintával (OpenGL) voi glpolgonstipple(const ubte *mask); Kitöltési minta beállítása mask: eg es bittérkép (minta) 2 Kitöltés mintával (OpenGL) A kitöltési minta glenable(gl_polygon_stipple) engeéleése gldisable(gl_polygon_stipple) tiltása Pl.: voi ispla() { glclear(gl_color_buffer_bit); //Képernı törlés glshaemoel(gl_flat); //Árnalási mó: FLAT glpolgonstipple(mask); // A minta glenable(gl_polygon_stipple);//engeéleés raj(); //A alakat kirajolása gldisable(gl_polygon_stipple); //tiltás } 22 Péla: Kitöltés mintával (OpenGL) VASTAG PRIMITÍVEK RAJZOLÁSA Képpontok ismétlése Mogó ecset Területkitöltés Köelítés vastag sakasokkal VASTAG PRIMITÍVEK RAJZOLÁSA Több képpontni vastagságú vonalak Milen alakú legen a ecset? Kör? Téglalap? Foruljon a vonallal? VASTAG PRIMITÍVEK RAJZOLÁSA. Képpontok ismétlése A pástáó vonalas algoritmus kiterjestése: ha - < m <, különben akkor a képpontokat többsöröük meg a oslopokban; a sorokban

22 Képpontok ismétlése Tulajonságai: a) gors, b) a vonal végek minig vísintesek vag függőlegesek, c) a vonal vastagsága függ a mereekségtől VASTAG PRIMITÍVEK RAJZOLÁSA 2. Mogó ecset Téglalap alakú ecset, aminek a köéppontja (vag csúcspontja) a piel vastag vonalon moog (a ecset nem "forog") ) a upláás nem meg: a vonal valamelik olala felé vastagabb Jó móser, ha nem túl vastag a vonal Mogó ecset Mogó ecset Tulajonságai: hasonló -he, e a) a végpontok nagobbak b) a vonal vastagsága függ a mereekségtől és a ecset alakjától jobb a kör alakú ecset Implementáció: ecset ( minta) másolása a piel vastag vonal minen pontjába 29 3 VASTAG PRIMITÍVEK RAJZOLÁSA 3. Területkitöltés Területkitöltés Tulajonságai: a) uganolan jó páros és páratlan vastagra b) a vonal vastagsága nem függ a mereekségtől Kör esetén: külső és belső kör Terület primitíveknél a külső határvonalho hasnálhatjuk a ereeti határvonalat, elegenő tehát a belsőt meghatároni Ellipsis esetén: a t/2, b t/2 a + t/2, b + t/2 belső külső ellipsisek

23 Területkitöltés VASTAG PRIMITÍVEK RAJZOLÁSA 4. Köelítés vastag sakasokkal 33 Sakasonként lineáris approimáció a) sép b) vastag vonalakat símán kell illesteni 34 Pont mérete (OpenGL) Sakasok rajolása (OpenGL) Voi glpointsie(glfloat sie); Nem minen méretet támogatnak a implementációk: GLfloat sies[2]; // méret tartomán GLfloat step; // támogatott lépés Független sakas (GL_LINES): A elsőként specifikált két csúcspont határoa meg a első sakast, a másoik két csúcspont a másoik sakast,... (nincsenek össekötve) glgetfloatv(gl_point_size_range, sies); glgetfloatv(gl_point_size_granularity, &step); Sakasok rajolása (OpenGL) Sakas soroat (GL_LINE_STRIP): Eg vag több össekötött sakas specifikálása a végpontok soroatának megaásával. Pl.: Sakasok rajolása (OPenGL) Sakas hurok (GL_LINE_LOOP): Ugana, mint a LINE_STRIP, e a utolsóként specifikált csúcspontot össekötjük a elsőként specifikált csúcsponttal. Pl.: glbegin(gl_line_strip); glverte3(,,); glverte3(5,5,); glverte3(5,,); glen(); 37 glbegin(gl_line_loop); glverte3(,,); glverte3(5,5,); glverte3(5,,); glen(); 38 23

24 Háromsögek rajolása (OpenGL) Független háromsögek(gl_triangles): A elsőként specifikált három csúcspont határoa meg a első háromsöget, a másoik három csúcspont a másoik háromsöget,... Háromsögek rajolása (OpenGL) Háromsög soroat (GL_TRIANGLE_STRIP): Eg vag több somséos háromsög specifikálása a csúcspontok soroatának megaásával. Pl.: V 4 V 5 V 2 V 2 V 3 V 2 V 3 V 2 V 3 V 4 V V V V V V V V 39 4 Háromsögek rajolása (OpenGL) Háromsög legeő (GL_TRIANGLE_FAN): Eg vag több somséos háromsög specifikálása a csúcspontok soroatának megaásával. Pl.: Vonal vastagsága (OpenGL) Voi gllinewith(glfloat with); Nem minen vastagságot támogatnak a implementációk: V 2 V 3 V 2 V 4 V 3 V 2 GLfloat sies[2]; // vastagság tartomán GLfloat step; // támogatott lépés V V V V V V glgetfloatv(gl_line_width_range, sies); glgetfloatv(gl_line_width_granularity,&step); 4 42 Sakasok élsimítása (OpenGL) A sakasok élsimítását engeéleni a GL_LINE_SMOOTH argumentummal meghívott glenable, tiltani a gldisable függvénnel lehet. VONAL STÍLUS Ha a élsímítás engeéleett, akkor nem egés sélességek is megahatók, és ekkor a sakas sélén kirajolt képpontok intenitása kisebb, mint a sakas köepén lévő képpontoké

25 Primitívek attribútumai: vonal vastagság sín vonal stílus stb... Vonal stílus: foltonos saggatott VONAL STÍLUS pontoott felhasnáló által efiniált 45 VONAL STÍLUS Stílus: 8 vag 6 bites mask írja le, hog mel biteknek megfelelő pontok legenek kirajolva, mint a vonal pontjai Pl: foltonos saggatott Rajolás: (maskolással) 46 VONAL STÍLUS Hátrána: A saggatások távolsága függ a mereekségtől Megolás: A távolságot sámolva rajolni a sakasokat Sakas stílus (OpenGl) voi gllinestipple(int factor, ushort pattern); Pattern (mask): 6 bites bináris jelsoroat factor: A pattern-ben levő minen bitfactor-sor kerül alkalmaásra. ff binárisan vonal minta 47 vonal eg segmens 48 Pl.: Sakas stílus (OpenGl) gllinestipple(, 3F7); glenable(gl_line_stipple); A minta: (a alacson helértékű bittel keünk). gllinestipple(2, 3F7); glenable(gl_line_stipple); A minta: Sakas stílus (OpenGl) Megolanó felaat: Rajoljunk ötsöget olan egenes sakasokból, amelek a követkeő mintákból épülnek fel: Sakas stílus glenable(gl_line_stipple) engeéleése gldisable(gl_line_stipple) tiltása

26 VÁGÁS VÁGÁS A vágásról általában Pontok vágása Vonalak, sakasok vágása egenletrenser megolásával A COHEN - SUTHERLAND -féle vonal vágás Parametrikus vonal vágó algoritmus Körök és ellipsisek vágása Poligonok vágása 5 A primitívekből csak annit saba mutatni, amenni látsik belőlük (takarás, kilógás a képből) 52 VÁGÁS Móserek:. Vágjuk le a megjelenítés előtt, aa sámítsuk ki a metséspontokat és a új végpontokkal rajoljunk 2. Pástáuk a teljes primitívet, e csak a látható képpontokat jelenítjük meg: minen (, )-ra ellenőrés 3. A teljes primitívet munkaterületre rajoljuk, maj innen átmásoljuk a megfelelő arabot Pontok vágása: (,) belül van, ha min ma és min ma VÁGÁS VÁGÁS Sakasok vágása egenletrenser megolásával Sakasok vágása egenletrenser megolásával Elég a végpontokat visgálni: a) Ha minkét végpont belül van, akkor a teljes vonal belül van, nincs vágás; b) Ha pontosan eg végpont van belül, akkor metséspontot kell sámolni és vágni; c) Ha minkét végpont kívül van, akkor további visgálat sükséges: lehet, hog nincs köös rése a vágási téglalappal, e lehet, hog van

27 Sakasok vágása egenletrenser megolásával A vágási téglalap minen élére megvisgáljuk: van-e a élnek köös rése a sakassal Egenesek metséspontjának meghatároása, és a élen belül van-e a metséspont Problémák: Egenesek (nem sakasok!) metséspontjai, Speciális esetek (vísintes, függőleges egenesek) 57 Sakasok vágása egenletrenser Javítás: parametrikus alak + t ( ) + t ( ) megolásával t [,] (sakast ír le) Metséspont: t él : a metséspont paramétere a élen t vonal : a metséspont paramétere a vonalon Ha t él, t vonal [,], akkor belül van Még íg sem hatékon a móser, mert sokat kell 58 ellenőrini és sámolni COHEN - SUTHERLAND - féle sakas vágás COHEN - SUTHERLAND - féle sakas vágás A végpontok kóolása: > ma < min > ma < min ma - - min ma - - min előjele előjele előjele előjele A végpontok kóolása: Minen végpont annak megfelelő kóot (coe, coe 2 ) kap, hog melik tartománban van. (, ) és ( 2, 2 ) a sakas két végpontja. min ma min ma ma ma min min 59 6 COHEN - SUTHERLAND - féle sakas vágás Előetes visgálatok:. Ha a végpontok belül vannak, akkor nincs mit vágni (triviális elfogaás). Ilenkor: coe coe 2 COHEN - SUTHERLAND - féle sakas vágás különben, ha (bitenként) coe AND coe 2 TRUE 2. ha, 2 < min (...) vag, 2 > ma (...) vag, 2 < min (...) vag, 2 > ma (...) minen kívül van (triviális elvetés) min ma min ma ma ma min min

28 COHEN - SUTHERLAND - féle sakas vágás különben: 3. a (, ) ( 2, 2 ) sakas metsi valamelik élet. Vegünk eg külső végpontot (legalább egik a; ha több van, akkor válassuk köülük felülről lefelé és jobbról balra halava a elsőt), sámítsuk ki a metséspontot. A két résre vágott sakas egik fele a 2. pont alapján triviálisan elvethető. COHEN - SUTHERLAND - féle sakas vágás Interaktív móon is hasnálható Hatékon, mert gakori, hog sok vag kevés sakas van belül A legáltalánosabban hasnált eljárás Parametrikus sakas vágó algoritmus P kívül belül P Ei N i D E i él P P(t) P + (P P ) t P + D t D A metséspontra (skalársorat): N i (P(t) P E i ) N i (P + D t P E i ) N i (P P E i ) t N i D <, akkor belép a félsíkba, Ha N i D, akkor párhuamos a félsík élével, >, akkor kilép a félsíkból. 65 Parametrikus sakas vágó algoritmus Meghatároható a egenesnek a téglalap 4 élével való 4 metséspontja (4 b t érték). Melik két t a megfelelő? P t P P P t P P 66 Parametrikus sakas vágó algoritmus PE olan pont, ahol P -ból P -felé halava belépünk eg belső félsíkba (potential entering), ekkor N i (P P ) < PL olan, ahol kilépünk eg belső félsíkból (potential leaving), ekkor N i (P P ) > P t P PL P PE PE PE PE P t PL P PL PL P 67 Parametrikus sakas vágó algoritmus Legen t E ma {, ma{t PE }}, t L min {, min{t PL }} P t P PE PL PE P PE PE Ha t E > t L, akkor nincs belső metsés különben t E, t L [,], és e a belső sakas P t PL P P PL PL 68 28

29 Parametrikus sakas vágó algoritmus sámítása A metséspontok sámítása: él i vágás N i P Ei P P Ei bal min (, ) ( min, ) ( min, ) jobb ma (, ) ( ma, ) ( ma, ) lent min (, ) (, min ) (, min ) fent ma (, ) (, ma ) (, ma ) ( P P ) Ni t N D i Ei ( min ) ( ) ( ma ) ( ) ( min ) ( ) ( ma ) ( ) 69 Parametrikus sakas vágó algoritmus begin N i kisámítása, P Ei kiválastása minen élre; for sakasokra if P P then pont vágása; else begin t E ; t L ; D P -P ; for él és sakas párokra if N i *D <> then begin t kisámítása. N i *D <: PE, >: PL; if PE then t E ma(t E,t); if PL then t L min(t L,t) en; if t E > t L then nincs belsı metsés else P(t E )-tıl P(t L )-ig belsı metsés en 7 en Körök és ellipsisek vágása Körök és ellipsisek vágása Triviális visgálat: Ha a keret belül van, akkor a kör is belül van, nincs mit vágni; Ha a keret kívül van, akkor a kör is kívül van, nincs mit vágni. Különben: Körnegeekre (nolcaokra) kisámítjuk a kör és a téglalap élének metséspontját, utána pástáás Ha a kör nem nag, akkor pielenként önthetünk. Ellipsis: hasonlóan Sok eset lehet: Poligonok vágása Poligonok vágása SUTHERLAND, HODGMAN: vágjunk egenként a össes éllel Általában minen éllel vágni kell 73 (v,v 2,...,v n ) (v',v' 2,...,v' m ) csúcspontok új csúcspontok 74 29

30 Geometriai transformációk P(,) T P (, ) (, ) P ζ P ζ Beveetés - Transformációk A Sámítógépes Grafikában hasnálatos 2- és 3- imeniós transformációk: eltolás nagítás, kicsinítés (skáláás) forgatás Pont 2D eltolása Sakas 2D eltolása Hossak és a sögek váltoatlanok P(,) T P (, ) (, ) + + (oslop-)vektorokkal: P P P+T ' P' T ' Elegenő a új végpontokat sámolni B B A A T A A+T B B+T D nagítás/kicsinítés A sögek váltoatlanok Sokták a kettőt egütt SKÁLÁZÁSKÉNT említeni 2D forgatás A hossak és a sögek váltoatlanok Origó körüli forgatás Origóból történő nagítás P s s (oslop-)vektorokkal: P Általános skáláás ' S P' S ' S P ζ P ζ cos ζ - sin ζ sin ζ + cos ζ ' ' cos ζ R sin ζ P R P sin ζ cos ζ P P S P

31 3 Homogén koorináták (, ) jelölése homogén koorinátákkal: (,, w) Egenlőség: (,, w) (,, w ), ha van olan α hog: α, α, w α w pl: (2, 3, 6) (4, 6, 2) Eg pontho végtelen sok (,, w) tartoik. Ha w, akkor (,, w) végtelen távoli pont (,, ) nem megengeett! 8 Kapcsolat 2D és 3D köt (t, t, t w) egenes a 3D térben P vetülete a w síkon A végtelen távoli pontok nincsenek a síkon w w,, P(,, w) w 82 2D eltolás - matematikailag ' ' P T(, ) P, ahol ( ) T, T( 2, 2 ) T(, ) Ismételt eltolások (kompoíció): P P P P T(, ) P, P T( 2, 2 ) P T( 2, 2 ) (T(, ) P) ( ) T , 83 S(s 2, s 2 ) S(s, s ) 2D skáláás - matematikailag s s ' ' P S(s, s ) P, Ismételt skáláások (kompoíció): P P P P S(s, s ) P, P S(s 2, s 2 ) P S(s 2, s 2 ) (S(s, s ) P) ( ), s s s s s s s s s s s s S 84 2D forgatás - matematikailag P R(ζ) P (R(ζ) ortogonális) Ismételt forgatások: P R(ζ ) P, P R(ζ 2 ) P R(ζ 2 ) (R(ζ ) P) R(ζ + ζ 2 ) P Bionítás: Hái felaat ζ ζ ζ ζ cos sin sin cos ' ' 85 A hossak és a sögek váltohatnak Párhuamos egenesek képe párhuamos a SH b SH + a a ' ' SH SH 2D nírás 86

32 Affin transformációk Affin transformáció: eltolások, skáláások, forgatások és nírások tetsőleges sámú és sorrenű egmás utáni alkalmaásával kapott transformáció 87 2D transformációk kompoíciója. péla Forgatás ζ-val eg tetsőleges P(,) pont körül. a) eltolás P-ből O-ba T(-, -) b) forgatás a origó körül R(ζ) c) eltolás O-ból P-be T(,) cos ζ sin ζ sin ζ cos ζ cos ζ sin ζ sin ζ cos ζ ( cos ζ ) ( cos ζ ) + sin ζ sin ζ 88 2D transformációk kompoíciója 2. péla Nagítás eg tetsőleges P(, ) pontból: T(, ) S(s, s ) T(-, -) s s s s ( s ) ( s ) 89 2D transformációk kompoíciója 3. péla / Világ koorináta Képernő koorináta renser renser ( ma, ma ) ( min, min ) T transformáció M Lépések: S (u min,v min ) T 2 (u ma,v ma ) 9 M 2D transformációk kompoíciója 3. péla /2 ( ma, ma ) ( min, min ) T transformáció M u Lépések: S u v (u min,v min ) T 2 (u ma,v ma ) ma min ma min ( u, v ) S, T( ) T min min min, min ma min ma min 9 v 2D transformációk kompoíciója 3. péla /3 u u M T min ma uma umin u ma min min vmin uma umin ma min vma v ma v v ma min v ma v min ma min uma umin min + umin ma min v ma vmin min + vmin ma min ma min ma min ( u, v ) S, T( ) min min, min min min min min min 92 32

33 2D transformációk kompoíciója 3. péla /4 uma umin uma umin min + umin ma min ma min vma vmin vma vmin M min + vmin ma min ma min uma umin tehát ( min ) + umin ma min vma vmin P' MP(,, ) ( min) + vmin ma min 93 Általános kompoíció mátri Skáláások, forgatások, nírások és eltolások kompoíciója a legáltalánosabb esetben is t M t2 alakú mátriot ereméne. t t 2 22 t3 t23 94 Gorsítások 3D koorináta-renserek t M t2 t t 2 22 t3 t23 M P sámításakor: 9 sorás és 6 össeaás helett elegenő t + t 2 + t 3 t 2 + t 22 + t 23 kisámítása, ami csak 4 sorás és 4 össeaás 95 balkees bal-sorású jobbkees jobb-sorású 96 3D transformációk - homogén koorináták (,,) megaása homogén koorinátákkal: (,,,) (,,,w) (,,,w ), ha van olan α, hog α, α, α és w α w Ha w : (/w, /w, /w, ) a sokásos jelölés Ha w: (,,, ) végtelen távoli pont Kapcsolat: (,, ) - egenes a 4-imeniós térben, aminek a w 3D térrel való metsete a homogén koorináta mert T 3D eltolás (, ) T, (, ) T, (,, ) T (,, )

34 34 3D skáláás (nagítás/kicsinítés) mert ( ) s s s s s S s,, ( ) s s s s s S s,, ( ) / / /,, s s s s s s S 99 3D forgatások A -tengel körül A -tengel körül A Y-tengel körül ( ) R ξ ξ ξ ξ ξ cos sin sin cos ( ) R ξ ξ ξ ξ ξ cos sin sin cos ( ) R ξ ξ ξ ξ ξ cos sin sin cos 2 3D nírás ( ) sh sh sh sh SH, ( ) + + sh sh sh sh SH, mert 2 3D kompoíció-márti A legáltalánosabb kompoíció alakja: t t t t t t t t t t t t M 22 A mátri sorásho képest most is meg lehet takarítani műveleteket. Ha, akkor a sík normálisa, hisen N T P Ha a sík pontjait M-el transformáljuk, akkor hog transformálóik a sík normálisa? 3D - síkok transformációi A sík egenlete: A + B + C + D Legen P a sík tetsőleges pontja! P D C B A N 23 3D - síkok transformációi Legen P tetsőleges pont a síkban! Ekkor N T P. Melik a a Q mátri, amelre (Q N) T (M P)? Ha M - léteik, akkor ((M - ) T N) T (M P) N T ((M - ) T ) T M P N T P Q(M - ) T N (M - ) T N (NEM BIZTOS, hog M - léteik! Pl.: vetítés esetén) 24

35 3D koorináta-renserek váltása / P (j) : a P pont a j koorináta-renserben M i j : transformáció, amel a j koorináta-renserbeli pontokat a i koorináta-renserbe visi át Ekkor P (i) M i j P (j) Ha P (j) M j k P (k), akkor P (i) M i j P (j) M i j (M j k P (k) ) M i k P (k) ahol M i k M i j M j k 25 3D koorináta-renserek váltása /2 Továbbá M i j M - j i pl: a) Ha M i j T(t, t), akkor M j i T(-t, -t). b) Ha R: jobb-, L: bal-kees koorináta-renser aonos origóval és párhuamos tengelekkel, akkor M R L M L R 26 3D - transformációk alakja (Különböő koorináta-renserekben) P (j) : pont a j koorináta-renserben Q (j) : transformáció a j koorináta-renserben Melik a a Q (i), amelre Mivel P (i) M i j P (j), eért Q (i) P (i) M i j Q (j) P (j) Q (i) M i j P (j) M i j Q (j) P (j), Q (i) M i j M i j Q (j) Q (i) M i j Q (j) M i j - 27 Mátri műveletek (OpenGL) OpenGL-ben oslopfoltonosan tároljuk a mátriokat. A egség mátri: GLfloat M[] {.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.} a a2 a3 a4 Új aktuális mátri betöltése: voi glloamatri{f}(t M[6]); glmatrimoe(gl_modelview); // típus glloamatri(m); // betöltés a a a a a a a a 9 2 a3 a4 a 5 a 6 28 Mátri műveletek (OpenGL) A aktuális mátri legen a egségmátri: voi glloaientit(voi); A aktuális mátri sorása: voi glmultmatri{f}(t M[6]); Pl.: GLfloat M[] {.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.} glmatrimoe(gl_modelview); glmultmatri(m); A sorat les a új aktuális mátri 29 Koorináta transformációk (OpenGL) Néeti (Viewing) a néő (kamera) helének a megaása Moell (Moeling) a objektumok (moell) mogatása Moell-néet (MoelView) a néeti és a moell transformációk egütt Vetítési (Projection) a néet vágása és látótérbe méreteése Ablak a eremén ablakra való leképeése 2 35

36 Néeti koorináták (OpenGL) A megfigelő néőpontja keetben (,, ) A megfigelő a tengel negatív iránába né. Virtuálisan rögített koorináta renser - - Ahog a megfigelő látja a moellt Íg látnánk olalról a megfigelőt a poíciójának a tengel iránába történő 2 elmoítása után Néeti koorináták (OpenGL) A néeti koorináta renser elforgatása 45 -kal a ótamutató járásával megegeő iránban 22 Néeti (Viewing) transformáció (OpenGL) E hajtóik végre elősör, et kell legelősör efiniálni Néőpont meghatároása Keeti néőpont (,, ) glulookat paranccsal móosítható 23 Néeti (Viewing) transformáció (OpenGL) voi glulookat( GLouble ee, GLouble ee, GLouble ee, GLouble center, GLouble center, GLouble center, GLouble up, GLouble up, GLouble up) (ee, ee, ee) a sem poíciója (center, center, center) referenciapont, ahová a sem né (up, up, up) felfelé mutató vektor (up-vektor,vup) Pl.: glulookat(.,.,2.,.,.,.,.,.,.); 24 Néeti (Viewing) transformáció (OpenGL) Moell (Moeling) transformáció (OpenGL) A glulookat eljárás kisámítja a megaott néeti transformáció inverét, maj a aktuális mátriot megsoroa a kapott inver transformációs mátrisal A altuális mátri mó a GL_MODELVIEW legen! eltolás (transláció) forgatás (rotáció) A moell vag eg résének a transformálására hasnáljuk A csúcspont (verte) koorinátákat transformálja 25 skáláás 26 36

37 Moell-néeti ualitás (OpenGL) A néeti és a moell transformációk uálisak, eért elegenő csak a moell koorináta rensert transformálni néeti koorináta moell koorináta renser mogatás renser mogatás 27 Moell transformációk (OpenGL) glmatrimoe(gl_modelview); voi glrotate{f}(t a, T, T, T ); a: forgatás fokban; (,, ): forgási tengel pl. 45 fokos forgatás a -tengel körül: glrotate(45,.,.,.) voi gltranslate{f}(t, T, T ); (,, ): a eltolás vektora pl.: -tengel mentén 5 egséggel való eltolás gltranslate(5,, ) voi glscale{f}(t, T, T ); (,, ) skáláás mértéke a tengelek mentén pl.: glscale(.5,.5,.5).5-sörös uniform nagítás 28 Vetítési (projection) transformáció (OpenGL) glmatrimoe(gl_projection); Kétféle vetítési lehetőség Ortografikus vetítés (OpenGL) voi glortho(ouble left, ouble right, ouble bottom, ouble top, ouble near, ouble far); orthografikus és perspektivikus Megajuk a látóteret is Végrehajtás: új projekciómátri projekciómátri specifikált mátri 29 Orthogonális (ortografikus) vetítés vágási terének megaása 2D eset: voi gluortho2d( ouble left, ouble right, ouble bottom, ouble top); 22 Perspektív vetítés (OpenGL) voi glfrustum (ouble left, ouble right, ouble bottom, ouble top, ouble near, ouble far); left, right: a bal és jobb olali vágósík koorinátája bottom, top: a alsó és felső vágósík koorinátája near, far: a köeli és távoli vágósík koorinátája. Perspektív vetítés (OpenGL) Simmetrikus látótér megaása: voi gluperspective (ouble fov, ouble aspect, ouble near, ouble far); fov: a látótér söge iránban aspect: w/h near, far: a vágósíkok távolsága a megfigelőtől Néőpont: a origó: (,, )

38 Ablak (OpenGL) 2D-s leképés a ablak eg téglalap alakú (viewport) résébe: voi glviewport(glint, GLint, GLsiei with, GLsiei height);, : a viewport bal alsó sarka a ablakban, with, height: a viewport mérete pielben, (, ) (5, ) Vágási tér - Viewport 5* Ablak 3*2 Ablak (OpenGL) Alapértelmeés:(,, winwith, winheight), aholwinwith és winheight a ablak méretei (, ) (5, ) Vágási tér - Ablak, Viewport 3* Perspektív vetítés (OpenGL) Pl.: Móosítsuk viewport-ot és a vágási teret perspektív vetítésnél voi ChangeSie(GLsiei w, GLsiei h){ GLfloat faspect; if (h ) h ; // ne osssunk -val // a ablakon beállítjuk a viewport-ot glviewport(,, w, h); faspect (GLfloat)w/(GLfloat)h; // vetítési mátri glmatrimoe(gl_projection); glloaientit(); // vágási tér megaás, perspektív vetítés gluperspective(6.f, faspect,., 4.); glmatrimoe(gl_modelview); } glloaientit(); 225 Transformációs mátriok (OpenGL) e Moelview e mátri e w we Ereeti Sem koorináták koorináták c c / wc c Perspektív c / wc ostás c c / wc wc Vágási Normaliált koorináták koorináták Projekció mátri Viewport transf. mátri 226 Transformációs mátriok (OpenGL) Mátri vermek (OpenGL) c c c / wc / wc / w c Normaliát (inhomogén) koorináták Viewport transf. mátri Mátri móok:gl_texture, GL_MODELVIEW, GL_COLOR, GL_PROJECTION Minen mátri mó sámára van eg mátri verem A aktuális mátri a verem tetején lévő mátri. A műveletek: voi glpushmatri( voi ); voi glpopmatri( voi );

39 Mátri vermek (OpenGL) glget(gl_max_modelview_stack_depth) (Microsoft: maimális mélség 32) glget(gl_max_projection_stack_depth) (Microsoft: maimális mélség 2) GL_STACK_OVERFLOW, GL_STACK_UNDERFLOW Felaat (OpenGL) Rajoljuk meg eg obókocka perspektivikus képét! Alapállapot: egségmátri, GL_MODELVIEW Animáció(OpenGL) Annak érekében, hog a megjelenített képek váltoása sima legen, upla puffert kell hasnálnunk: glutinitdisplamoe (GLUT_DOUBLE GLUT_RGB); Dupla puffer hasnálata esetén a megjelenítés glflush(); helett glutswapbuffers(); Animáció(OpenGL) Fontos, hog a megjelenítőfüggvén minig aonos móon fusson, és mellékhatás mentes legen! Ha pl. transformációt is tartalma, akkor a megjelenítőfüggvén elején vermeljük a móosítanó mátriot: glpushmatri(); Maj a megjelenítés végén mentsük vissa a veremből: glpopmatri(); A váltoás globális váltoók értékének váltoásán alapuljon! További call back függvének (OpenGL) voi glutreshapefunc( (*func)(glsiei w, Glsiei h)); Ha móosítjuk a ablak alakját, méretét, akkor a glutmainloop végrehajtja a func(w, h)függvénhívást, ahol wa ablak sélessége, ha magassága. Íg serehetünk tuomást a ablak móosított méretérıl. A func függvénen belül globális váltoóba tehetjük w és h értékét. AglutPostReispla(); függvénhívással jelehetjük, hog föl kell hívni a megjelenítı függvént. További call back függvének (OpenGL) voi gluttimerfunc(unsie int ms, (*func)(int value), int value); ms millisec lejárta után a glutmailoopvégrehajtja a func(value) függvén hívást. Hasnálata: A func függvén móosítja a globális váltoók némelikének a értékét, eáltal móosít a moellen vag a megjelenítésen, maj meghívja a glutpostreispla, függvént a móosítás megjelenítésére, és általában a gluttimerfunc függvént, e utóbbit aért, hog a func függvén később újra fölhívásra kerüljön

40 3D geometriai formák rótváas megjelenítése (OpenGL) #inclue<gl/glut.h> voi glutwirecube(glouble sie); sie : a kocka élhossa (a kocka köéppontja a origóban les) 3D geometriai formák rótváas megjelenítése (OpenGL) voi glutwiresphere(glouble raius, GLint slices, Glint stacks); raius: a gömb sugara, slices: a -tengel körüli beostások (sélességi körök) sáma, stacks: a -tengel menti beostások (hossúsági körök) sáma A köéppont a origóban les D geometriai formák rótváas megjelenítése (OpenGL) voi glutwirecone(glouble base, GLouble height,glint slices, GLint stacks); base: a kúp alapjának sugara, height : a kúp magassága, slices: a -tengelre merőleges beostások sáma, stacks : a -tengelen átmenő beostások sáma 237 3D geometriai formák rótváas megjelenítése (OpenGL) voi glutwiretorus(glouble innerraius,glouble outerraius, GLint nsies, GLint rings); innerraius: a tórus belső sugara, outerraius: a tórus külső sugara, nsies: a raiális rések olalainak sáma, rings: a tórus raiális beostásainak sáma D geometriai formák megjelenítése (OpenGL) VETÍTÉSEK Tömör formák megjelenítéséhe hasonlófüggvének állnak renelkeésre: voi glutsoli... Transformációk, amelek n-imeniós objektumokat kisebb imeniós terekbe visnek át. 239 Pl. 3D 2D 24 4

41 Vetítés köéppontja Vetítések fajtái / perspektivikus A A B Vetítési sík B párhuamos A A B B Vetítés Vetítési sík köéppontja a végtelenben Vetítések fajtái /2 Perspektivikus Vetítési köéppont köel áll látásunkho általában: nem mérhetők a távolságok (röviülés) és a sögek Párhuamos Vetítési irán kevésbé realistikus mérhető távolságok, sögek váltonak Perspektív vetítések / A vetítési síkkal nem, e egmással párhuamos egenesek vetületei eg pontban metsik egmást távlatpont Perspektív vetítések /2 Perspektív vetítések ostáloása: a elsőleges távlatpontok sáma serint (, 2, 3). Elsőleges távlatpont: valamelik fő(tengel) iránho tartoó távlatpont Perspektív vetítések /3. Egpontos perspektív vetítés -tengel távlatpont A párhuamosság megmara Párhuamos vetítések Ostáloásuk a vetítési irán és a vetítési sík egmásho visonított helete serint: Vetítési köéppont Vetítési sík 245. Merőleges (ortografikus) 2. Tetsőleges iránú 246 4

42 Merőleges (ortografikus) / Felüln lnéet Péla Olalnéet Előln lnéet A párhuamosság megmara, a távolságok megmaranak vag sámíthatók Merőleges (ortografikus) /2 Aonometrikus (nem merőleges egik tengelre sem); sög nem mara meg, távolság sámítható Iometrikus (a vetítési irán (,, ) minen tengellel uganakkora söget ár be), aa Amfiteátrium Jerash-ban 249, ± ± ± 8 ilen irán léteik Iometrikus vetítés Tetsőleges iránú / A vetítési sík normálisa és a vetítési irán nem párhuamos Leggakoribb fajtái: - kavalier - kabinet Vetítési irán 25 A vetítési sík normálisa

43 Tetsőleges iránú /2 Tetsőleges iránú /3 Kavalier: Kabinet: a vetítési irán és a vetítési sík söge 45 a vetítési irán és a vetítési sík söge arctg(2) 63,4 /2 /2 α 45 α α 45 α D megjelenítés specifikálása / Sükséges: - látótér - vetítés megaása Vetítési sík megaása: eg pontjával - referencia pont (VRP) és a normálisával (VPN) v a fölfelé mutató vektor (VUP) vetülete iránába mutat v VUP n Vetítési sík VRP u VPN D megjelenítés specifikálása /2 3D referencia koorináta renser (VRC) megaása: Origó VRP A tengelek: n VPN, v VUP-nek a vetítési síkra eső vetülete u olan, hog u, v, n jobb-kees eréksögű koorináta rensert határoon meg 256 Ablak: 3-D megjelenítés specifikálása /3 (U min, V min ) Téglalap a vetítési síkon. Ami aon belül van, a megjelenik, a többi nem CW a köepe n VPN v CW (U ma, V ma ) D megjelenítés specifikálása /4 PRP: vetítési referencia pont: (párhuamos és perspektív vetítésre is) Perspektívikus vetítésnél n v VRP CW VPN PRP vetítési köéppont u

44 3-D megjelenítés specifikálása /5 DOP: vetítési irán Látótér maghatároása elülső és hátulsó vágási síkokkal / Fajtái: DOP PRP CW n DOP VPN VPN VRP DOP PRP CW n DOP VPN VPN VRP párhuamos (ortografikus) párhuamos (tetsőleges iránú) perspektivikus Látótér maghatároása elülső és hátulsó vágási síkokkal /2 elülső vágási sík VPN DOP vetítési sík VRP F elő-táv hátulsó vágási sík B utó-táv 26 Látótér maghatároása elülső és hátulsó vágási síkokkal /3 Párhuamos (tetsőleges iránú): elülső vágási sík VPN vetítési sík F elő-táv VRP hátulsó vágási sík B utó-táv DOP 262 Látótér maghatároása elülső és hátulsó vágási síkokkal /4 Perspektivikus: elülső vágási sík vetítési sík VRP hátulsó vágási sík Vetítések matematikai leírása VPN F elő-táv B utó-táv

45 45 Perspektivikus vetítések / A egserűség kevéért tegük fel hog: a) A vetítési sík merőleges a -tengelre -nél, PRP 265 Perspektivikus vetítések /2 vetületi síkok Hasonló háromsögekből:,,,, p p p p P p ( p, p, ) P(,, ) P(,, ) p P(,, ) p 266 Perspektívikus vetítések /3 Hasonló háromsögekből:,,,,, p p p p tehát M per, mert M per, mivel e homogén koorináta, P p 267 Perspektívikus vetítések /4 p P(,, ) p P(,, ) Más lehetőség b) A vetítési sík merőleges a -tengelre -ban,,,, p p p p Perspektívikus vetítések /5 M per ',,,, p p p p / / / ' P per tehát eért 269 p, p p p M P P ort Párhuamos ortografikus vetítés ahol M ort (határértéke M per -nek, ). 27

46 Vetítések általános alakja / Vetítési sík -tengel, p -ben, COP Q távolságra van (,, p )-től vag COP P Q D(,, ) P p ( p, p, p ) P(,, ) (,, p ) D 27 Vetítések általános alakja /2 Parametrikus alak: másrést vag P COP + t (P - COP), t [,] COP (,, p ) + Q (,, ), COP P Q D(,, ) P p ( p, p, p ) P(,, ) (,, p ) D 272 Vetítések általános alakja /3 P COP + t (P - COP), t [,] COP (,, p ) + Q (,, ), íg Q + ( - Q ) t, Q + ( - Q ) t, ( p + Q ) + ( - ( p + Q )) t. Innen p esetén p ( p + Q ) Q t ( + Q ) + Q p p 273 Vetítések általános alakja /4 Behelettesítve és átalakítva: ' p + p p + Q, 2 p p + p Q + Q Q ' p p + Q + p ' p p + Q 274 Íg Vetítések általános alakja /5 M ált p Q Q p p + p + 2 p Q p Q Tartalmaa M per, M per és M ort -ot (még többet is). Pl.: M ort : p, Q, (,, )(,, -) 275 3D megjelenítés implementálása / 3D objektumok VK-ban normaliálás 2D megjelenített objektum transformáció 3D objektumok kanonikus látótérben 2D vetített objektumok 3D vágás

47 3D megjelenítés implementálása /2 3D megjelenítés implementálása /3 A 3D vágás rága művelet, eért éremes előtte a 3D objektumokat u.n. kanonikus látótérbe transformálni (normaliálás), ahol a vágás egserűbb és gorsabb. elülső vágási sík vag - párhuamos vetítésnél hátulsó sík - Kanonikus látótér síkjai: -, -,, D megjelenítés implementálása /4 Kanonikus látótér síkjai:, -, - - min, - elülső sík vag - perspektív vetítésnél hátulsó sík - LÁTHATÓ VONALAK MEGHATÁROZÁSA Robert-féle algoritmus Apple-féle algoritmus Megsakított vonalak Látható vonalak meghatároása Tárg-alapú móserek Output: látható élek listája 28 Látható vonalak meghatároása Robert-féle algoritmus: Síklapokkal határolt konve testek éleire. A hátrafelé néő lapok meghatároása 2. A hátrafelé néő lapok köös élei elhaghatók (aok nem láthatók) 3. Minen megmarat élt minen testtel össehasonlítunk (kiterjeés visgálattal sok test triviálisan kiárható) A fennmaraó esetek: A élet eg test teljesen eltakarja A élnek eg sakasa látsik a test mögül A élnek két sakasa látsik a (konve) test mögül

48 Látható vonalak meghatároása Apple-féle algoritmus A élek pontjaiho hoárenel eg egés sámot a pontot takaró előre néő lapok sámát (kvantitatív láthatatlanság) Apple-féle algoritmus A kvantitatív láthatatlanság sámítása: ++, ha a él előre néő poligon mögé meg, - -, ha a él előre néő poligon mögül jön ki. A kvantitatív láthatatlanság csak akkor váltoik, ha a él eg un. kontúr vonal mögött hala. Kontúr vonal: előre és hátra néő lap köötti él. A él akkor látsik, ha a kvantitatív láthatatlansága Apple-féle algoritmus Egmáson átható poligonok nem megengeettek! A algoritmus kétféle megvalósítása:. Válassunk ki eg csúcspontot, határouk meg a kvantitatív láthatatlanságát (irekt móser) Látható vonalak meghatároása A látható vonal algoritmusok arra is hasnálhatók, hog a nem látható vonalak saggatottak, pontoottak, halvánabbak legenek 2. Halajunk a éleken, és köben móosítsuk a kvantitatív láthatatlansági értéket, érték esetén rajolunk Látható vonalak meghatároása Megsakított vonalak (a): minen vonal látsik (b): mintha minen vonalnak lenne eg takaró sávja, ami eltakarja a mögötte lévő réseket (c): csak a látható vonalak látsanak 287 A algoritmus a élek vetületének metséspontja körül csak a köelebbit rajolja, a távolabbit megsakítja Algoritmus: Megsakított vonalak Minen vonalho megkeressük a előtte levőket Csak a látható sakasokat őriük meg Ha minen metsésponttal végetük, akkor rajolunk

49 Pélák Pélák Pélák LÁTHATÓ FELÜLETEK MEGHATÁROZÁSA Kétváltoós függvének ábráolása A látható felsín meghatároására általános algoritmusok solgáló Látható felsín algoritmusok Látható felületek meghatároása Aott 3D tárgak eg halmaa, és eg projekció specifikációja. Mel vonalak és felületek lesnek láthatók? Melek lesnek takarva? Nehé felaat (iőigénes) Kétféle megköelítés: 293 Látható felületek meghatároása. for minen képpontra o begin határouk meg at a tárgat,amelet a néıpontból a képponton kerestül húott egenes leghamarabb mets; rajoljuk ki a képpontot a megfelelı sínben en A sükséges iő: O(np) n: a tárgak sáma p: a képpontok sáma

50 Látható felületek meghatároása Kétváltoós függvének ábráolása 2. for minen tárgra o begin határouk meg a tárgnak aokat a réseit, amelek nincsenek takarásban saját maga vag más tárgak által; eeket a réseket rajoljuk ki a megfelelısínnel en plotterrel f (,) A sükséges iő: O(n 2 ) Kétváltoós függvének ábráolása Tegük fel, hog f-et eg m n-es Y mátrisal köelíthetjük. Drótváas rajot késíthetünk sakasonként lineáris görbéket előállítva és iránban is. Keressünk olan algoritmust, amel a takart vonalakat nem rajolja ki. 297 Kétváltoós függvének ábráolása. Ha csak a -tengellel párhuamos egenesek menti értékeket kötjük össe: Halajunk elölről hátra (a távolabbi vonalak iránába, csak arra kell vigáni, hog a már megrajolt látható felületeket ne "keresteük". Elegenő a eig rajolt vonalak "siluettjét" őrini: csak a látható a új vonalból, ami e alatt vag fölött van. Tároljuk minen töréspontho a eig rajolt vonalak maimális és minimális értékét (siluett), és a új vonal értékeinek megfelelően móosítsuk 298 Horiont-vonal algoritmus Kétváltoós függvének ábráolása Kétváltoós függvének ábráolása Ha a új vonal valamel sakasának minkét végpontja láthatatlan, akkor a sakas sem látsik. A réslegesen takart sakasoknál metséspontot kell sámolni. 299 A sakas nem törésponttól töréspontig, hanem a siluett töréspontjától töréspontjáig terje! A siluett töréspontjai sűrűsönek! 3 5

51 Kétváltoós függvének ábráolása Kétváltoós függvének ábráolása 2. Ha csak a -tengellel párhuamos egenesek menti értékeket kötjük össe: hasonló algoritmus 3 32 Kétváltoós függvének ábráolása Kétváltoós függvének ábráolása Drótváas raj konstans - és -menti görbékből -menti kép -menti kép A két kép egmásra másolva A korrekt kép Nem lehet egserűen egmásra rakni a két képet! Kétváltoós függvének ábráolása Kétváltoós függvének ábráolása Elősör a iránú vonalakat rajoljuk meg köelről távolra halava (mint korábban), e minen vonal megrajolása után megrajoljuk a iránú vonalaknak a két utolsó iránú vonal köti sakasait (mint korábban), ha látsanak. 35 Eeket a eljárásokat általában csak akkor hasnáljuk, ha a rajolanó vonalak konstans vag konstans menti értékekből állnak) 36 5

52 A látható felsín meghatároására solgáló általános algoritmusok A tárgak takarják-e egmást? Mel tárg látható? Pontokra: P (,, ) és P 2 ( 2, 2, 2 ); Takarja-e egik a másikat? Ha uganaon a vetítési sugáron vannak, akkor a köelebbi takarja a másikat, különben nem. Nehé probléma 37 A látható felsín meghatároására solgáló általános algoritmusok Mélségbeli össehasonlítás Hele: a normaliálási transformáció után, ekkor a. párhuamos vetítésnél: a vetítési sugarak párhuamosak a -tengellel, ekkor P és P 2 uganaon a vetítési sugáron van, ha 2 és 2 b. perspektív vetítésnél: a vetítési sugarak COV-ből inulnak ki, ekkor P és P 2 uganaon a vetítési sugáron van, ha / 2 / 2 és / 2 / 2 38 A látható felsín meghatároására solgáló általános algoritmusok Perspektív vetítésnél at a transformációt hasnáljuk, amel a perspektív kanonikus térfogatot átvisi párhuamos kanonikus térfogatba A látható felsín meghatároására solgáló általános algoritmusok Perspektív kanonikus térfogatot párhuamos kanonikus térfogatba transformáló mátri: perspektív párhuamos kanonikus térfogat 39 Ekkor a vetítési sugarak már párhuamosak a -tengellel. Egserűbben végehető a vágás 3 Tárgak kiterjeése, határoló téglalapok, testek A látható felsín meghatároására solgáló általános algoritmusok Határoló-téglalap test Ha a határoló téglalapok nem feik egmást, akkor a vetületek sem feik egmást, különben további visgálat sükséges 3 A látható felsín meghatároására solgáló általános algoritmusok -imeniós kiterjeés (határoló intervallum) minma-test: A kiterjeés minimális és maimális értékeinek össehasonlításával öntjük el a takarást A kiterjeés meghatároása: min2 ma2 min ma a tárg (csúcs)pontjaiho tartoó koorináták min. és ma. értékeiből

53 A látható felsín meghatároására solgáló általános algoritmusok Hátra néő lapok kiválogatása Tegük fel, hog poligon határú síklapokkal határolt a tárg, és aottak a síklapoknak a tárgból kifelé mutató normálisai. Ekkor aok a lapok nem láthatók, amelek normálisai a "megfigelőtől ellentétes iránba mutatnak 33 A látható felsín meghatároására solgáló általános algoritmusok Aonosításuk: n : normális (n,n,n ) v : COV-ből a poligon tetsőleges pontjába mutat Ha n v < előre né > hátra né csak a éle látsik Speciálisan: A (,) síkra történő ortografikus vetítés esetén n < hátra né > előre né csak a éle látsik 34 A látható felsín meghatároására solgáló általános algoritmusok Térbeli partícionálás Ésrevétel: nem minen tárgnak van minen vetítési sugárral metséspontja (pl. távol vannak, más irán) ossuk fel (particionáljuk) a képernőt Meghatárouk, hog mel tárgak vetülete van benne a megfelelő résben (partícióban) és csak aokkal keresünk metséspontokat 35 A látható felsín meghatároására solgáló általános algoritmusok E jó móser, ha a tárgak vetületei egenletesen oslanak el a teljes képernőn, különben különböő méretű partíciókat éremes késíteni: kisebb partíciót ott, ahol több tárg vetülete van 36 Látható felsín algoritmusok Terület-ostó algoritmus látható felsín meghatároására: "os meg és uralkoj" Látható felsín algoritmusok 4 lehetőség eg poligon és eg téglalap alakú terület köött: Ha eg területen können elönthető, hog melik poligon jeleníthető meg, akkor at rajoljuk ki, különben ossuk fel a területet, és alkalmauk a eljárást a rés területekre Tartalmaó poligon Metső poligon Tartalmaott poligon Iegen poligon

54 Látható felsín algoritmusok Mikor önthető el können, hog mi rajolható?. Minen poligon iegen a területtől (háttér) 2. Egetlen metső vag tartalmaott poligon (háttér + pástáással poligon) 3. Egetlen tartalmaó poligon (raj a poligon sínével) 4. Van olan tartalmaó poligon, amelik a többi előtt van. 39 A látható felsín meghatároására solgáló általános algoritmusok Hierarchikus struktúrák alkalmaása pl. épület. emelet 2. emelet 3. emelet. lakás 2. lakás Ha a vetítési sugár nem metsi a épületet, akkor a emeleteit és a emeletek lakásait sem (tehát nem kell visgálni aokat) 32 Látható felsín algoritmusok Z-buffer algoritmus Z - buffer vag mélség puffer algoritmus (kép alapú) F :kép-puffer (képpontok tárolására) keeti értéke: háttérsín Z :mélség-puffer (minen pontban a megfelelő érték), keeti értéke: -ma (hátsó vágási sík) Pástáás köben F-be és Z-be bekerül a új pont, ha nincs messebb, mint a eigi érték. 32 A hátsó vágási sík a 322 Z-buffer algoritmus Z-buffer algoritmus Kép -buffer

55 Z-buffer algoritmus Tulajonságai: Nincs tárgak reneése, össehasonlítása, metséspontok sámítása Poligononként végehető el, ha nincsenek átható poligonok, Nem csak poligonokra jó, Nag heligén, e lehet sávonként halani, Könnű implementálni, Könnű eg újabb tárg képét hoávenni 325 Látható felsín algoritmusok Lista-prioritás algoritmusok Meghatároák a tárgaknak at a sorrenjét, ami a kép kirajolásáho kell. Pl.: Ha a értékekben nincs átfeés, akkor a tárgakat növekvő értékük serint kell reneni, és utána távolról köelre halava megjeleníteni. Néha még akkor is lehet ilen sorrenet megani, ha a értékekben van átfeés, e nem minig Ilenkor sétvágjuk a tárgakat és a arabokat reneük sorba 326 Látható felsín algoritmusok Festő algoritmus. Mélség serint reneő algoritmus Lépések:. Reneük a poligonokat legtávolabbi koorinátájuk serint 2. Vágjuk sét a átfeő poligonokat (ha sükséges) 3. Pástáunk minen poligont hátulról előre halava Ha a poligonok párhuamos síkokban feksenek, akkor a 2. lépés kimarahat Látható felsín algoritmusok Tegük fel hog a P poligon legtávolabbi koorinátája serint a lista végén van. Pástáás előtt össe kell hasonlítani a lista aon Q elemeivel, ameleknek iránú kiterjeése átfei P iránú kiterjeését, és meg kell visgálni, hog P eltakarja-e Q-t? 329 Látható felsín algoritmusok P eltakarja-e Q-t?. ha P és Q kiterjeése nem átfeő, akkor nem; 2. ha P és Q kiterjeése nem átfeő, akkor nem; 3. ha COV-ból néve P teljes terjeelmében a Q síkjának túlsó olalán van, akkor nem; 4. ha COV-ból néve Q teljes terjeelmében P síkjának a innenső olalán van, akkor nem; 5. ha P és Q (,) síkra való vetülete nem átfeő, akkor nem különben (hátha Q-t kell előbb rajolni): 3 ha COV-ból néve Q teljes terjeelmében a P sík túlsó olalán van, akkor P Q csere 4 ha COV-ból néve P teljes terjeelmében Q-nak a innenső olalán van, akkor P Q csere különben P-t vag Q-t fel kell arabolni a másik síkkal, és a arabokat kell beillesteni a listába 33 55

56 Látható felsín algoritmusok Végtelen ciklust ereménene, eért megjelöljük aokat a poligonokat, ameleket egser már a lista végére tettünk, és ha újra előjönnek, akkor arabolunk 33 Látható felsín algoritmusok 2. Bináris tér-partícionáló fa algoritmus Ötlet: Ha van olan sík, amel a tárgakat (teljes egésükben) két féltérbe ostja, akkor a COV-t tartalmaó féltér tárgait nem takarhatják el a másik féltér tárgai BSP fa: Csomópontok - poligonok A csomópontho tartoó poligon síkjával arabolhatjuk a többi poligont, és aok arabjaival foltathatjuk a fát bal olalra: aok a poligonok, amelek elöl vannak (később kell rajolni) jobb olalra: aok a poligonok, amelek hátul vannak (korábban kell rajolni) 332 Bináris tér-partícionálás Látható felsín algoritmusok Pástáó vonal algoritmus látható felsín meghatároására (hasonló a poligonok kitöltését végő algoritmusho) E γ + γ β α A D B C F Vísintesen pásáunk 333 Most több poligon lehet 334 Látható felsín algoritmusok ÉT (élek tábláata, l. poligon kitöltése): A kisebbik értékük serint reneve a össes élet tartalmaa. A vísintes élek kimaranak! Anni lista van, ahán pástáó vonal. Minen listában aok a élek serepelnek, amelek alsó végpontja a pástáó vonalon van. A listák a élek alsó végpontjának koorinátája, een belül a mereekség reciproka serint reneettek. Minen lista elem tartalmaa a él ma, min koorinátáját és a mereekség reciprokát és a poligon aonosítóját (több poligon lehet). 335 γ + γ β α A Látható felsín algoritmusok PT (poligonok tábláata): eg elem rései: - aonosító - a sík egenletének egütthatói a sík egenlete: A + B + C + D O - árnalati/síneési információ - ki-be jelő (keő érték: ki) D B E C F ÉT:AB AC FD FE CB DE PT:ABC DEF

57 Látható felsín algoritmusok AÉT (aktív élek tábláata): Alulról felfelé, balról jobbra halava α: AB, AC AB-nél be-, AC-nél kikapcsolva ABC AB-től AC-ig ABC síne be ki E β: AB, AC, FD, FE B ABC DEF γ + γ be ki be ki C D β F α A 337 AÉT (aktív élek tábláata): Alulról felfelé, balról jobbra halava γ: AB, DE, CB, FE ABC be DEF be ki ki γ + : AB, CB, DE, FE Újabb sorra térve AÉT-t reneni kell! Látható felsín algoritmusok ABC DEF be ki be ki γ + γ β α A D B A síkok egenletéből önthető el, hog melik van köelebb E C 338 F Látható felsín algoritmusok Látható felsín (OpenGL) OpenGL-ben: a mélségi- vag -buffer algoritmus A mélségbeli össehasonlítást glenable (GL_DEPTH_TEST) gldisable(gl_depth_test) // engeélei // tiltja Ha a poligonokat felvágjuk a metseteik mentén, akkor nem kell minen pontban megvisgálni a poligonok sorrenjét, elegenő csak akkor, ha eg "takaró" poligon véget ér Soksögek olalai (OpenGL) Soksögek (elülső és hátulsó) olalai OpenGL-ben: Elülső olal a, amelen a csúcspontok a óramutató járásával ellentétes iránban vannak megava voi glpolgonmoe(enum face, enum moe); face: GL_FRONT_AND_BACK, GL_FRONT, GL_BACK Megmonja, hog a poligon minkét, vag csak a elülső vag a hátulsó olalát kell rajolni moe: Megmonja, hog GL_POINT csak a poligon csúcsait, GL_LINE határvonalát kell kirajolni, vag GL_FILL ki is kell tölteni (alapértelmeés) 34 Soksögek olalai (OpenGL) Elülső és hátulsó olalak eplicit megaása: glfrontface(glenum moe); moe: GL_CW a a olal les elülső olal, amelen a csúcspontokat a óramutató járásával megegeő iránban atuk meg, GL_CCW a ellenkeője

58 Soksögek olalai (OpenGL) A soksög meghatároott olalán letiltja a világítási, árnalási és sín-sámítási műveleteket (láthatatlan olal) glcullface(glenum moe); moe: GL_FRONT, GL_BACK A culling-ot glenable (GL_CULL_FACE) engeélehetjük illetve gldisable(gl_cull_face) tilthatjuk 343 MEGVILÁGÍTÁS Világító tárgak Körneeti fén Sórt vissaverőés Körneeti fén és iffú vissaverőés egütt Tükröő vissaverőés Poligonokból álló felületek fénességének meghatároása Gourau-féle fénesség Phong-féle fénesség 344 Megvilágítás Megvilágítás a. Világító tárgak: A tárgnak saját intenitású féne van A megvilágítás egenlete: I k i k i - a tárg saját fénének a intenitása független a pont heletétől 345 b. Körneeti (sórt - ambient) fén: Minen iránból egenletes I I a k a I a : körneeti fén intenitása k a : a körneeti fén vissaverőési egütthatója (anagtól függ), k a 346 Megvilágítás c. Diffú (iffuse) vissaverőés (Lambert-féle) Minen iránban ugananni fént ver vissa. A felület fénessége (I) függ a fénforrás irána (L) és a felület normálisa (N) köötti sögtől: N a normális, L a fénforrás iránába mutató egségvektor. I I p k cos Θ I p k ( N L ) I p : a pontforrás intenitása k : a sórt vissaverőés egütthatója (anagtól függ), k. 347 Körneeti fén (b) és iffú vissaverőés (c) egütt: I I a k a + I p k ( N L ) Megvilágítás Ha a fénforrás és a tárg köötti távolságot ( L ) is figelembe vessük, akkor: I I a k a +I p / L2 k ( N L ) f att (gengülési faktor)

59 Megvilágítás Sínes fén és felületek esetén a komponensekre: I R I ar k a O R + f att I pr k O R ( N L ) I G... I B... ahol O R a tárg sórt vörös komponense I pr a megvilágítás vörös komponens k O R vissaverőési hána komponense... Általában: I λ I aλ k a O λ + f att I pλ k O λ ( N L ) ahol λ a hullámhoss 349 Tükröő (specular) vissaverőés Fénes (tükröő) felületekről 35 Tükröő (specular) vissaverőés Phong-féle moell: I λ I aλ k a O λ + f att I pλ [ k O λ cos θ + W (θ) cos n α ] n: a tükröési vissaverőés kitevője (csillogás) (tompa) n (éles fén) W(θ): a tükröötten vissaverőő fén hánaa, lehet konstans, k s ( k s ), Tükröő (specular) vissaverőés Phong-féle moell: A tárg anagát is figelembe véve: I λ I aλ k a O λ + f att I pλ [ k O λ (N V) + k s O sλ (R V) n ] Több fénforrásra: I λ I aλ k a O λ + f att I pλ [ k O λ (N V) + k s O sλ (R V) n ] Megvilágítási moellek (péla) Poligonokból álló felületek fénességének meghatároása sórt iffú. Minen pontban kisámítjuk a megvilágítási egenlet serinti intenitást (nagon rága móser) tükröő, csillogás 2 sórt + iffú + tükröő

60 Poligonokból álló felületek fénességének meghatároása. Konstans fénesség A egés poligon uganolan intenitású. Jó, ha: - végtelen távoli fénforrás (N, L konstans), - végtelen távoli megfigelő ( N, V konstans) és - poligon olalú felület Poligonokból álló felületek fénességének meghatároása 2. Interpolált fénesség A intenitást a csúcsokban sámított intenitásból kapjuk interpolációval Poligonokból álló felületek fénességének meghatároása 3. Poligon-hálóat fénessége Érékelt fénesség Mach-féle hatás Ténleges megvilágítás A intenitás váltoását eltúlova éreük ott, ahol a intenitás foltonossága megsűnik. A eges poligonok konstans fénessége csak kiemelné a poligonok köötti éleket Poligonokból álló felületek fénességének meghatároása 3. Poligon-hálóat fénessége Megolás: minen poligon fénességét váltoó intenitásúnak generáljuk Mach-hatás 359 Gourau-féle fénesség. A poligonok normálisait ismerve határouk meg a csúcspontok normálisait (pl. a ott érintkeő poligonok normálisainak átlagaként) 2. Sámoljuk ki a intenitásokat a csúcspontokban 3. A élek mentén lineáris interpolációval sámoljuk a intenitást 4. A élek köött (a pástáó vonalak mentén) lineáris interpolációval sámoljuk a intenitást 36 6

61 Gourau-féle fénesség Phong-féle fénesség: Phong-féle fénesség. A normálvektorokat sámoljuk ki a csúcspontokban, 2. Interpolációval a csúcspontok köött a élek mentén a normálvektorokat, 3. Interpolációval a élek köött, 4. Intenitás sámítása Soksor jobb, mint a Gourau-féle móser 36 Gourau Phong 362 Phong- és Gourau-féle fénesség Pélák n n8 Konstans Gourau Phong Pélák Pélák Phong sórt Phong (sórt + iffú) Gourau 365 Phong (sórt + iffú + tükröő) 366 6

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

Máté: Számítógépes grafika alapjai Történeti áttekintés Interaktív grafikai rendszerek A számítógépes grafika osztályozása Valós és képzeletbeli objektumok (pl. tárgyak képei, függvények) szintézise számítógépes modelljeikből (pl. pontok,

Részletesebben

Területi primitívek: Zárt görbék által határolt területek (pl. kör, ellipszis, poligon) b) Minden belső pont kirajzolásával (kitöltött)

Területi primitívek: Zárt görbék által határolt területek (pl. kör, ellipszis, poligon) b) Minden belső pont kirajzolásával (kitöltött) Grafikus primitívek kitöltése Téglalap kitöltése Poligon kitöltése Kör, ellipszis kitöltése Kitöltés mintával Grafikus primitívek kitöltése Területi primitívek: Zárt görbék által határolt területek (pl.

Részletesebben

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

Máté: Számítógépes grafika alapjai Pontok rajzolása OpenGL Rajzoljunk egy piros pontot a (10, 10), egy zöld pontot az (50, 10) és egy kék pontot a (30, 80) koordinátákba (az ablak 100*100-as méretű) Pontok rajzolása Színek és színmódok

Részletesebben

Szegedi Tudományegyetem Informatikai Tanszékcsoport tanév

Szegedi Tudományegyetem Informatikai Tanszékcsoport tanév Szegedi Tudományegyetem Informatikai Tanszékcsoport Képfeldolgozás és Számítógépes Grafika Tanszék 2013-2014. tanév A kurzusról Előadó és gyakorlatvezető: Németh Gábor Előadás (nappali tagozaton): heti

Részletesebben

Algoritmusok raszteres grafikához

Algoritmusok raszteres grafikához Algoritmusok raszteres grafikához Egyenes rajzolása Kör rajzolása Ellipszis rajzolása Algoritmusok raszteres grafikához Feladat: Grafikai primitíveket (pl. vonalat, síkidomot) ábrázolni kép-mátrixszal,

Részletesebben

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

Máté: Számítógépes grafika alapjai Bevezetés Bevezetés Történeti áttekintés Hordozható szoftverek, szabványok Interaktív grafikai rendszerek A számítógépes grafika osztályozása Valós és képzeletbeli objektumok (pl. tárgyak képei, függvények)

Részletesebben

Területi primitívek: Zárt görbék által határolt területek (pl. kör, ellipszis, poligon)

Területi primitívek: Zárt görbék által határolt területek (pl. kör, ellipszis, poligon) Grafikus primitívek kitöltése Téglalap kitöltése Poligon kitöltése Kör, ellipszis kitöltése Kitöltés mintával Grafikus primitívek kitöltése Területi primitívek: Zárt görbék által határolt területek (pl.

Részletesebben

Területi primitívek: Zárt görbék által határolt területek (pl. kör, ellipszis, poligon)

Területi primitívek: Zárt görbék által határolt területek (pl. kör, ellipszis, poligon) Grafikus primitívek kitöltése Téglalap kitöltése Kör, ellipszis kitöltése Kitöltés mintával Grafikus primitívek kitöltése A tertületi primitívek zárt görbével határolt területek, amelyeket megjelníthetünk

Részletesebben

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

Máté: Számítógépes grafika alapjai Téglalap kitöltése Kör, ellipszis kitöltése Területi primitívek: Zárt görbék által határolt területek (pl. kör, ellipszis, poligon) Megjeleníthetők a) Csak a határvonalat reprezentáló pontok kirajzolásával

Részletesebben

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

Máté: Számítógépes grafika alapjai VETÍTÉSEK Vetítések fajtái / Trasformációk amelek -imeiós objektumokat kisebb imeiós terekbe visek át. Pl. 3D 2D Vetítés köéotja ersektívikus A A B Vetítési B Vetítés köéotja a végtelebe árhuamos A A B

Részletesebben

2. Koordináta-transzformációk

2. Koordináta-transzformációk Koordnáta-transformácók. Koordnáta-transformácók Geometra, sámítógép graka feladatok során gakran van arra sükség, hog eg alakatot eg ú koordnáta-rendserben, vag a elenleg koordnáta rendserben, de elmogatva,

Részletesebben

Szilárdságtan. Miskolci Egyetem GÉPÉSZMÉRNÖKI ÉS INFORMATIKAI KAR

Szilárdságtan. Miskolci Egyetem GÉPÉSZMÉRNÖKI ÉS INFORMATIKAI KAR Miskolci Egetem GÉÉMÉRNÖKI É INORMTIKI KR ilárságtan (Oktatási segélet a Gépésmérnöki és Informatikai Kar sc leveleős hallgatói résére) Késítette: Nánori riges, irbik ánor Miskolc, 2008. Een kéirat a Gépésmérnöki

Részletesebben

Modellezési transzformáció: [r lokális,1] T M = [r világ,1] Nézeti transzformáció: [r világ,1] T v = [r képernyo,1]

Modellezési transzformáció: [r lokális,1] T M = [r világ,1] Nézeti transzformáció: [r világ,1] T v = [r képernyo,1] Inkrementális képsintéis Inkrementális 3D képsintéis Sirma-Kalos Lásló Árnalás, láthatóság nehé, különösen általános heletu objektumokra koherencia: oldjuk meg nagobb egségekre feleslegesen ne sámoljunk:

Részletesebben

3D koordináta-rendszerek

3D koordináta-rendszerek 3D koordináta-rendszerek z z y x y x y balkezes bal-sodrású x jobbkezes jobb-sodrású z 3D transzformációk - homogén koordináták (x, y, z) megadása homogén koordinátákkal: (x, y, z, 1) (x, y, z, w) = (x,

Részletesebben

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

Máté: Számítógépes grafika alapjai Poligon kitöltése Implementáció: Nem kell minden egyes pásztázó vonalra újra kiszámolni minden metszéspontot, mert általában csak néhány metszéspont érdekes az i-dik pásztázó vonalról az i+1-dikre átlépve

Részletesebben

Algoritmusok raszteres grafikához

Algoritmusok raszteres grafikához Algoritmusok raszteres grafikához Egyenes rajzolása Kör rajzolása Ellipszis rajzolása Algoritmusok raszteres grafikához Feladat: Grafikai primitíveket (pl. vonalat, síkidomot) ábrázolni kép-mátrixszal,

Részletesebben

Algoritmusok raszteres grafikához

Algoritmusok raszteres grafikához Algoritmusok raszteres grafikához Egyenes rajzolása Kör rajzolása Ellipszis rajzolása Algoritmusok raszteres grafikához Feladat: Grafikai primitíveket (pl. vonalat, síkidomot) ábrázolni kép-mátrixszal,

Részletesebben

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

Máté: Számítógépes grafika alapjai 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

Részletesebben

Projektív ábrázoló geometria, centrálaxonometria

Projektív ábrázoló geometria, centrálaxonometria Projektív ábráoló geometria, centrálaonometria Ennél a leképeésnél a projektív teret seretnénk úg megjeleníteni eg képsíkon, hog a aonometrikus leképeést (paralel aonometriát) speciális esetként megkaphassuk.

Részletesebben

Grafikus csővezeték és az OpenGL függvénykönyvtár

Grafikus csővezeték és az OpenGL függvénykönyvtár Grafikus csővezeték és az OpenGL függvénykönyvtár 1 / 32 A grafikus csővezeték 3D-s színtér objektumainak leírása primitívekkel: pontok, élek, poligonok. Primitívek szögpontjait vertexeknek nevezzük Adott

Részletesebben

STATIKA A minimum teszt kérdései a gépészmérnöki szak hallgatói részére (2003/2004 tavaszi félév)

STATIKA A minimum teszt kérdései a gépészmérnöki szak hallgatói részére (2003/2004 tavaszi félév) STATIKA A minimum test kérdései a gépésmérnöki sak hallgatói résére (2003/2004 tavasi félév) Statika Pontsám 1. A modell definíciója (2) 2. A silárd test értelmeése (1) 3. A merev test fogalma (1) 4. A

Részletesebben

Robottechnika II. 1. Bevezetés, ismétlés. Ballagi Áron Automatizálási Tanszék

Robottechnika II. 1. Bevezetés, ismétlés. Ballagi Áron Automatizálási Tanszék Robottechnika II. 1. Beveetés, ismétlés Ballagi Áron Automatiálási Tansék Bemutatkoás Dr. Ballagi Áron tansékveető-helettes, egetemi docens Automatiálási Ts. C71, 3461 Autonóm és Intelligens Robotok Laboratórium

Részletesebben

Alkalmazott Informatikai Tanszék SZÁMÍTÓGÉP-PROGRAMOZÁS dr.dudás László 22./0. 3D grafika programozása OpenGL támogatással Transzformációk

Alkalmazott Informatikai Tanszék SZÁMÍTÓGÉP-PROGRAMOZÁS dr.dudás László 22./0. 3D grafika programozása OpenGL támogatással Transzformációk Alkalmazott Informatikai Tanszék SZÁMÍTÓGÉP-PROGRAMOZÁS dr.dudás László 22./0. 3D grafika programozása OpenGL támogatással Transzformációk Alkalmazott Informatikai Tanszék SZÁMÍTÓGÉP-PROGRAMOZÁS dr.dudás

Részletesebben

Transzformációk, amelyek n-dimenziós objektumokat kisebb dimenziós terekbe visznek át. Pl. 3D 2D

Transzformációk, amelyek n-dimenziós objektumokat kisebb dimenziós terekbe visznek át. Pl. 3D 2D Vetítések Transzformációk, amelyek n-dimenziós objektumokat kisebb dimenziós terekbe visznek át. Pl. 3D 2D Vetítések fajtái - 1 perspektívikus A párhuzamos A A' B A' B A vetítés középpontja B' Vetítési

Részletesebben

3. MÉRETEZÉS, ELLENŐRZÉS STATIKUS TERHELÉS ESETÉN

3. MÉRETEZÉS, ELLENŐRZÉS STATIKUS TERHELÉS ESETÉN ÉRETEZÉS ELLENŐRZÉS STATIUS TERHELÉS ESETÉN A méreteés ellenőrés célkitűése: Annak elérése hog a serkeet rendeltetésserű hasnálat esetén előírt ideig és előírt bitonsággal elviselje a adott terhelést anélkül

Részletesebben

MEREVSZÁRNYÚ REPÜLŐGÉPEK VEZÉRSÍK-RENDSZEREINEK KIALAKÍTÁSA 3 REPÜLŐKÉPESSÉG

MEREVSZÁRNYÚ REPÜLŐGÉPEK VEZÉRSÍK-RENDSZEREINEK KIALAKÍTÁSA 3 REPÜLŐKÉPESSÉG Dr. Óvári Gula 1 - Dr. Urbán István 2 MEREVSZÁRNYÚ REPÜLŐGÉPEK VEZÉRSÍK-RENDSZEREINEK KILKÍTÁS 3 cikk(soroatban)ben a merev sárnú repülőgépek veérsík rendserinek terveését és építését követheti nomon lépésről

Részletesebben

Kozák Imre Szeidl György FEJEZETEK A SZILÁRDSÁGTANBÓL

Kozák Imre Szeidl György FEJEZETEK A SZILÁRDSÁGTANBÓL Koák Imre Seidl Görg FEJEZETEK SZILÁRDSÁGTNBÓL KÉZIRT 008 0 Tartalomjegék. fejeet. tenorsámítás elemei.. Beveető megjegések.. Függvének.3. másodrendű tenor fogalmának geometriai beveetése 5.4. Speciális

Részletesebben

EUKLIDESZI TÉR. Euklideszi tér, metrikus tér, normált tér, magasabb dimenziós terek vektorainak szöge, ezek következményei

EUKLIDESZI TÉR. Euklideszi tér, metrikus tér, normált tér, magasabb dimenziós terek vektorainak szöge, ezek következményei Eukldes tér, metrkus tér, ormált tér, magasabb dmeós terek vektoraak söge, eek követkemée Metrkus tér Defícó. A H halmat metrkus térek eveük, ha va ola, metrkáak eveett m: H H R {0} függvé, amelre a követkeők

Részletesebben

15. Többváltozós függvények differenciálszámítása

15. Többváltozós függvények differenciálszámítása 5. Többváltoós függvének differenciálsámítása 5.. Határoa meg a alábbi kétváltoós függvének elsőrendű parciális derivált függvéneit és a gradiens függvénét, valamint eek értékét a megadott pontban:, =

Részletesebben

Szegedi Tudományegyetem Informatikai Tanszékcsoport. 2013-2014. tanév

Szegedi Tudományegyetem Informatikai Tanszékcsoport. 2013-2014. tanév Szegedi Tudományegyetem Informatikai Tanszékcsoport Képfeldolgozás és Számítógépes Grafika Tanszék 2013-2014. tanév A kurzusról Előadó és gyakorlatvezető: Németh Gábor Előadás (nappali tagozaton): heti

Részletesebben

A táblázatkezelő mérnöki alkalmazásai. Számítógépek alkalmazása előadás nov. 24.

A táblázatkezelő mérnöki alkalmazásai. Számítógépek alkalmazása előadás nov. 24. A tábláatkeelő mérnöki alkalmaásai Sámítógépek alkalmaása. 7. előadás 003. nov. 4. A előadás témái Felsín- és térfogatsámítás A Visual Basic Modul hasnálata Egyenletmegoldás, sélsőérték sámítás A Solver

Részletesebben

σ = = (y', z' ) = EI (z') y'

σ = = (y', z' ) = EI (z') y' 178 5.4.. Váltoó kerestmetsetű rudak tsta hajlítása Enhén váltoó kerestmetsetű, tsta hajlításra génbevett rúdnál a eges pontok fesültség állapota - a váltoó kerestmetsetű rudak tsta nomásáho vag húásáho

Részletesebben

OpenGL és a mátrixok

OpenGL és a mátrixok OpenGL és a mátrixok Róth Gergő 2013. március 4. Róth Gergő 1/20 A rajzoláskor a videókártya minden csúcson végrehajt egy transzformációt. Mire jó? Kamera helyének beállítása Egy objektum több pozícióra

Részletesebben

3. Szerkezeti elemek méretezése

3. Szerkezeti elemek méretezése . Serkeeti elemek méreteése.. Serkeeti elemek méreteési elvei A EC serint a teherbírási határállapotok ellenőrése során a alábbi visgálatokat kell elvégeni: - Kerestmetseti ellenállások visgálata, ami

Részletesebben

Elektromágneses hullámok

Elektromágneses hullámok KÁLMÁN P.-TÓT.: ullámok/4 5 5..5. (kibőíe óraála) lekromágneses hullámok elekromágneses elenségek árgalásánál láuk, hog áloó mágneses erőér elekromos erőere (elekromágneses inukció), áloó elekromos erőér

Részletesebben

Transzformációk. Grafikus játékok fejlesztése Szécsi László 2013.02.26. t05-transform

Transzformációk. Grafikus játékok fejlesztése Szécsi László 2013.02.26. t05-transform Transzformációk Grafikus játékok fejlesztése Szécsi László 2013.02.26. t05-transform Koordinátarendszerek: modelltér Koordinátarendszerek: világtér Koordinátarendszerek: kameratér up right z eye ahead

Részletesebben

A szilárdságtan 2D feladatainak az feladatok értelmezése

A szilárdságtan 2D feladatainak az feladatok értelmezése A silárdságtan D feladatainak a feladatok értelmeése Olvassa el a ekedést! Jegee meg a silárdságtan D feladatainak csoportosítását! A silárdságtan (rugalmasságtan) kétdimeniós vag kétméretű (D) feladatai

Részletesebben

2. Koordináta-transzformációk

2. Koordináta-transzformációk Koordnáta-transformácók. Koordnáta-transformácók Geometra, sámítógép graka feladatok során gakran van arra sükség, hog eg alakatot eg ú koordnáta-rendserben, vag a elenleg koordnáta rendserben, de elmogatva,

Részletesebben

Információ megjelenítés Számítógépes ábrázolás. Dr. Iványi Péter

Információ megjelenítés Számítógépes ábrázolás. Dr. Iványi Péter Információ megjelenítés Számítógépes ábrázolás Dr. Iványi Péter Hogyanok? Tartalom Egy ilyen rendszer hogyan épül fel Szükséges matematika, fizika Alap algoritmusok 3D képek létrehozása a cél Modern rendszerek

Részletesebben

A számítógépes grafika inkrementális képszintézis algoritmusának hardver realizációja Teljesítménykövetelmények:

A számítógépes grafika inkrementális képszintézis algoritmusának hardver realizációja Teljesítménykövetelmények: Beveetés A sámítógépes grafika inkrementális képsintéis algoritmusának hardver realiációja Teljesítménykövetelmények: Animáció: néhány nsec/ képpont Massívan párhuamos Pipeline(stream processor) Párhuamos

Részletesebben

Alkalmazott Informatikai Tanszék SZÁMÍTÓGÉP-PROGRAMOZÁS dr.dudás László 21./0. 3D grafika programozása OpenGL támogatással A 3D API

Alkalmazott Informatikai Tanszék SZÁMÍTÓGÉP-PROGRAMOZÁS dr.dudás László 21./0. 3D grafika programozása OpenGL támogatással A 3D API Alkalmazott Informatikai Tanszék SZÁMÍTÓGÉP-PROGRAMOZÁS dr.dudás László 21./0. 3D grafika programozása OpenGL támogatással A 3D API Alkalmazott Informatikai Tanszék SZÁMÍTÓGÉP-PROGRAMOZÁS dr.dudás László

Részletesebben

Héj / lemez hajlítási elméletek, felületi feszültségek / élerők és élnyomatékok

Héj / lemez hajlítási elméletek, felületi feszültségek / élerők és élnyomatékok Héj / leme hajlítási elméletek felületi fesültségek / élerők és élnomatékok Tevékenség: Olvassa el a bekedést! Jegee meg a héj és a leme definícióját! Tanulja meg a superpoíció elvét és a membrán állapot

Részletesebben

Acélszerkezetek méretezése Eurocode 3 szerint

Acélszerkezetek méretezése Eurocode 3 szerint Acélserkeetek méreteése Eurocode 3 serint Gakorlati útmutató Dunai Lásló, Horváth Lásló, Kovács auika, Varga Géa, Verőci Béla, Vigh L. Gergel (a Útmutató jelen késültségi sintjén a Tartalomjegékben dőlt

Részletesebben

A VÉGESELEM-MÓDSZER ALAPJAI

A VÉGESELEM-MÓDSZER ALAPJAI A VÉGESEEM-MÓDSZER AAPJAI A projekt címe: Egségesített Jármű- és mobilgépek képés- és tananagfejlestés A megvalósítás érdekében létrehoott konorcium réstvevői: KECSKEMÉI FŐISKOA BUDAPESI MŰSZAKI ÉS GAZDASÁGUDOMÁNYI

Részletesebben

Érdekes informatika feladatok

Érdekes informatika feladatok Érdekes informatika feladatok XX. rész Az első OpenGL példaprogram Visual C++-ban Ha OpenGL programot szeretnénk létrehozni VisualC++-ban, három lehetőségünk van: Win32 alkalmazás, Win32 konzol alkalmazás

Részletesebben

Tartalom. Tartalom. Hajder Levente Szakasz raszterizálása. 2017/2018. II. félév. Poligon raszterizáció.

Tartalom. Tartalom. Hajder Levente Szakasz raszterizálása. 2017/2018. II. félév. Poligon raszterizáció. Tartalom Hajder Levente hajder@inf.elte.hu Eötvös Loránd Tudományegyetem Informatikai Kar 2017/2018. II. félév 1 Emlékeztető 2 Vágás 3 Raszterizálás Inkrementális képszintézis Tartalom 1 Emlékeztető Inkrementális

Részletesebben

Klár Gergely

Klár Gergely Számítógépes Grafika Klár Gergely tremere@elte.hu Eötvös Loránd Tudományegyetem Informatikai Kar 2010/2011. őszi félév Tartalom Vágás Szakaszvágás Poligonvágás 1 Vágás Szakaszvágás Poligonvágás 2 Vágás

Részletesebben

2D grafikai algoritmusok

2D grafikai algoritmusok D grafiai algoritmuso A quadtree/octtree algoritmus A floodfill algoritmus Belső vag ülső pont? Baricentrius oordinátá Körüljárási irán eldöntése Animáció A quadtree/octtree algoritmus Legen Ω 0 R eg négzet,

Részletesebben

1. El szó. Kecskemét, 2005. február 23. K házi-kis Ambrus

1. El szó. Kecskemét, 2005. február 23. K házi-kis Ambrus . Elsó olgoat témájául solgáló utatásoat egrést még a buaesti Silártestfiiai Kutatóintéet munatársaént etem maj eg utatással fejlestéssel foglaloó magáncég (& Ultrafast asers Kft.) olgoójaént jelenleg

Részletesebben

Mechanika. III. előadás március 11. Mechanika III. előadás március / 30

Mechanika. III. előadás március 11. Mechanika III. előadás március / 30 Mechanika III. előadás 2019. március 11. Mechanika III. előadás 2019. március 11. 1 / 30 7. Serkeetek statikája 7.2. Rácsos serkeet hidak, daruk, távveeték tartó oslopok, stb. 3 kn C 4 m 2 4 8 5 3 7 1

Részletesebben

Másodfokú függvények

Másodfokú függvények Másodfokú függvének Definíció: Azokat a valós számok halmazán értelmezett függvéneket, amelek hozzárendelési szabála f() = a + bc + c (a, b, c R, a ) alakú, másodfokú függvéneknek nevezzük. A másodfokú

Részletesebben

Teljes függvényvizsgálat példafeladatok

Teljes függvényvizsgálat példafeladatok Teljes függvénvizsgálat példafeladatok Végezz teljes függvénvizsgálatot az alábbi függvéneken! Az esetenként vázlatos megoldásokat a következő oldalakon találod, de javaslom, hog először önállóan láss

Részletesebben

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

Máté: Számítógépes grafika alapjai LÁTHATÓ FELÜLETEK MEGHATÁROZÁSA LÁTHATÓ FELÜLETEK MEGHATÁROZÁSA szolgáló általános algoritmusok Adott 3D tárgyak egy halmaza, és egy projekció specifikációja. Mely vonalak és felületek lesznek láthatók?

Részletesebben

FÜGGELÉK - MATEMATIKAI ÖSSZEFOGLALÓ

FÜGGELÉK - MATEMATIKAI ÖSSZEFOGLALÓ FÜGGEÉK - MAEMAIKAI ÖSSZEFOGAÓ E a fejeet rövien össefoglalja aokat a matematikai ismereteket, ameleket a Végeselem analíis tantárg fel fog hasnálni A össefoglalás nem teljes résletességgel mutatja be

Részletesebben

x = cos αx sin αy y = sin αx + cos αy 2. Mi a X/Y/Z tengely körüli forgatás transzformációs mátrixa 3D-ben?

x = cos αx sin αy y = sin αx + cos αy 2. Mi a X/Y/Z tengely körüli forgatás transzformációs mátrixa 3D-ben? . Mi az (x, y) koordinátákkal megadott pont elforgatás uténi két koordinátája, ha α szöggel forgatunk az origó körül? x = cos αx sin αy y = sin αx + cos αy 2. Mi a X/Y/Z tengely körüli forgatás transzformációs

Részletesebben

Képfeldolgozás és Számítógépes Grafika Tanszék 1. A SZÁMÍTÓGÉPES GRAFIKA TÁRGYA, ALKALMAZÁSAI

Képfeldolgozás és Számítógépes Grafika Tanszék 1. A SZÁMÍTÓGÉPES GRAFIKA TÁRGYA, ALKALMAZÁSAI . A SZÁMÍTÓGÉPES GRAFIKA TÁRGYA, ALKALMAZÁSAI Számítógépes grafika vs. digitális képfeldolgozás Számítógépes grafika Valós és képzeletbeli objektumok (pl. tárgyak képei, függvények) szintézise számítógépes

Részletesebben

Képfeldolgozás és Számítógépes Grafika Tanszék 1. A SZÁMÍTÓGÉPES GRAFIKA TÁRGYA, ALKALMAZÁSAI

Képfeldolgozás és Számítógépes Grafika Tanszék 1. A SZÁMÍTÓGÉPES GRAFIKA TÁRGYA, ALKALMAZÁSAI . A SZÁMÍTÓGÉPES GRAFIKA TÁRGYA, ALKALMAZÁSAI Számítógépes grafika vs. digitális képfeldolgozás Számítógépes grafika Valós és képzeletbeli objektumok (pl. tárgyak képei, függvények) szintézise számítógépes

Részletesebben

Matematika OKTV I. kategória 2017/2018 második forduló szakgimnázium-szakközépiskola

Matematika OKTV I. kategória 2017/2018 második forduló szakgimnázium-szakközépiskola O k t a t á s i H i v a t a l A 017/018. tanévi Országos Középiskolai Tanulmáni Versen második forduló MATEMATIKA I. KATEGÓRIA (SZAKGIMNÁZIUM, SZAKKÖZÉPISKOLA) Javítási-értékelési útmutató 1. Adja meg

Részletesebben

2, 1. annyi, hogy merőleges legyen a másik két vektorra, például választható egész koordinátájú vektor is:

2, 1. annyi, hogy merőleges legyen a másik két vektorra, például választható egész koordinátájú vektor is: Grm-Shmitortogonliáió. köetkeő független ektorokól Grm-Shmit móserrel állítson elő ortogonális áist!mj kpott ektorokól állítson elő ortonormált áist!. Normáljk kpott ektorokt: e mert e könne sámolás égett

Részletesebben

A lecke célja: A tananyag felhasználója megismerje az erő, a nyomaték és erőrendszerek jellemzőit.

A lecke célja: A tananyag felhasználója megismerje az erő, a nyomaték és erőrendszerek jellemzőit. 2 modul: Erőrendserek 21 lecke: Erő és nomték lecke célj: tnng felhsnálój megismerje erő, nomték és erőrendserek jellemőit Követelmének: Ön kkor sjátított el megfelelően tnngot, h sját svivl meg tudj htároni

Részletesebben

Transzformációk. Szécsi László

Transzformációk. Szécsi László Transzformációk Szécsi László A feladat Adott a 3D modell háromszögek csúcspontjai [modellezési koordináták] Háromszögkitöltő algoritmus pixeleket színez be [viewport koordináták] A feladat: számítsuk

Részletesebben

12. MECHANIKA-SZILÁRDSÁGTAN GYAKORLAT (kidolgozta: dr. Nagy Zoltán egy. adjunktus; Bojtár Gergely egy. Ts.; Tarnai Gábor mérnöktanár.

12. MECHANIKA-SZILÁRDSÁGTAN GYAKORLAT (kidolgozta: dr. Nagy Zoltán egy. adjunktus; Bojtár Gergely egy. Ts.; Tarnai Gábor mérnöktanár. 1 EHNK-ZLÁRDÁGTN GYKORLT (kidolgota: dr Nag Zoltán eg adjunktus; Bojtár Gergel eg Ts; Tarnai Gábor mérnöktanár) 11 Primatikus rúd össetett igénbevétele (nírás és hajlítás) dott: a 0,4 m, b 45 mm, F 1 kn,

Részletesebben

A kurzusról. Pontok rajzolása. Szegedi Tudományegyetem Informatikai Tanszékcsoport

A kurzusról. Pontok rajzolása. Szegedi Tudományegyetem Informatikai Tanszékcsoport A kurzusról Szegedi Tudományegyetem Informatikai Tanszékcsoport Képfeldolgozás és Számítógépes Grafika Tanszék 2013-2014. tanév Előadó és gyakorlatvezető: Németh Gábor Előadás (nappali tagozaton): heti

Részletesebben

MAGYARÁZAT A MATEMATIKA NULLADIK ZÁRTHELYI MINTAFELADATSOR FELADATAIHOZ 2010.

MAGYARÁZAT A MATEMATIKA NULLADIK ZÁRTHELYI MINTAFELADATSOR FELADATAIHOZ 2010. MAGYARÁZAT A MATEMATIKA NULLADIK ZÁRTHELYI MINTAFELADATSOR FELADATAIHOZ 00.. Tetszőleges, nem negatív szám esetén, Göktelenítsük a nevezőt: (B). Menni a 0 kifejezés értéke? (D) 0 0 0 0 0000 400 0. 5 Felhasznált

Részletesebben

18. előadás ÁLLANDÓ KÖLTSÉGEK ÉS A KÖLTSÉGGÖRBÉK

18. előadás ÁLLANDÓ KÖLTSÉGEK ÉS A KÖLTSÉGGÖRBÉK 18. előadás ÁLLANDÓ KÖLTSÉGEK ÉS A KÖLTSÉGGÖRBÉK Kertesi Gábor Világi Balázs Varian 21. fejezete átdolgozva 18.1 Bevezető A vállalati technológiák sajátosságainak vizsgálatát eg igen fontos elemzési eszköz,

Részletesebben

Számítógépes grafika

Számítógépes grafika Számítógépes grafika XXIX. rész Más OpenGL lehetőségek A GLUI A GLUI egy Paul Rademacher által fejlesztett GLUT alapú C++-ban felhasználói felületet megvalósító függvénykönyvtár, amely letölthető a http://www.cs.unc.edu/~rademach/glui/

Részletesebben

3D Grafika+képszintézis

3D Grafika+képszintézis D Grafikaképsintéis P . Computer Integrated Manufacturing (Beveetés ea. CAD ADATOK CAQ CAPP CAP CAM CAE Computer Aided Design Computer Aided Manufacturing Computer Aided Engineering Computer Aided Processing

Részletesebben

HÁZI FELADAT megoldási segédlet PONTSZERŐ TEST MOZGÁSA FORGÓ TÁRCSA HORNYÁBAN 2. Anyagi pont dinamikája neminerciarendszerben

HÁZI FELADAT megoldási segédlet PONTSZERŐ TEST MOZGÁSA FORGÓ TÁRCSA HORNYÁBAN 2. Anyagi pont dinamikája neminerciarendszerben HÁZI FELADAT megolási segélet PONTSZEŐ TEST MOZGÁSA FOGÓ TÁCSA HONYÁBAN. Anyagi pont inamikája neminerciarenserben. A pont a tárcsán egyenes pályán moog, mert a horony kénysert jelent a mogása sámára.

Részletesebben

Látható felszín algoritmusok

Látható felszín algoritmusok Látható felszín algoritmusok Látható felszínek Z-buffer algoritmus Festő algoritmus A látható felszín meghatározására szolgáló algoritmusok A tárgyak takarják-e egymást? Mely tárgy látható? Pontokra: P

Részletesebben

SZILÁRDSÁGTAN A minimum teszt kérdései a gépészmérnöki szak egyetemi ágon tanuló hallgatói részére (2004/2005 tavaszi félév, szigorlat)

SZILÁRDSÁGTAN A minimum teszt kérdései a gépészmérnöki szak egyetemi ágon tanuló hallgatói részére (2004/2005 tavaszi félév, szigorlat) SILÁRDSÁGTAN A minimum teszt kérdései a gépészmérnöki szak egetemi ágon tanuló hallgatói részére (2004/2005 tavaszi félév, szigorlat) Szilárdságtan Pontszám 1. A másodrendű tenzor értelmezése (2) 2. A

Részletesebben

Az összetett hajlítás képleteiről

Az összetett hajlítás képleteiről A össetett hajlítás képleteiről Beveetés A elemi silárdságtan ismereteit a tankönvek serői általában igekenek úg kifejteni, hog a kedő sámára se okoanak komolabb matematikai nehéségeket. A húásra / nomásra

Részletesebben

Fizika A2E, 5. feladatsor

Fizika A2E, 5. feladatsor Fiika A2E, 5. feladatsor Vida György Jósef vidagyorgy@gmail.com. feladat: Mi a homogén E térer sség potenciálja? A potenciál deníciója: E(x,y, = U(x,y,, amely kifejtve a három komponensre: Utolsó módosítás:

Részletesebben

Acélszerkezetek méretezése Eurocode 3 szerint

Acélszerkezetek méretezése Eurocode 3 szerint Aélserkeetek méreteése Euroode serint Gakorlati útmutató rásos tartó síkja h t t r h t Serők: Dunai Lásló, Horváth Lásló, Kovás auika, Verői Béla, Vigh L. Gergel Verió: 9.9.. Tartalomjegék. Beveetés....

Részletesebben

Cohen-Sutherland vágóalgoritmus

Cohen-Sutherland vágóalgoritmus Vágási algoritmusok Alapprobléma Van egy alakzatunk (szakaszokból felépítve) és van egy "ablakunk" (lehet a monitor, vagy egy téglalap alakú tartomány, vagy ennél szabálytalanabb poligon által határolt

Részletesebben

Írja át a következő komplex számokat trigonometrikus alakba: 1+i, 2i, -1-i, -2, 3 Végezze el a műveletet: = 2. gyakorlat Sajátérték - sajátvektor 13 6

Írja át a következő komplex számokat trigonometrikus alakba: 1+i, 2i, -1-i, -2, 3 Végezze el a műveletet: = 2. gyakorlat Sajátérték - sajátvektor 13 6 Építész Kar Gakorló feladatok gakorlat Számítsa ki az alábbi komple számok összegét, különbségét, szorzatát, hánadosát: a/ z = i z = i b/ z = i z = - 7i c/ z = i z = i d/ z = i z = i e/ z = i z = i Írja

Részletesebben

Példatár megoldások. æ + ö ç è. ö ç è. ö ç è. æ ø. = ø

Példatár megoldások. æ + ö ç è. ö ç è. ö ç è. æ ø. = ø Műsaki matematika I. Lineáris algebra pldatár s feladattár Ksítette a Centroset SakkpsServesi Nonprofit Kft. Pldatár megoldások. feladat megoldása Mivel s B típusa megegeik, a sseadás elvgehető s Z is

Részletesebben

A ferde hajlítás alapképleteiről

A ferde hajlítás alapképleteiről ferde hajlítás alapképleteiről Beveetés régebbi silárdságtani sakirodalomban [ 1 ], [ ] más típusú leveetések, más alakú képletek voltak forgalomban a egenes tengelű rudak ferde hajlításával kapcsolatban,

Részletesebben

A feladatsorok összeállításánál felhasználtuk a Nemzeti Tankönyvkiadó RT. Gyakorló és érettségire felkészítő feladatgyűjtemény I III. példatárát.

A feladatsorok összeállításánál felhasználtuk a Nemzeti Tankönyvkiadó RT. Gyakorló és érettségire felkészítő feladatgyűjtemény I III. példatárát. Oros Gyula, 00. november Emelt sintű érettségi feladatsor Össeállította: Oros Gyula; dátum: 00. október A feladatsorok össeállításánál felhasnáltuk a Nemeti Tankönyvkiadó RT. Gyakorló és érettségire felkésítő

Részletesebben

Információ megjelenítés Számítógépes ábrázolás. Dr. Iványi Péter

Információ megjelenítés Számítógépes ábrázolás. Dr. Iványi Péter Információ megjelenítés Számítógépes ábrázolás Dr. Iványi Péter Raszterizáció OpenGL Mely pixelek vannak a primitíven belül fragment generálása minden ilyen pixelre Attribútumok (pl., szín) hozzárendelése

Részletesebben

A lecke célja: A tananyag felhasználója megismerje a rugalmasságtan 2D feladatainak elméleti alapjait.

A lecke célja: A tananyag felhasználója megismerje a rugalmasságtan 2D feladatainak elméleti alapjait. 9 modul: A rugalmasságtan D feladatai 9 lecke: A D feladatok definíciója és egenletei A lecke célja: A tananag felhasnálója megismerje a rugalmasságtan D feladatainak elméleti alapjait Követelmének: Ön

Részletesebben

Számítógépes geometria (mester kurzus)

Számítógépes geometria (mester kurzus) 2010 sz, Debreceni Egyetem Csuklós szerkezetek animációja (Kép 1985-b l: Tony de Peltrie) Csontváz-modellek Csuklós szerkezet (robotkar) A robotkar részei: csuklók (joints) rotációs prizmatikus (transzlációs)

Részletesebben

Információ megjelenítés Számítógépes ábrázolás. Dr. Iványi Péter

Információ megjelenítés Számítógépes ábrázolás. Dr. Iványi Péter Információ megjelenítés Számítógépes ábrázolás Dr. Iványi Péter (adat szerkezet) float x,y,z,w; float r,g,b,a; } vertex; glcolor3f(0, 0.5, 0); glvertex2i(11, 31); glvertex2i(37, 71); glcolor3f(0.5, 0,

Részletesebben

3D Grafika+képszintézis+képfeldolgozás

3D Grafika+képszintézis+képfeldolgozás 3D Grafika+képsintéis+képfeldolgoás . Computer Integrated Manufacturing (Beveetés ea.) CAD ADATOK CAQ CA CA CAM CAE Computer Aided Design Computer Aided Manufacturing Computer Aided Engineering Computer

Részletesebben

A flóderes rajzolatról

A flóderes rajzolatról A flóderes rajolatról Beveetés Ebben a dolgoatban vagy talán több ilyenben is at a célt igyeksünk megvalósítani, hogy matematikailag leírjuk a faanyag úgyneveett flóderes, más néven lángnyelv alakú rajolatát.

Részletesebben

Többváltozós analízis gyakorlat, megoldások

Többváltozós analízis gyakorlat, megoldások Többváltozós analízis gakorlat, megoldások Általános iskolai matematikatanár szak 7/8. őszi félév. Differenciál- és integrálszámítás alkalmazásai. Határozzuk meg az alábbi differenciálegenletek összes,

Részletesebben

VIII.4. PONT A RÁCSPONTOK? A feladatsor jellemzői

VIII.4. PONT A RÁCSPONTOK? A feladatsor jellemzői VIII.4. PONT A RÁCSPONTOK? Tárg, téma Geometria, algebra és számelmélet. Előzmének A feladatsor jellemzői Pontok ábrázolása koordináta-rendszerben, abszolút érték fogalma, oszthatóság fogalma, (skatula

Részletesebben

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

F.I.1. Vektorok és vektorműveletek FI FÜGGELÉK: FI Vektorok és vektorműveletek MATEMATIKAI ÖSSZEFOGLALÓ Skláris menniség: oln geometrii vg fiiki menniség melet ngság (előjel) és mértékegség jelleme Vektor menniség: iránított geometrii vg

Részletesebben

Dr. Égert János Dr. Nagy Zoltán ALKALMAZOTT RUGALMASSÁGTAN

Dr. Égert János Dr. Nagy Zoltán ALKALMAZOTT RUGALMASSÁGTAN Dr Égert János Dr Nag Zoltán ALALMAZOTT UGALMASSÁGTAN Dr Égert János Dr Nag Zoltán ALALMAZOTT UGALMASSÁGTAN UNIVESITAS-GYŐ Nonprofit ft Gőr 9 SZÉCHENYI ISTVÁN EGYETEM GYŐ Írta: Dr Égert János Dr Nag Zoltán

Részletesebben

Algoritmuselmélet. Katona Gyula Y. Számítástudományi és Információelméleti Tanszék Budapesti Műszaki és Gazdaságtudományi Egyetem. 7.

Algoritmuselmélet. Katona Gyula Y. Számítástudományi és Információelméleti Tanszék Budapesti Műszaki és Gazdaságtudományi Egyetem. 7. Algorimuselméle Keresőfák, piros-fekee fák Kaona Gula Y. Sámíásudománi és Információelmélei Tansék Budapesi Műsaki és Gadaságudománi Egeem. előadás Kaona Gula Y. (BME SZIT) Algorimuselméle. előadás / Keresőfák

Részletesebben

Számítógépes grafika

Számítógépes grafika Számítógépes grafika XX. rész A GPU programozása a GLSL nyelv Az OpenGL árnyaló nyelve a GLSL (OpenGL Shading Language), amely segítségével vertex- és pixel- (fragment) shaderek által programozhatjuk a

Részletesebben

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

Máté: Számítógépes grafika alapjai LÁTHATÓ FELÜLETEK MEGHATÁROZÁSA LÁTHATÓ FELÜLETEK MEGHATÁROZÁSA szolgáló általános algoritmusok Látható felszín algoritmusok Adott 3D tárgyak egy halmaza, és egy projekció specifikációja. Mely vonalak

Részletesebben

TARTÓSZERKETETEK III.

TARTÓSZERKETETEK III. TARTÓSZERKETETEK III. KERESZTETSZETEK ELLENÁLLÁSA + STABILITÁSI ELLENÁLLÁS 1 KERESZTETSZETEK ELLENÁLLÁSA 1.1 Csavarlukkal gengített köpontosan húott rúd 1. Egik sárán kapsolt köpontosan húott sögaél 1.

Részletesebben

Líneáris függvények. Definíció: Az f(x) = mx + b alakú függvényeket, ahol m 0, m, b R elsfokú függvényeknek nevezzük.

Líneáris függvények. Definíció: Az f(x) = mx + b alakú függvényeket, ahol m 0, m, b R elsfokú függvényeknek nevezzük. Líneáris függvének Definíció: Az f() = m + b alakú függvéneket, ahol m, m, b R elsfokú függvéneknek nevezzük. Az f() = m + b képletben - a b megmutatja, hog a függvén hol metszi az tengelt, majd - az m

Részletesebben

x = 1 egyenletnek megoldása. Komplex számok Komplex számok bevezetése

x = 1 egyenletnek megoldása. Komplex számok Komplex számok bevezetése Komplex sámok Komplex sámok beveetése A valós sámok körét a követkeőképpen építettük fel. Elősör a termésetes sámokat veettük be. Itt két művelet volt, a össeadás és a sorás (ismételt össeadás A össeadás

Részletesebben

1. Lineáris transzformáció

1. Lineáris transzformáció Lineáris transzformáció Lineáris transzformáció mátrixának felírása eg adott bázisban: Emlékeztető: Legen B = {u,, u n } eg tetszőleges bázisa az R n -nek, Eg tetszőleges v R n vektor egértelműen felírható

Részletesebben

FÜGGELÉK - MATEMATIKAI ÖSSZEFOGLALÓ

FÜGGELÉK - MATEMATIKAI ÖSSZEFOGLALÓ FÜGGEÉK - MAEMAIKAI ÖSSZEFOGAÓ E a fejeet rövien össefoglalja aokat a matematikai ismereteket ameleket a Végeselem analíis tantárg fel fog hasnálni A össefoglalás nem teljes résletességgel mutatja be a

Részletesebben

9. osztály 1.) Oldjuk meg a valós számhármasok halmazán a következő egyenletet!

9. osztály 1.) Oldjuk meg a valós számhármasok halmazán a következő egyenletet! HANCSÓK KÁLMÁN MEGYEI MAEMAIKAVERSENY MEZŐKÖVESD Sóeli feldto és megoldáso ostál ) Oldju meg vlós sámhármso hlmán öveteő egenletet! ( pont) A egenlet l oldlát átlíthtju öveteőéppen: A l oldl egi tgj sem

Részletesebben

Egzakt következtetés (poli-)fa Bayes-hálókban

Egzakt következtetés (poli-)fa Bayes-hálókban gakt követketetés pol-fa Baes-hálókban Outlne Tpes of nference B method: exact, stochastc B purpose: dagnostc sngle-step, sequental DSS, explanaton generaton Hardness of exact nference xact nference n

Részletesebben

l = 1 m c) Mekkora a megnyúlás, ha közben a rúd hőmérséklete ΔT = 30 C-kal megváltozik? (a lineáris hőtágulási együtható: α = 1, C -1 )

l = 1 m c) Mekkora a megnyúlás, ha közben a rúd hőmérséklete ΔT = 30 C-kal megváltozik? (a lineáris hőtágulási együtható: α = 1, C -1 ) 5. TIZTA HÚZÁ-NYOMÁ, PÉLDÁK I. 1. a) Határouk meg a függestőrúd négetkerestmetsetének a oldalhossát cm-re kerekítve úg, hog a függestőrúdban ébredő normálfesültség ne érje el a σ e = 180 MPa-t! 3 m 1 C

Részletesebben