Máté: Számítógépes grafika alapjai
|
|
- Ilona Szilágyi
- 7 évvel ezelőtt
- Látták:
Átírás
1 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 Poligon kitöltése Tegyük fel hogy: m>1 (m = 1 triviális, m < 1 kicsit bonyolultabb) 1 x Δx = = m y max x y min ( 1) max min < x = egész rész + tört rész [] x { x} vagy [x i+1 ] = [x i ] és {x i+1 } = {x i } + Δx vagy [x i+1 ] = [x i ] + 1 és {x i+1 } = {x i } + Δx Poligon kitöltése Tegyük fel, hogy a bal határon vagyunk! Ha {x i } = 0, akkor (x, y)-t rajzolni kell (a vonalon van) Ha {x i } 0, akkor fölfelé kell kerekíteni x-et (az lesz belső pont) Egész értékű aritmetika használható: törtrész helyett a számláló és nevező tárolása 3 Poligon kitöltése void LeftEdgeScan(int xmin, int ymin, int xmax, int ymax, int value) { int x, y, numerator, denominator, increment; x = xmin; numerator = xmax - xmin; denominator = ymax-ymin; increment = denominator; // mert (x, y+1) a bal // él fölött/előtt van for(y = ymin; y < ymax; y++) { WritePixel(x,y,value); increment += numerator; if(increment > denominator) { x++; increment -= denominator; } } } 4 Poligon kitöltése Poligon kitöltése Adatstruktúrák: ÉT: (Élek Táblázata) A kisebbik y értékük szerint rendezve az összes élet tartalmazza. A vízszintes élek kimaradnak! Annyi lista van, ahány pásztázó vonal. Minden listában azok az élek szerepelnek, amelyek alsó végpontja a pásztázó vonalon van. A listák az élek alsó végpontjának x koordinátája szerint rendezettek Minden lista elem tartalmazza az él y max, x min koordinátáját és a meredekség reciprokát 5 ÉT: (Élek Táblázata) 11 λ 10 λ 9 λ 8 λ EF DE / /4 λ 6 λ CD λ 4 λ FA λ 2 λ AB BC / /4 λ 0 λ y max x min 1/m 6 1
2 Poligon kitöltése Algoritmus poligon kitöltésére AÉT: (Aktív Élek Táblázata) A pásztázó vonalat metsző éleket tartalmazza a metszéspontok x koordinátája szerint rendezve. Ezek a metszéspontok kitöltési szakaszokat határoznak meg az aktuális pásztázó vonalon. Ez is lista. 0. ÉT kialakítása 1. y legyen az ÉT-ben levő nem üres listák közül a legkisebb y 2. AÉT inicializálása (üres) 3. A továbbiakat addig ismételjük, amíg ÉT végére érünk és AÉT üres lesz: 7 8 Algoritmus poligon kitöltésére Poligon kitöltése 3.1 ÉT-ből az y -hoz tartozó listát a rendezést megtartva AÉT-hez másoljuk 3.2 AÉT-ből kivesszük azokat az éleket, amelyekre y max = y (a fölső éleket nem töltjük ki) 3.3 A kitöltési szakaszok pontjait megjelenítjük 3.4 y = y Minden AÉT-beli élben módosítjuk x-et 9 AÉT az y = 8 pásztázó vonalon: FA y max x 1/m EF 9 4-5/2 DE /4 CD λ 10 Poligon kitöltése Kör, ellipszis kitöltése Megjegyzés: Az x tengellyel párhuzamos alapú háromszögekre, trapézokra egyszerűsíthető az algoritmus, mert a pásztázó egyeneseknek a háromszögnek vagy a trapéznak legfeljebb 2 élével lehet metszéspontja (nem kell ÉT). P belül van, ha F(P) < 0, de most is használható a felezőpont módszer. Hasonló algoritmussal számíthatók a kitöltési szakaszok
3 Háromszög kitöltése (OpenGL) Egyetlen színnel glbegin(gl_triangles); glcolor3f(0.1, 0.2, 0.3); glvertex3f(0, 0, 0); glvertex3f(1, 0, 0); glvertex3f(0, 1, 0); glend(); Háromszög kitöltése (OpenGL) Több színnel (Gouraud-féle módon interpolálva) glshademodel(gl_smooth); //G-árnyalás glbegin(gl_triangles); glcolor3d(1.0,0.0,0.0); glvertex3d(5.0,5.0,0.0); glcolor3d(0.0,0.0,1.0); glvertex3d(195.0,5.0,0.0); glcolor3d(0.0,1.0,0.0); glvertex3d(100.0,195.0,0.0); glend(); Poligon létrehozása (OpenGL) glbegin(gl_polygon); glvertex3d(0,100,0); glvertex3d(50,100,0); glvertex3d(100,50,0); glvertex3d(100,0,0); glvertex3d(0,0,0) 0 0) glend(); Az OpenGL csak síkbeli konvex sokszögek helyes kirajzolását garantálja Az elsőként specifikált csúcspont színe lesz a primitív színe, ha glshademodel(gl_flat); 15 Poligon (OpenGL) 3D-s poligonoknak két oldaluk van: első és hátsó oldal. Alapértelmezésben mindkét oldal ugyanúgy rajzolódik ki, de ezen lehet változtatni: void glpolygonmode(enum face, enum mode); face: GL_FRONT_AND_BACK GL_FRONT GL_BACK; mode: GL_POINT csak a csúcspontokat rajzolja ki GL_LINE a határvonalat rajzolja ki GL_FILL kitölti a poligont 16 Kitöltés mintával Általában: terület kitöltése szabályosan ismétlődő grafikus elemekkel Példa: Kitöltés mintával Tégla minta Képmátrixok (raszter) esetében a cella egy (kisméretű) mátrix 17 Lehet a kitöltés "átlátszó" is: nem minden képpontot írunk felül, csak azokat, ahol a minta nem
4 Kitöltés mintával Fajtái: 1. Válasszunk egy pontot a primitívben (pl. bal felsőt), egy pontot a mintában (pl. bal felsőt), illesszük azokat egymásra, a többi pont illeszkedése már kiszámítható 2. Válasszunk egy pontot a képernyőn (pl. bal felsőt), egy pontot a mintában (pl. bal felsőt), illesszük azokat egymásra, a többi pont illeszkedése már kiszámítható (most a mintázat a képernyőhöz van rögzítve) 19 Kitöltés mintával Legyen: minta M * N -es mátrix minta [0,0] képernyő [0,0] ekkor 1. módszer: Pásztázás soronként (átlátszó) if(minta[x % M][y % N]) WritePixel(x,y,érték); Gyorsabb: több képpont (sor) egyszerre történő másolásával (esetleg maszkolás is szükséges a sor elején vagy végén) 20 Kitöltés mintával 2. módszer: Téglalap írás másolás képernyő pásztázás A téglalap írás kitöltés kombinálható képek közötti műveletekkel, így bonyolult ábrák készíthetők: Kitöltés mintával minta munkaterület Csak akkor érdemes használni, ha a primitívet sokszor kell használni Pl. karakterek megjelenítése 21 (a) hegyek, (b) ház vonalai, (c) a ház kitöltött bitmap képe, (d) (a)-ból kitöröltük (c)-t, (e) tégla minta, (f) (b) tégla mintával kitöltve, (g) (e) (d)-re másolva 22 Kitöltés mintával (OpenGL) void glpolygonstipple(const ubyte *mask); Kitöltési minta beállítása mask: egy es bittérkép (minta) 23 Kitöltés mintával (OpenGL) A kitöltési minta glenable(gl_polygon_stipple) engedélyezése gldisable(gl_polygon_stipple) tiltása Pl.: void display() { glclear(gl_color_buffer_bit); COLOR BIT); //Képernyő törlés glshademodel(gl_flat); //Árnyalási mód: FLAT glpolygonstipple(mask); // A minta glenable(gl_polygon_stipple);//engedélyezés rajz(); //Az alakzat kirajzolása gldisable(gl_polygon_stipple); //tiltás } 24 4
5 Kitöltés mintával (OpenGL) Példa: VASTAG PRIMITÍVEK RAJZOLÁSA Képpontok ismétlése Mozgó ecset Területkitöltés Közelítés vastag szakaszokkal VASTAG PRIMITÍVEK RAJZOLÁSA Több képpontnyi vastagságú vonalak Milyen alakú legyen az ecset? Kör? Téglalap? Forduljon az ecset? VASTAG PRIMITÍVEK RAJZOLÁSA 1. Képpontok ismétlése A pásztázó vonalas algoritmus kiterjesztése: ha -1 < m < 1, akkor a képpontokat többszörözzük meg az oszlopokban; különben a sorokban Képpontok ismétlése Tulajdonságai: a) gyors, b) a vonal végek mindig vízszintesek vagy függőlegesek, c) a vonal vastagsága függ a meredekségtől VASTAG PRIMITÍVEK RAJZOLÁSA 2. Mozgó ecset Téglalap alakú ecset, aminek a középpontja (vagy csúcspontja) az 1 pixel vastag vonalon mozog (az ecset nem "forog") d) a duplázás nem megy: a vonal valamelyik oldala felé vastagabb Jó módszer, ha nem túl vastag a vonal
6 Mozgó ecset Mozgó ecset Tulajdonságai: hasonló 1-hez, de a) a végpontok nagyobbak b) a vonal vastagsága függ a meredekségtől és az ecset alakjától jobb a kör alakú ecset Implementáció: ecset (= minta) másolása az 1 pixel vastag vonal minden pontjába VASTAG PRIMITÍVEK RAJZOLÁSA 3. Területkitöltés Területkitöltés Tulajdonságai: a) ugyanolyan jó páros és páratlan vastagra b) a vonal vastagsága nem függ a meredekségtől Kör esetén: külső és belső kör Terület primitíveknél a külső határvonalhoz használhatjuk az eredeti határvonalat, elegendő tehát a belsőt meghatározni Ellipszis esetén: a t/2, b t/2 a + t/2, b + t/2 belső külső ellipszisek Területkitöltés VASTAG PRIMITÍVEK RAJZOLÁSA 4. Közelítés vastag szakaszokkal 35 Szakaszonként lineáris approximáció a) szép b) vastag vonalakat símán kell illeszteni 36 6
7 Pont mérete (OpenGL) Void glpointsize(glfloat size); Nem minden méretet támogatnak az implementációk: Szakaszok rajzolása (OpenGL) Szakasz sorozat (GL_LINE_STRIP): Egy vagy több összekötött szakasz specifikálása a végpontok sorozatának megadásával. Pl.: GLfloat sizes[2]; // méret tartomány GLfloat step; // támogatott lépés glgetfloatv(gl_point_size_range, sizes); glgetfloatv(gl_point_size_granularity, &step); 37 glbegin(gl_line_strip); glvertex3d(0,0,0); glvertex3d(50,50,0); glvertex3d(50,100,0); glend(); 38 Szakaszok rajzolása (OPenGL) Szakasz hurok (GL_LINE_LOOP): Ugyanaz, mint a LINE_STRIP, de az utolsóként specifikált csúcspontot összekötjük az elsőként specifikált csúcsponttal. Pl.: glbegin(gl_line_loop); glvertex3d(0,0,0); glvertex3d(50,50,0); glvertex3d(50,100,0); glend(); Szakaszok rajzolása (OpenGL) Független szakasz (GL_LINES): Az elsőként specifikált két csúcspont határozza meg az első szakaszt, a második két csúcspont a második szakaszt,... ezek a szakaszok nincsenek összekötve Vonal vastagsága (OpenGL) Void gllinewidth(glfloat width); Nem minden vastagságot támogatnak az implementációk: GLfloat sizes[2]; // vastagság tartomány GLfloat step; // támogatott lépés glgetfloatv(gl_line_width_range, sizes); glgetfloatv(gl_line_width_granularity, &step); Szakaszok élsimítása (OpenGL) A GL_LINE_SMOOTH argumentummal meghívott szakaszok élsimítását engedélyezni a glenable, tiltani a gldisable függvénnyel lehet. Ha az élsímítás engedélyezett, akkor nem egész szélességek is megadhatók, és ekkor a szakasz szélén kirajzolt képpontok intenzitása kisebb, mint a szakasz közepén lévő képpontoké
8 VONAL STÍLUS VONAL STÍLUS Primitívek attribútumai: vonal vastagság szín vonal stílus stb... Vonal stílus: folytonos szaggatott pontozott felhasználó által definiált VONAL STÍLUS VONAL STÍLUS Stílus: 8 vagy 16 bites maszk írja le, hogy mely biteknek megfelelő pontok legyenek kirajzolva, mint a vonal pontjai Pl: = folytonos = szaggatott Rajzolás: (maszkolással) Hátránya: A szaggatások távolsága függ a meredekségtől Megoldás: A távolságot számolva rajzolni a szakaszokat Szakasz stílus (OpenGl) void gllinestipple(int factor, ushort pattern); Pattern (maszk): 16 bites bináris jelsorozat factor: A pattern-ben levő minden bit factor-szor kerül alkalmazásra. 0x00ff binárisan Szakasz stílus (OpenGl) Pl.: gllinestipple(1, 0x3F07); glenable(gl_line_stipple); A minta: (az alacsony helyértékű bittel kezdünk). gllinestipple(2, 0x3F07); glenable(gl_line_stipple); A minta: vonal minta vonal egy szegmens 47 Szakasz stílus glenable(gl_line_stipple) engedélyezése gldisable(gl_line_stipple) tiltása 48 8
9 Szakasz stílus (OpenGl) Megoldandó feladat: VÁGÁS Rajzoljunk ötszöget olyan egyenes szakaszokból, amelyek a következő mintákból épülnek fel: 49 A vágásról általában Pontok vágása Vonalak, szakaszok vágása egyenletrendszer megoldásával A COHEN - SUTHERLAND -féle vonal vágás Parametrikus vonal vágó algoritmus Körök és ellipszisek vágása Poligonok vágása 50 VÁGÁS VÁGÁS A primitívekből csak annyit szabad mutatni, amennyi látszik belőlük (takarás, kilógás a képből) Módszerek: 1. Vágjuk le a megjelenítés előtt, azaz számítsuk ki a metszéspontokat és az új végpontokkal rajzoljunk 2. Pásztázzuk a teljes primitívet, de csak a látható képpontokat jelenítjük meg: minden (x, y)-ra ellenőrzés 3. A teljes primitívet munkaterületre rajzoljuk, majd innen átmásoljuk a megfelelő darabot Pontok vágása: VÁGÁS VÁGÁS Szakaszok vágása egyenletrendszer megoldásával (x,y) belül van, ha x min x x max és y min y y max
10 Szakaszok vágása egyenletrendszer megoldásával Elég a végpontokat vizsgálni: a) Ha mindkét végpont belül van, akkor a teljes vonal belül van, nincs vágás; b) Ha pontosan egy végpont van belül, akkor metszéspontot kell számolni és vágni; c) Ha mindkét végpont kívül van, akkor további vizsgálat szükséges: lehet, hogy nincs közös része a vágási téglalappal, de lehet, hogy van. Szakaszok vágása egyenletrendszer megoldásával A vágási téglalap minden élére megvizsgáljuk: van-e az élnek közös része a szakasszal Egyenesek metszéspontjának meghatározása, és az élen belül van-e a metszéspont Problémák: Egyenesek (nem szakaszok!) metszéspontjai, Speciális esetek (vízszintes, függőleges egyenesek) Szakaszok vágása egyenletrendszer megoldásával Javítás: parametrikus alak x = x 0 + t (x 1 x 0 ) t [0,1] (szakaszt ír le) y = y 0 + t (y 1 y 0 ) Metszéspont: t él : a metszéspont paramétere az élen t vonal : a metszéspont paramétere a vonalon Ha t él, t vonal [0,1], akkor belül van Még így sem hatékony a módszer, mert sokat kell ellenőrizni és számolni 57 COHEN - SUTHERLAND - féle szakasz vágás A végpontok kódolása: y>y max y<y min x>x max x<x min y max -y y-y min x max -x x-x min előjele előjele előjele előjele y max y min x min x max COHEN - SUTHERLAND - féle szakasz vágás A végpontok kódolása: Minden végpont annak megfelelő kódot (code 1, code 2 ) kap, hogy melyik tartományban van. y max y min x min x max COHEN - SUTHERLAND - féle szakasz vágás Előzetes vizsgálatok: 1. Ha a végpontok belül vannak, akkor nincs mit vágni (triviális elfogadás) ilyenkor code 1 = code 2 = 0000 y 1 2 y max y min x min
11 COHEN - SUTHERLAND - féle szakasz vágás (x 1, y 1 ) és (x 2, y 2 ) a szakasz két végpontja különben: kód ha x 1,x 2 < x min (...1) vagy x 1,x 2 > x max (..1.) minden kívül van vagy y 1,y 2 < y min (.1..) (triviális elvetés) vagy y 1,y 2 > y max (1...) COHEN - SUTHERLAND - féle szakasz vágás különben: 3. az (x 1,y 1 ) (x 2,y 2 ) szakasz metszi valamelyik élet. Vegyünk egy külső végpontot (legalább egyik az; ha több van, akkor válasszuk közülük felülről lefelé és jobbról balra haladva az elsőt), számítsuk ki a metszéspontot. A két részre vágott szakasz egyik fele a 2. pont alapján triviálisan elvethető. code 1 AND(bitenként) code 2 = TRUE COHEN - SUTHERLAND - féle szakasz vágás Parametrikus szakasz vágó algoritmus Interaktív módon is használható Hatékony, mert gyakori, hogy sok vagy kevés szakasz van belül A legáltalánosabban használt eljárás kívül belül P Ei P 0 N i D E i él i P 1 P(t) = P 0 + (P 1 P 0 ) t = P 0 + D t D A metszéspontra (skalárszorzat): N i (P(t) P E i ) = 0 N i (P 0 +Dt P E i ) = 0 t = N i (P 0 P E i ) N i D 63 Ha N i D < 0, akkor belép a félsíkba, = 0, akkor párhuzamos a félsík élével, > 0, akkor kilép a félsíkból. 64 Parametrikus szakasz vágó algoritmus Meghatározható az egyenesnek a téglalap 4 élével való 4 metszéspontja (4 db t érték). Melyik két t a megfelelő? P 0 t=0 P 0 P 0 P 1 t=1 P 1 P 1 65 Parametrikus szakasz vágó algoritmus PE olyan pont, ahol P 0 -ból P 1 -felé haladva belépünk egy belső félsíkba (potential entering), ekkor N i (P 1 P 0 ) < 0 PL olyan, ahol kilépünk egy belső félsíkból (potential leaving), ekkor N i (P 1 P 0 ) > 0 P 0 t=0 P 0 PL P 0 PE PE PE PE P 1 t=1 PL P 1 PL PL P
12 Parametrikus szakasz vágó algoritmus Legyen t E = max {0, max{t PE }}, t L = min {1, min{t PL }} P 0 PL t=0 P 0 PE P 1 t=1 P 1 P 1 PL PL PE PL PE PE P 0 Ha t E > t L, akkor nincs belső metszés különben t E, t L [0,1], és ez a belső szakasz 67 Parametrikus szakasz vágó algoritmus számítása A metszéspontok számítása: él i N vágás i P Ei P 0 P Ei bal ( 1, 0) (x x=x min, y) (x 0 x min, y 0 y) min jobb (1, 0) (x max, y) (x 0 x max, y 0 y) x=x max lent (0, 1) (x, y y=y min ) (x 0 x, y 0 y min ) min fent (0, 1) (x, y y=y max )(x 0 x, y 0 y max ) max ( P P ) Ni 0 t = Ni D x 0 x min x x Ei ( ) ( 1 0 ) ( x 0 x max ) ( x x ) 1 0 ( y 0 y min ) ( y 1 y 0 ) ( y 0 y max ) ( y y ) Parametrikus szakasz vágó algoritmus begin N i kiszámítása, P Ei kiválasztása minden élre; for szakaszokra if P 1 = P 0 then pont vágása; else begin t E = 0; t L = 1; D = P 1 -P 0 ; for élekre if N i D <> 0 then begin t kiszámítása. N i D <0: PE, >0: PL; if PE then t E = max(t E,t); if PL then t L = min(t L,t) end; if t E > t L then nincs belső metszés else P(t E )-től P(t L )-ig belső metszés end end 69 Körök és ellipszisek vágása 70 Körök és ellipszisek vágása Triviális vizsgá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örnegyedekre (nyolcadokra) kiszámítjuk a kör és a téglalap élének metszéspontját, utána pásztázás Ha a kör nem nagy, akkor pixelenként dönthetünk. Sok eset lehet: Poligonok vágása Ellipszis: hasonlóan. 71 Általában minden éllel vágni kell 72 12
13 Poligonok vágása SUTHERLAND, HODGMAN: KARAKTEREK GENERÁLÁSA vágjunk egyenként az összes éllel (v 1,v 2,...,v n ) (v' 1,v' 2,...,v' m ) csúcspontok új csúcspontok Attribútumok Attribútumok Attribútumok: stílus (font): Times Roman Helvetica Clarinda... Méret: szöveg kezdőpont alapvonal x pont (1 pont = 1/72 inch) guit magasság megjelenés: normál vastag (bold) döntött (italic) aláhúzott Betűk közötti távolság Sorok közötti távolság szélesség 76 Karakterek definiálása 1. Bitmátrixokkal (bittérképekkel) az adott font minden egyes karakteréhez tartozik egy bitmátrix Karakterek definiálása A bitmátrixok előállíthatók pl. rajzoló programmal a betűk felnagyított képeiből Különböző méretekhez különböző bitmátrixok
14 Tárolás: Lehet trükközni: Karakterek definiálása név magasság szélesség (lehet változó) betűköz 79 Karakterek definiálása 2. A betűket leíró határvonalakkal poligonok ívek Eszköz-független bármilyen megjelenítőhöz adaptálható Egy font megadásához általában több hely kell, mint a bitmátrix esetében Mérettől független, nagyítható (mértékkel), dönthető Bonyolultabb a megjelenítés, mint a bitmátrix esetében 80 Karakterek definiálása Karakterek definiálása xfontsel Grafikus felület X11 font-név kiválasztására Megmutatja, hogy mely fontok állnak az X- szerver rendelkezésére 81 fndry (Foundry) A fontot szolgáltató (regisztrált) cég neve (pl. Adobe) fmly Font-család (family) a font tipográfiai stílusának családja (pl. Courier) wght (Weight) A font tipográfiai súlyát, azaz feketeségét jelöli (pl. bold) slant A betűkép állása (pl. italic - döntött) 82 Karakterek definiálása Karakterek definiálása swdth (Set Width) A font vízszintes vastagsága (pl. normal, keskeny) adstyl (Additional Style) További információ (pl. sans - talp nélküli) pxlsz (Pixel Size) Magasság pixelben kifejezve ptsz (Point Size) A font mérete pontokban kifejezve resx (Horizontal Resolution) Az eredeti fontok mérete dpi-ben 83 resy (Vertical Resolution) Az eredeti fontok mérete dpi-ben spc (Spacing) Betűköz (p: proporcionális, m: mono-space) avgwdth (Average Width) Átlagos szélesség pixel/10 -ben rgstry (Character Set) ISO-szabvány kódja (pl. ISO8859) encdng (Encoding) ISO-szabvány kódja (pl. ISO8859) 84 14
15 Szöveg - bittérkép (OpenGL) Bittérképes karakter megjelenítése glutbitmapcharacter(void *font, int character) font: pl.: GLUT_BITMAP_8_BY_13, GLUT_BITMAP_TIMES_ROMAN_10, GLUT_BITMAP_HELVETICA_18 Szöveg - bittérkép (OpenGL) Pl.: void output(int x, int y, char *string){ int len, i; glrasterpos2f(x, y); len = (int) strlen(string); for(i = 0; i < len; i++){ glutbitmapcharacter( GLUT_BITMAP_HELVETICA_18, string[i]); } } Szöveg - határvonal (OpenGL) Határvonalával megadott (ún. stroke) karakter megjelenítése glutstrokecharacter(void *font, int character) font: pl. GLUT_STROKE_ROMAN, GLUT_STROKE_MONO_ROMAN Szöveg - határvonal (OpenGL) Pl.: void output(int x, int y, char *string){ int len, i; glrasterpos2f(x, y); len = (int) strlen(string); for(i = 0; i < len; i++){ glutstrokecharacter (GLUT_STROKE_ROMAN, string[i]); } } RGB (Red, Green, Blue vörös, zöld, kék) SZÍNMODELLEK Pl. színes képernyőnél RGB, CMY, CMYK, HSV OpenGL Additív komponensek: Alkalmas súlyokkal vett összegük ad egy összetett színt
16 RGB (Red, Green, Blue vörös, zöld, kék) CMY (Cyan, Magenta, Yellow cián, bíbor, sárga) Vörös Zöld Kék Cián Sárga Bíbor Fehér Pl. színes nyomtatóknál Szubtraktív komponensek: Sokszor szűrőként használjuk, hogy kiszűrjék a fehérből a megfelelő színt CMY (Cyan, Magenta, Yellow cián, bíbor, sárga) CMY (Cyan, Magenta, Yellow cián, bíbor, sárga) Cián Bíbor Sárga Vörös Zöld Kék Fekete Konverzió: RGB RGB CMY CMY CMYK (Cyan, Magenta, Yellow, black - K : fekete) CMYK (Cyan, Magenta, Yellow, BlacK - K : fekete) Cián Bíbor Sárga Vörös Zöld Kék Fekete CMY CMYK konverzió: K = min {C, M, Y} C = C K M = M K Y = Y K
17 HSV (Hue, Saturation, Value árnyalat, telítettség, fényesség) Feladat (OpenGL) H S 0 0 H < : R, : G, : B 0 S < 1 Ha S =0, akkor szürke Ha S = 1, akkor nincs fehér és fekete belekeverve 0 V < 1 Ha V = 0, akkor fekete Ha V = 1, akkor nincs fekete belekeverve Szivárvány rajzolása Esztétikai alapú (ahogy a festők keverik a színeket) y Geometriai transzformációk P ζ P (x,y ) P P(x,y) (d x,d y ) T x ζ Bevezetés - Transzformációk A Számítógépes Grafikában használatos 2- és 3- dimenziós transzformációk: eltolás nagyítás, kicsinyítés (skálázás) forgatás Pont 2D eltolása Hosszak és a szögek változatlanok y P(x,y) T x P = y P (x,y ) (d x,d y ) x x ' P ' = y ' x =x+d x y =y+d y P =P+T (oszlop-)vektorokkal: dx T = dy 101 Szakasz 2D eltolása Elegendő az új végpontokat számolni y B A =A+T A+T B B =B+T A A T x
18 2D nagyítás/kicsinyítés A szögek változatlanok Szokták a kettőt együtt SKÁLÁZÁSKÉNT említeni Origóból történő nagyítás x =x s x P y =y s y y P =S P 2D forgatás A hosszak és a szögek változatlanok Origó körüli forgatás P ζ P x = x cos ζ - y sin ζ y = x sin ζ + y cos ζ P = R P P x P = y (oszlop-)vektorokkal: x' Sx 0 P' = S = y' 0 Sy 103 ζ x' y' cos ζ R = sin ζ sin ζ x cos ζ y 104 Homogén koordináták (x, y) jelölése homogén koordinátákkal: (x, y, w) Egyenlőség: (x, y, w) = (x, y, w ), ha van olyan α : hogy x = α x, y = α y, w = α w pl: (2, 3, 6) = (4, 6, 12) Egy ponthoz végtelen sok (x, y, w) tartozik. Ha w = 0, akkor (x, y, w) végtelen távoli pont (0, 0, 0) nem megengedett! 105 w 1 y Kapcsolat 2D és 3D közt P(x, y, w) x (t x, t y, t w) egyenes a 3D térben x y,, 1 w w P vetülete a w = 1 síkon A végtelen távoli pontok nincsenek a síkon
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.
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.
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
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
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,
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
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
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,
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,
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
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
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
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
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?
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
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,
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)
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
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
Számítógépes Grafika mintafeladatok
Számítógépes Grafika mintafeladatok Feladat: Forgassunk a 3D-s pontokat 45 fokkal a X tengely körül, majd nyújtsuk az eredményt minden koordinátájában kétszeresére az origóhoz képest, utána forgassunk
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,
SZE, Doktori Iskola. Számítógépes grafikai algoritmusok. Összeállította: Dr. Gáspár Csaba. Felületmegjelenítés
Felületmegjelenítés Megjelenítés paramétervonalakkal Drótvázas megjelenítés Megjelenítés takarással Triviális hátsólap eldobás A z-puffer algoritmus Megvilágítás és árnyalás Megjelenítés paramétervonalakkal
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
Számítógépes Grafika SZIE YMÉK
Számítógépes Grafika SZIE YMÉK Analóg - digitális Analóg: a jel értelmezési tartománya (idő), és az értékkészletes is folytonos (pl. hang, fény) Diszkrét idejű: az értelmezési tartomány diszkrét (pl. a
(Solid modeling, Geometric modeling) Testmodell: egy létező vagy elképzelt objektum digitális reprezentációja.
Testmodellezés Testmodellezés (Solid modeling, Geometric modeling) Testmodell: egy létező vagy elképzelt objektum digitális reprezentációja. A tervezés (modellezés) során megadjuk a objektum geometria
Objektumok és osztályok. Az objektumorientált programozás alapjai. Rajzolás tollal, festés ecsettel. A koordinátarendszer
Objektumok és osztályok Az objektumorientált programozás alapjai Rajzolás tollal, festés ecsettel A koordinátarendszer A vektorgrafikában az egyes grafikus elemeket (pontokat, szakaszokat, köröket, stb.)
A Vonallánc készlet parancsai lehetővé teszik vonalláncok és sokszögek rajzolását.
11. Geometriai elemek 883 11.3. Vonallánc A Vonallánc készlet parancsai lehetővé teszik vonalláncok és sokszögek rajzolását. A vonallánc egy olyan alapelem, amely szakaszok láncolatából áll. A sokszög
A digitális képfeldolgozás alapjai
A digitális képfeldolgozás alapjai Digitális képfeldolgozás A digit szó jelentése szám. A digitális jelentése, számszerű. A digitális információ számokká alakított információt jelent. A számítógép a képi
Hajder Levente 2018/2019. II. félév
Hajder Levente hajder@inf.elte.hu Eötvös Loránd Tudományegyetem Informatikai Kar 2018/2019. II. félév Tartalom 1 2 3 4 5 Albrecht Dürer, 1525 Motiváció Tekintsünk minden pixelre úgy, mint egy kis ablakra
Függvények Megoldások
Függvények Megoldások ) Az ábrán egy ; intervallumon értelmezett függvény grafikonja látható. Válassza ki a felsoroltakból a függvény hozzárendelési szabályát! a) x x b) x x + c) x ( x + ) b) Az x függvény
Képszerkesztés elméleti feladatainak kérdései és válaszai
Képszerkesztés elméleti feladatainak kérdései és válaszai 1. A... egyedi alkotóelemek, amelyek együttesen formálnak egy képet. Helyettesítse be a pixelek paletták grafikák gammák Helyes válasz: pixelek
SZÍNES KÉPEK FELDOLGOZÁSA
SZÍNES KÉPEK FELDOLGOZÁSA Színes képek feldolgozása Az emberi szem többezer színt képes megkülönböztetni, de csupán 20-30 különböző szürkeárnyalatot A színes kép feldolgozása két csoportba sorolható -
Hajder Levente 2014/2015. tavaszi félév
Hajder Levente hajder.levente@sztaki.mta.hu Eötvös Loránd Tudományegyetem Informatikai Kar 2014/2015. tavaszi félév Tartalom 1 2 3 4 5 Albrecht Dürer, 1525 Motiváció Tekintsünk minden pixelre úgy, mint
A Paint program használata
A Paint program használata A Windows rendszerbe épített Paint program segítségével képeket rajzolhat, színezhet és szerkeszthet. A Paint használható digitális rajztáblaként. Egyszerű képek és kreatív projektek
Színek 2013.10.20. 1
Színek 2013.10.20. 1 Képek osztályozása Álló vagy mozgó (animált) kép Fekete-fehér vagy színes kép 2013.10.20. 2 A színes kép Az emberi szem kb. 380-760 nm hullámhosszúságú fénytartományra érzékeny. (Ez
Skaláris szorzat: a b cos, ahol α a két vektor által bezárt szög.
1 Összeadás: Legyen a (7; 3) és b (- 2; 4), akkor az összegük a + b (7 + (-2); 3 + 4) = (5; 7) Kivonás: Legyen a (7; 3) és b (- 2; 4), akkor a különbségük a b (7 - (-2); 3-4)=(9; - 1) Valós számmal való
Szürke árnyalat: R=G=B. OPENCV: BGR Mátrix típus: CV_8UC3 Pont típus: img.at<vec3b>(i, j) Tartomány: R, G, B [0, 255]
Additív színmodell: piros, zöld, kék keverése RGB hullámhossz:700nm, 546nm, 435nm Elektronikai eszközök alkalmazzák: kijelzők, kamerák 16 millió szín kódolható Szürke árnyalat: R=G=B OPENCV: BGR Mátrix
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
Képszerkesztés elméleti kérdések
Képszerkesztés elméleti kérdések 1. A... egyedi alkotó elemek, amelyek együttesen formálnak egy képet.(pixelek) a. Pixelek b. Paletták c. Grafikák d. Gammák 2. Az alábbiak közül melyik nem színmodell?
Számítógépes grafika. Készítette: Farkas Ildikó 2006.Január 12.
Számítógépes grafika Készítette: Farkas Ildikó 2006.Január 12. Az emberi látás Jellegzetességei: az emberi látás térlátás A multimédia alkalmazások az emberi érzékszervek összetett használatára építenek.
Klár Gergely 2010/2011. tavaszi félév
Számítógépes Grafika Klár Gergely tremere@elte.hu Eötvös Loránd Tudományegyetem Informatikai Kar 2010/2011. tavaszi félév Tartalom Pont 1 Pont 2 3 4 5 Tartalom Pont Descartes-koordináták Homogén koordináták
10. Koordinátageometria
I. Nulladik ZH-ban láttuk: 0. Koordinátageometria. Melyek azok a P x; y pontok, amelyek koordinátái kielégítik az Ábrázolja a megoldáshalmazt a koordináta-síkon! x y x 0 egyenlőtlenséget? ELTE 00. szeptember
A színkezelés alapjai a GIMP programban
A színkezelés alapjai a GIMP programban Alapok.Előtér és háttér színek.klikk, hogy alapbeállítás legyen ( d és x használata).hozzunk létre egy 640x400 pixeles képet! 4.Ecset eszköz választása 5.Ecset kiválasztása
Szürke árnyalat: R=G=B. OPENCV: BGR Mátrix típus: CV_8UC3 Pont típus: img.at<vec3b>(i, j) Tartomány: R, G, B [0, 255]
Additív színmodell: piros, zöld, kék keverése RGB hullámhossz:700nm, 546nm, 435nm Elektronikai eszközök alkalmazzák: kijelzők, kamerák 16 millió szín kódolható Szürke árnyalat: R=G=B OPENCV: BGR Mátrix
Java és web programozás
Budapesti M szaki Egyetem 2015. 03. 18. 6. El adás Graka Java-ban Emlékezzünk kicsit vissza a tikz-re: \begin{tikzpicture \draw (0,0) node[draw,circle] (S) {s; \draw (3,2) node[draw,circle] (A) {a; \draw
Láthatósági kérdések
Láthatósági kérdések Láthatósági algoritmusok Adott térbeli objektum és adott nézőpont esetén el kell döntenünk, hogy mi látható az adott alakzatból a nézőpontból, vagy irányából nézve. Az algoritmusok
Geometria. a. Alapfogalmak: pont, egyenes, vonal, sík, tér (Az alapfogalamakat nem definiáljuk)
1. Térelemek Geometria a. Alapfogalmak: pont, egyenes, vonal, sík, tér (Az alapfogalamakat nem definiáljuk) b. Def: félegyenes, szakasz, félsík, féltér. c. Kölcsönös helyzetük: i. pont és (egyenes vagy
Térbeli transzformációk, a tér leképezése síkra
Térbeli transzformációk, a tér leképezése síkra Homogén koordináták bevezetése térben A tér minden P pontjához kölcsönösen egyértelműen egy valós (x, y, z) számhármast rendeltünk hozzá. (Descartes-féle
Lin.Alg.Zh.1 feladatok
Lin.Alg.Zh. feladatok 0.. d vektorok Adott három vektor ā (0 b ( c (0 az R Euklideszi vektortérben egy ortonormált bázisban.. Mennyi az ā b skalárszorzat? ā b 0 + + 8. Mennyi az n ā b vektoriális szorzat?
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
Mesh generálás. IványiPéter
Mesh generálás IványiPéter drview Grafikus program MDF file-ok szerkesztéséhez. A mesh generáló program bemenetét itt szerkesztjük meg. http://www.hexahedron.hu/personal/peteri/sx/index.html Pont létrehozásához
Infobionika ROBOTIKA. X. Előadás. Robot manipulátorok II. Direkt és inverz kinematika. Készült a HEFOP P /1.0 projekt keretében
Infobionika ROBOTIKA X. Előadás Robot manipulátorok II. Direkt és inverz kinematika Készült a HEFOP-3.3.1-P.-2004-06-0018/1.0 projekt keretében Tartalom Direkt kinematikai probléma Denavit-Hartenberg konvenció
Mechatronika segédlet 3. gyakorlat
Mechatronika segédlet 3. gyakorlat 2017. február 20. Tartalom Vadai Gergely, Faragó Dénes Feladatleírás... 2 Fogaskerék... 2 Nézetváltás 3D modellezéshez... 2 Könnyítés megvalósítása... 2 A fogaskerék
5. házi feladat. AB, CD kitér élpárra történ tükrözések: Az ered transzformáció: mivel az origó xpont, így nincs szükség homogénkoordinátás
5. házi feladat 1.feladat A csúcsok: A = (0, 1, 1) T, B = (0, 1, 1) T, C = (1, 0, 0) T, D = ( 1, 0, 0) T AB, CD kitér élpárra történ tükrözések: 1 0 0 T AB = 0 1 0, elotlási rész:(i T AB )A = (0, 0, )
λ 1 u 1 + λ 2 v 1 + λ 3 w 1 = 0 λ 1 u 2 + λ 2 v 2 + λ 3 w 2 = 0 λ 1 u 3 + λ 2 v 3 + λ 3 w 3 = 0
Vektorok a térben Egy (v 1,v 2,v 3 ) valós számokból álló hármast vektornak nevezzünk a térben (R 3 -ban). Használni fogjuk a v = (v 1,v 2,v 3 ) jelölést. A v 1,v 2,v 3 -at a v vektor komponenseinek nevezzük.
MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK MEGOLDÁSAI KÖZÉPSZINT Függvények
MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK MEGOLDÁSAI KÖZÉPSZINT Függvények A szürkített hátterű feladatrészek nem tartoznak az érintett témakörhöz, azonban szolgálhatnak fontos információval az érintett feladatrészek
OPTIKA. Szín. Dr. Seres István
OPTIKA Szín Dr. Seres István Additív színrendszer Seres István 2 http://fft.szie.hu RGB (vagy 24 Bit Color): Egy képpont a piros, a kék és a zöld 256-256-256 féle árnyalatából áll össze, összesen 16 millió
GRAFIKA. elméleti tudnivalók
GRAFIKA elméleti tudnivalók 1. A digitális képalkotás - bevezető A "digitális" szó egyik jelentése: számjegyet használó. A digitális adatrögzítés mindent számmal próbál meg leírni. Mivel a természet végtelen,
Koordináta-geometria feladatok (emelt szint)
Koordináta-geometria feladatok (emelt szint) 1. (ESZÉV Minta (2) 2004.05/7) Egy ABC háromszögben CAB = 30, az ACB = 45. A háromszög két csúcsának koordinátái: A(2; 2) és C(4; 2). Határozza meg a harmadik
Matlab alapok. Baran Ágnes. Grafika. Baran Ágnes Matlab alapok Grafika 1 / 21
Matlab alapok Baran Ágnes Grafika Baran Ágnes Matlab alapok Grafika / 2 Vonalak, pontok síkon figure nyit egy új grafikus ablakot plot(x,y) ahol x és y ugyanolyan méretű vektorok, ábrázolja az (x i,y i
OPTIKA. Hullámoptika Színek, szem működése. Dr. Seres István
OPTIKA Színek, szem működése Dr. Seres István : A fény elektromágneses hullám A fehér fény összetevői: Seres István 2 http://fft.szie.hu Színrendszerek: Additív színrendszer Seres István 3 http://fft.szie.hu
Koordináta-geometria feladatgyűjtemény
Koordináta-geometria feladatgyűjtemény A feladatok megoldásai a dokumentum végén találhatók Vektorok 1. Egy négyzet két szemközti csúcsának koordinátái: A( ; 7) és C(4 ; 1). Határozd meg a másik két csúcs
Bevezetés a színek elméletébe és a fényképezéssel kapcsolatos fogalmak
Bevezetés a színek elméletébe és a fényképezéssel kapcsolatos fogalmak Az emberi színlátás Forrás: http://www.normankoren.com/color_management.html Részletes irodalom: Dr. Horváth András: A vizuális észlelés
MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK MEGOLDÁSAI KÖZÉP SZINT Függvények
MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK MEGOLDÁSAI KÖZÉP SZINT Függvények A szürkített hátterű feladatrészek nem tartoznak az érintett témakörhöz, azonban szolgálhatnak fontos információval az érintett feladatrészek
2014/2015. tavaszi félév
Hajder L. és Valasek G. hajder.levente@sztaki.mta.hu Eötvös Loránd Tudományegyetem Informatikai Kar 2014/2015. tavaszi félév Tartalom Geometria modellezés 1 Geometria modellezés 2 Geometria modellezés
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
Vektorok és koordinátageometria
Vektorok és koordinátageometria Vektorral kapcsolatos alapfogalmak http://zanza.tv/matematika/geometria/vektorok-bevezetese Definíció: Ha egy szakasz két végpontját megkülönböztetjük egymástól oly módon,
Tamás Ferenc: CSS táblázatok 2.
Tamás Ferenc: CSS táblázatok 2. Ez az írás azoknak készült, akik már értik a HTML és a CSS nyelveket, csak használat közben kellene egy adott tulajdonság vagy érték. Kérem, hogy senki se ezzel kezdje a
MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK MEGOLDÁSAI KÖZÉPSZINT Függvények
MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK MEGOLDÁSAI KÖZÉPSZINT Függvények A szürkített hátterű feladatrészek nem tartoznak az érintett témakörhöz, azonban szolgálhatnak fontos információval az érintett feladatrészek
Programozási nyelvek 2. előadás
Programozási nyelvek 2. előadás Logo forgatás tétel Forgatás tétel Ha az ismétlendő rész T fok fordulatot végez és a kezdőhelyére visszatér, akkor az ismétlések által rajzolt ábrák egymás T fokkal elforgatottjai
Bevezetés a színek elméletébe és a fényképezéssel kapcsolatos fogalmak
Bevezetés a színek elméletébe és a fényképezéssel kapcsolatos fogalmak Az emberi színlátás Forrás: http://www.normankoren.com/color_management.html Részletes irodalom: Dr. Horváth András: A vizuális észlelés
Lehet hogy igaz, de nem biztos. Biztosan igaz. Lehetetlen. A paralelogrammának van szimmetria-középpontja. b) A trapéznak két szimmetriatengelye van.
Geometria, sokszögek, szögek, -, 2004_01/5 Lili rajzolt néhány síkidomot: egy háromszöget, egy deltoidot, egy paralelogrammát és egy trapézt. A következő állítások ezekre vonatkoznak. Tegyél * jelet a
A színérzetünk három összetevőre bontható:
Színelméleti alapok Fény A fény nem más, mint egy elektromágneses sugárzás. Ennek a sugárzásnak egy meghatározott spektrumát képes a szemünk érzékelni, ezt nevezzük látható fénynek. Ez az intervallum személyenként
6. Függvények. 1. Az alábbi függvények közül melyik szigorúan monoton növekvő a 0;1 intervallumban?
6. Függvények I. Nulladik ZH-ban láttuk: 1. Az alábbi függvények közül melyik szigorúan monoton növekvő a 0;1 intervallumban? f x g x cos x h x x ( ) sin x (A) Az f és a h. (B) Mindhárom. (C) Csak az f.
Matematika pótvizsga témakörök 9. V
Matematika pótvizsga témakörök 9. V 1. Halmazok, műveletek halmazokkal halmaz, halmaz eleme halmazok egyenlősége véges, végtelen halmaz halmazok jelölése, megadása természetes számok egész számok racionális
Programozás 7.o Az algoritmus fogalma (ismétlés)
Programozás 7.o Az algoritmus fogalma (étlés) Az algoritmus olyan leírás, felsorolás, amely az adott feladat megoldásához szükséges jól definiált utasítások s számú sorozata. Egy probléma megoldására kidolgozott
5 1 6 (2x3 + 4) 7. 4 ( ctg(4x + 2)) + c = 3 4 ctg(4x + 2) + c ] 12 (2x6 + 9) 20 ln(5x4 + 17) + c ch(8x) 20 ln 5x c = 11
Bodó Beáta ISMÉTLÉS. ch(6 d.. 4.. 6. 7. 8. 9..... 4.. e (8 d ch (9 + 7 d ( + 4 6 d 7 8 + d sin (4 + d cos sin d 7 ( 6 + 9 4 d INTEGRÁLSZÁMÍTÁS 7 6 sh(6 + c 8 e(8 + c 9 th(9 + 7 + c 6 ( + 4 7 + c = 7 4
Tömörítés, kép ábrázolás A tömörítés célja: hogy információt kisebb helyen lehessen tárolni (ill. gyorsabban lehessen kommunikációs csatornán átvinni
Tömörítés, kép ábrázolás A tömörítés célja: hogy információt kisebb helyen lehessen tárolni (ill. gyorsabban lehessen kommunikációs csatornán átvinni A tömörítés lehet: veszteségmentes nincs információ
Síklapú testek. Gúlák, hasábok Metszésük egyenessel, síkkal
Síklapú testek Gúlák, hasábok Metszésük egyenessel, síkkal Az előadás átdolgozott részleteket tartalmaz a következőkből: Gubis Katalin: Ábrázoló geometria Vlasta Szirovicza: Descriptive geometry Síklapú
Lineáris leképezések. Wettl Ferenc március 9. Wettl Ferenc Lineáris leképezések március 9. 1 / 31
Lineáris leképezések Wettl Ferenc 2015. március 9. Wettl Ferenc Lineáris leképezések 2015. március 9. 1 / 31 Tartalom 1 Mátrixleképezés, lineáris leképezés 2 Alkalmazás: dierenciálhatóság 3 2- és 3-dimenziós
Lin.Alg.Zh.1 feladatok
LinAlgZh1 feladatok 01 3d vektorok Adott három vektor ā = (0 2 4) b = (1 1 4) c = (0 2 4) az R 3 Euklideszi vektortérben egy ortonormált bázisban 1 Mennyi az ā b skalárszorzat? 2 Mennyi az n = ā b vektoriális
EGY ABLAK - GEOMETRIAI PROBLÉMA
EGY ABLAK - GEOMETRIAI PROBLÉMA Írta: Hajdu Endre A számítógépemhez tartozó két hangfal egy-egy négyzet keresztmetszetű hasáb hely - szűke miatt az ablakpárkányon van elhelyezve (. ábra).. ábra Hogy az
BME MOGI Gépészeti informatika 15.
BME MOGI Gépészeti informatika 15. 1. feladat Készítsen alkalmazást a y=2*sin(3*x-π/4)-1 függvény ábrázolására a [-2π; 2π] intervallumban 0,1-es lépésközzel! Ezen az intervallumon a függvény értékkészlete
Programozási környezetek
KOVÁSZNAI GERGELY ÉS BIRÓ CSABA EKF TTK Információtechnológia Tanszék Programozási környezetek Alkalmazható természettudományok oktatása a tudásalapú társadalomban TÁMOP-4.1.2.A/1-11/1-2011-0038 WPF Bevezetés
Érettségi feladatok Koordinátageometria_rendszerezve / 5
Érettségi feladatok Koordinátageometria_rendszerezve 2005-2013 1/ 5 Vektorok 2005. május 28./12. Adottak az a (4; 3) és b ( 2; 1) vektorok. a) Adja meg az a hosszát! b) Számítsa ki az a + b koordinátáit!
Baran Ágnes. Gyakorlat Függvények, Matlab alapok
Matematika Mérnököknek 1. Baran Ágnes Gyakorlat Függvények, Matlab alapok Matematika Mérnököknek 1. A gyakorlatok fóliái: https://arato.inf.unideb.hu/baran.agnes/oktatas.html Feladatsorok: https://arato.inf.unideb.hu/baran.agnes/oktatas.html
Programozási nyelvek 1. előadás
Programozási nyelvek 1. előadás I. A nyelv története Logo Seymour Papert, 1968,1969 - szövegkezelés, M.I.T. Később: grafika, mikroszámítógépekre átdolgozva Cél: minél kisebb gyerekeknek is, természetes
egyenletrendszert. Az egyenlő együtthatók módszerét alkalmazhatjuk. sin 2 x = 1 és cosy = 0.
Magyar Ifjúság. X. TRIGONOMETRIKUS FÜGGVÉNYEK A trigonometrikus egyenletrendszerek megoldása során kísérletezhetünk új változók bevezetésével, azonosságok alkalmazásával, helyettesítő módszerrel vagy más,
Feladatok Házi feladat. Keszeg Attila
2016.01.29. 1 2 3 4 Adott egy O pont és egy λ 0 valós szám. a tér minden egyes P pontjához rendeljünk hozzá egy P pontot, a következő módon: 1 ha P = O, akkor P = P 2 ha P O, akkor P az OP egyenes azon
Robotika. Kinematika. Magyar Attila
Robotika Kinematika Magyar Attila amagyar@almos.vein.hu Miről lesz szó? Bevezetés Merev test pozíciója és orientációja Rotáció Euler szögek Homogén transzformációk Direkt kinematika Nyílt kinematikai lánc
Geometriai algoritmusok
Geometriai algoritmusok Alapfogalmak Pont: (x,y) R R Szakasz: Legyen A,B két pont. Az A és B pontok által meghatározott szakasz: AB = {p = (x,y) : x = aa.x + (1 a)b.x,y = aa.y + (1 a)b.y),a R,0 a 1. Ha
Geometria 1 normál szint
Geometria 1 normál szint Naszódi Márton nmarci@math.elte.hu www.math.elte.hu/ nmarci ELTE TTK Geometriai Tsz. Budapest Geometria 1 p.1/4 Vizsga 1 Írásban, 90 perc. 2 Személyazonosságot igazoló okmány nélkül
1. Fénysugár követő és festő algoritmus (3p) fénysugárkövető módszer Festő algoritmus: 2. Fények, fény, fény az opengl-ben, anyagtulajdonság (12pt)
1. Fénysugár követő és festő algoritmus (3p) A fénysugárkövető módszer azt használja ki, hogy a kép pontokból (pixelekből) épül fel. Alapötlete az, hogy meghatározza az ábrázolandó objektumnak az a pontját,
mintásfal 60 40 2 2 mintásfal :m :sz :dbjobbra :dbfel
6.osztály 1.foglalkozás 6.osztály 2.foglalkozás kocka kockafal :db minta Készítsd el ezt a mintát! A minta hosszú oldala 60 a rövid oldala 40 egység hosszú. A hosszú oldal harmada a négyzet oldala! A háromszög
16. tétel Egybevágósági transzformációk. Konvex sokszögek tulajdonságai, szimmetrikus sokszögek
16. tétel Egybevágósági transzformációk. Konvex sokszögek tulajdonságai, szimmetrikus sokszögek EGYBEVÁGÓSÁGI TRANSZFORMÁCIÓK Geometriai transzformáció Def:Olyan speciális függvény, melynek értelmezési
Helyvektorok, műveletek, vektorok a koordináta-rendszerben
Helyvektorok, műveletek, vektorok a koordináta-rendszerben. Rajzold meg az alábbi helyvektorokat a derékszögű koordináta-rendszerben, majd számítsd ki a hosszúságukat! a) (4 ) b) ( 5 ) c) ( 6 ) d) (4 )
Matematika A2 vizsga mgeoldása június 4.
Matematika A vizsga mgeoldása 03. június.. (a (3 pont Definiálja az f(x, y függvény határértékét az (x 0, y 0 helyen! Megoldás: Legyen D R, f : D R. Legyen az f(x, y függvény értelmezve az (x 0, y 0 pont
Brósch Zoltán (Debreceni Egyetem Kossuth Lajos Gyakorló Gimnáziuma) Megoldások
Megoldások 1. Határozd meg a szakasz hosszát, ha a végpontok koordinátái: A ( 1; ) és B (5; )! A szakasz hosszához számítsuk ki a két pont távolságát: d AB = AB = (5 ( 1)) + ( ) = 6 + 1 = 7 6,08.. Határozd
Elengedhetetlen a játékokban, mozi produkciós eszközökben Nélküle kvantum hatás lép fel. Az objektumok áthaladnak a többi objektumon
Bevezetés Ütközés detektálás Elengedhetetlen a játékokban, mozi produkciós eszközökben Nélküle kvantum hatás lép fel Az objektumok áthaladnak a többi objektumon A valósághű megjelenítés része Nem tisztán
É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