Képfeldolgozás és Számítógépes Grafika Tanszék 1. A SZÁMÍTÓGÉPES GRAFIKA TÁRGYA, ALKALMAZÁSAI
|
|
- Alfréd Kelemen
- 5 évvel ezelőtt
- Látták:
Átírás
1 . A SZÁMÍTÓGÉPES GRAFIKA TÁRGYA, ALKALMAZÁSAI
2 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 modelljeikből (pl. pontok, élek, lapok) 2
3 Grafika példák 3
4 Tapasztalat, hogy képek formájában az adatok gyorsabban és hatásosabban feldolgozhatók az ember számára Fejlődés: fotózás televízió számítógépes grafika 4
5 Alkalmazási területek felhasználói programokhoz grafikus előtét üzlet, tudomány, technika (pl. dokumentum készítés) számítógéppel segített tervezés (CAD) szimuláció, animáció (pl. tudomány, szórakozás) művészet, kereskedelem folyamatirányítás térképészet 5
6 Történeti áttekintés Kezdetben: képek megjelenítése teletype-on, nyomtatókon 95: MIT: számítógéppel vezérelt képernyő SAGE légvédelmi rendszer (a programok képernyőről történő vezérlése fényceruzával) 6
7 Történeti áttekintés 963: A modern interaktív grafika megjelenése I. Sutherland: Sketchpad Adatstruktúrák szimbolikus struktúrák tárolására Interaktív megjelenítés, választás, rajzolás 7
8 Történeti áttekintés 964: CAD DAC- (IBM) Autók tervezésére (General Motors) 8
9 Történeti áttekintés Lassú fejlődés, mert Drága a hardver Drága számítógépes erőforrások (nagy adatbázis, interaktív manipuláció, intenzív adatfeldolgozás) Nehéz volt nagy programokat írni A szoftver nem volt hordozható 9
10 Történeti áttekintés 96-as évek: Jellemző output-eszköz az ún. vektor-képernyő (szakaszokat rajzol -tól -ig) Részei: Képernyő processzor (DP) - mint I/O periféria kapcsolódik a központi egységhez Képernyő tároló memória - a megjelenítéshez szükséges program és adat tárolására Képernyő - katódsugárcső
11 Történeti áttekintés
12 Történeti áttekintés utasítás koordináták elektromos jel képernyő processzor vektor generátor 3 Hz-es frissítés (foszforeszkáló ernyő - nem villog annyira) 96-as évek vége: DVST (direct-view storage tube) - a látványt közvetlenül tároló cső olcsóbb képernyő kisszámítógép felszabadul a központi gép 2
13 Történeti áttekintés 968: A hardver képes a skálát változtatni, a képet mozgatni, vetületeket előállítani valós időben 97-es évek: Jellemző output eszköz az un. raszter-képernyő (TV - technika), bit-térképes grafika Bit-térkép (bitmap): képek reprezentálása bináris mátrixszal 3
14 Történeti áttekintés A raszteres képernyők a grafikus primitíveket (pixel - képpont) az ún. frissítő tárolóban tartják 4
15 Történeti áttekintés Előnyei: Olcsó logikájú processzor (soronként olvas) A területek színekkel kitölthetők Az ábra bonyolultsága nem befolyásolja a megjelenítés sebességét Hátrányai: A grafikus elemeket (pl. vonal, poligon) át kell konvertálni (RIP - raster image processor) A geometriai transzformációk számításigényesek 5
16 Történeti áttekintés 6
17 Megjelenítés raszteres képernyőn Ideális vonalas rajz Vektoros kép Raszteres kép vonallal Raszteres kép területkitöltéssel 7
18 Történeti áttekintés 98-as évekig: A számítógépes grafika szűk, speciális terület a drága hardver miatt Újdonságok: Személyi számítógépek (Apple Macintosh, IBM PC) Raszteres képernyők Ablak technika (window manager) Eredmény: Sok alkalmazás Sok I/O eszköz (pl. egér, tábla,...) Kevesebbet használjuk a billentyűzetet (menük, ikonok,...) 8
19 Hordozható szoftverek, szabványok Eszköz-függő eszköz független Így lehet "hordozható" a felhasználói szoftver 977: 3D Core Graphics System 985: GKS (Graphical Kernel System) 2D 9
20 Hordozható szoftverek, szabványok 988: GKS - 3D PHIGS (Programmer's Hierarchical Interactive Graphics System) Logikailag kapcsolódó primitívek csoportosítása szegmensekbe 3D primitívek egymásba ágyazott hierarchiája Geometriai transzformációk Képernyő automatikus frissítése, ha az adatbázis változik 992: OpenGL (SGI) 2: WebGL (Khronos Group) 2
21 Interaktív grafikai rendszerek Interaktivitás: A felhasználó vezérli az objektumok kiválasztását, megjelenítését billentyűzetről, vagy egérrel... 2
22 Interaktív grafikai rendszerek Felhasználói modell (adatbázis): Adatok, objektumok, kapcsolatok (adattömb, hálózati adatok listája, relációs adatbázis) Primitívek (pontok, vonalak, felületek) Attribútumok (vonal stílus, szín, textúra) 22
23 Az interaktivitás kezelése Tipikus az esemény-vezérelt programhurok: init(); render(); while(true) { processinput(); update(); render(); } 23
24 A számítógépes grafika osztályozása Dimenzió szerint 2-D 3-D Képfajta szerint vonalas szürke színes (árnyékolt) Kép szerepe szerint Végtermék Közbülső termék Interaktivitás szerint Off-line rajzolás Interaktív rajzolás (változó paraméterek) Objektum előre meghatározása és körüljárása Interaktív tervezés 24
25 2. A 3D MODELLEZÉS ALAPJAI, GRAFIKUS CSŐVEZETÉK 25
26 A 3D számítógépes grafikai modellezés szereplői Tárgy(ak) (geometria, anyag) Fényforrás(ok) (megvilágítás) Kamera (vetítés) Képernyő (raszterizálás) Felhasználó (interakció) 26
27 A grafikus csővezeték Ábra forrása: Nagy Antal Fejlett grafikai algoritmusok c. jegyzet 27
28 A grafikus csővezeték Ábra forrása: Nagy Antal Fejlett grafikai algoritmusok c. jegyzet 28
29 A programozható grafikus csővezeték Ábra forrása: Nagy Antal Fejlett grafikai algoritmusok c. jegyzet 29
30 GRAFIKAI PRIMITÍVEK (OpenGL illusztrációkkal) 3
31 Pontok, vonalak, poligonok Az objektumok és a látvány egyszerű, kicsi alakzatokból épülnek fel Primitívek vagy 2 dimenziós objektumok 3D-s festővászon 3
32 Vertex glvertex() 2, 3 vagy 4 paraméter Különböző típusok glvertex3f(5.f, 5.f,.f) glvertex2f(5.f, 5.f) glvertex4f(5.f, 5.f,.f,.f) nagyítás 32
33 Grafikai primitívek Milyen primitívet kell létrehozni Pl.: az OpenGL-ben: GL_POINTS GL_LINES GL_LINE_STRIP GL_LINE_LOOP GL_TRIANGLES GL_TRIANGLE_STRIP GL_TRIANGLE_FAN GL_QUADS GL_QUAD_STRIP GL_POLYGON 33
34 Grafikai primitívek A primitívek csúcspontjaihoz tulajdonságokat rendelünk. glvertex glcolor glindex glnormal gltexcoord glpointsize Stb. A poligonoknak is vannak tulajdonságai: glmaterial 34
35 Pont méret void glpointsize(glfloat size) Pl.: glpointssize(4); 35
36 Vonal rajzolás glbegin(gl_lines) glvertex3f(.f,.f,.f); glvertex3f(5.f, 5.f, 5.f); glend(); Páratlan számú vertex esetén az utolsót nem veszi figyelembe glbegin(gl_line_strip) /* GL_LINE_LOOP */ glvertex3f(.f,.f,.f); /*v*/ glvertex3f(5.f, 5.f, 5.f); /*v2*/ glvertex3f(5.f,.f,.f); /*v3*/ glend(); GL_LINE_STRIP 36 GL_LINE_LOOP
37 Vonal vastagság gllinewidth(glfloat width) GLfloat sizes[2]; GLfloat step; glgetfloatv(gl_line_width _RANGE, sizes); glgetfloatv(gl_line_width_g RANULARITY, &step); 37
38 Háromszög glbegin(gl_triangles); glvertex2f(.f,.f); /*V*/ glvertex2f(25.f, 25.f); /*V*/ glvertex2f(5.f,.f); /*V2*/ glvertex2f(-5.f,.f); /*V3*/ glvertex2f(-75.f, 5.f); /*V4*/ glvertex2f(-25.f,.f); /*V5*/ glend(): Mindegyik poligon előállítható háromszögekből A videókártyák optimalizálva vannak a háromszögek kirajzolására 38
39 Irányítottság OpenGL-ben alapértelmezésben órajárással ellentétes irányítottságú elölnézet Jobb-sodrású Fontos pl. a színezésnél, hátsó terület elrejtésénél glfrontface(gl_cw) GL_CW GL_CCW 39
40 Háromszögsáv GL_TRIANGLE_STRIP Megőrzi az irányítottságot mindegyik háromszögre Előnyök Az első három pont megadása után egy új háromszöghöz csak egy pontot kell megadni Kevesebb vertex, gyorsabb végrehajtás a transzformációknál 4
41 Háromszög-legyező TRIANGLE_FAN Egy középpontnál kapcsolódó háromszögek csoportja Az első vertex a középpont Órajárással megegyező 4
42 Egyéb primitívek GL_QUADS Négy oldalú poligon GL_QUAD_STRIP Négy oldalú csík GL_POLYGON Általános poligon glrectf(glfloat x, GLfloat y, GLfloat x2, GLfloat y2) Téglalap 42
43 Poligonokra vonatkozó Minden pont egy síkon van szabályok A poligonok élei nem metszhetik egymást Konvex-ek 43
44 3. GEOMETRIAI TRANSZFORMÁCIÓK 44
45 Transzformációs sor 45
46 Számítógépes grafikában gyakran használt 2D és 3D transzformációk eltolás nagyítás, kicsinyítés (skálázás) forgatás 46
47 Pont 2D eltolása A hosszak és a szögek változatlanok y P (x,y ) x =x+d x P(x,y) y =y+d y (oszlop-)vektorokkal: T (d x,d y ) P x y P' x' y' T dx dy x P =P+T 47
48 Szakasz 2D eltolása Elegendő az új végpontokat számolni y B B A =A+T B =B+T A A T x 48
49 2D nagyítás/kicsinyítés A szögek változatlanok Szokták a kettőt együtt skálázásnak említeni Origóból történő nagyítás P x =x s x y =y s y (oszlop-)vektorokkal: P P x y P' x' y' S S x S y P =S P 49
50 2D forgatás A hosszak és a szögek változatlanok Origó körüli forgatás P x = x cos - y sin y = x sin + y cos P P x y P' x' y' R cos sin sin cos P = R P 5
51 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, 2) Egy ponthoz végtelen sok (x,y,w) tartozik Ha w, akkor (x,y) szokásos jelölése (x/w,y/w,) Ha w=, akkor (x,y,w) végtelen távoli pont (,,) nem megengedett! 5
52 Kapcsolat 2D és 3D közt w P(x,y,w) (t x, t y, t w) egyenes a 3D térben végtelen távoli pontok nincsenek a síkon x x w, w y, y P vetülete a w= síkon 52
53 2D eltolás ' ' y x d d y x y x P = T(d x, d y ) P Ismételt eltolások (kompozíció): P P P T(d x, d y ) T(d x2, d y2 ) P = T(d x, d y ) P, P = T(d x2, d y2 ) P = T(d x2, d y2 ) (T(d x, d y ) P), y y x x y x y x y y x x d d d d d d d d d d d d T 53
54 2D skálázás P = S(s x, s y ) P Ismételt skálázások (kompozíció): P P P x' y' sx s y x y S(s x, s y ) S(s x2, s y2 ) P = S(s x, s y ) P, P = S(s x2, s y2 ) P = S(s x2, s y2 ) (S(s x, s y ) P) sx2 sx sx2sx S sx sx2, sysy2 sy2 sy sy2sy 54
55 2D forgatás P =R() P (R() ortogonális) Ismételt forgatások: P = R( ) P, P = R( 2 ) P = R( 2 ) (R( ) P) = R( + 2 ) P cos sin sin cos ' ' y x y x 55
56 2D nyírás A hosszak és a szögek változhatnak Párhuzamos egyenesek képe párhuzamos SH x SH y a SH x b SH y ' ' y ay x y x a y x 56
57 Affin transzformációk Eltolások, skálázások, forgatások és nyírások tetszőleges számú és sorrendű egymás utáni alkalmazásával kapott transzformáció 57
58 Általános kompozíció mátrix Skálázás/forgatás utáni eltolás r: skálázás/forgatás, t: eltolás Az M alakú mátrixokat kompozíció mátrixoknak nevezzük y x y x t r r t r r r r r r t t M 58
59 2D transzformációk kompozíciója. példa Forgatás -val egy tetszőleges P(x,y) pont körül. a) eltolás P-ből O-ba T(-x,-y) b) forgatás az origó körül R() c) eltolás O-ból P-be T(x,y) cos sin sin cos y x y x sin cos cos sin sin cos sin cos x y y x 59
60 2D transzformációk kompozíciója 2. példa Nagyítás egy tetszőleges P(x,y) pontból T(x,y) S(s x,s y ) T(-x,-y) = y y x x y x s y s s x s y x s s y x 6
61 2D transzformációk kompozíciója 3. példa / Világ koordináta rendszer Képernyő koordináta rendszer y (x max, y max ) v (u max,v max ) transzformáció M WV (x min, y min ) (u min,v min ) y T y x S v T 2 v u x x u u 6
62 2D transzformációk kompozíciója 3. példa /2 min min min max min max min max min max min min,,, y x T y y v v x x u u S v u T M wv y x y y v v x x u u v u min min min max min max min max min max min min v y y v v y y y v v u x x u u x x x u u min min max min max min min max min max min min max min max min min max min max 62
63 2D transzformációk kompozíciója 3. példa /3 tehát v y y v v y y y v v u x x u u x x x u u M wv min min max min max min min max min max min min max min max min min max min max min min max min max min min min max min max min, ' v y y v v y y u x x u u x x y x P M P wv 63
64 Gyorsítások M P számításakor: 9 szorzás és 6 összeadás helyett elegendő x = x r + y r 2 + t x r y = x r 2 + y r 22 + t y M kiszámítása, ami csak 4 szorzás r és 4 összeadás 2 r r 2 22 t t x y Ha kicsi szöggel forgatunk, akkor cos, így x = x cos - y sin x - y sin y = x sin + y cos x sin + y, ami csak 2 szorzás és két összeadás (+ sin kiszámítása) 64
65 3D koordináta-rendszerek z z y x y x y x z balkezes bal-sodrású jobbkezes jobb-sodrású 65
66 3D transzformációk - homogén koordináták (x,y,z) megadása homogén koordinátákkal: (x,y,z,) (x,y,z,w) = (x,y,z,w ), ha van olyan α, hogy x = α x, y = α y, z = α z és w = α w Ha w: (x/w,y/w,z/w,) a szokásos jelölés Ha w=: (x,y,z,) végtelen távoli pont Kapcsolat: (x,y,z) - egyenes a 4-dimenziós térben aminek a w= -re való vetülete a homogén koordináta 66
67 3D eltolás mert,, z y x z y x d d d d d d T,, z y x z y x d z d y d x z y x d d d T z y x z y x d d d T d d d T,,,, 67
68 3D skálázás (nagyítás/kicsinyítés) mert,, z y x z y x s s s s s s S,, z y x z y x s z s y s x z y x s s s S / /,, / x y x y z z s s S s s s s 68
69 3D forgatások A z-tengely körül Az x-tengely körül Az y-tengely körül cos sin sin cos z R cos sin sin cos R x cos sin sin cos R y 69
70 3D kompozíció-mártix Ilyen módon hatékonyabban számítható! Skálázás/forgatás utáni eltolás T R t r r r t r r r t r r r M T p p p R M P p p p P
71 3D nyírás (Z mentén), y x y x xy sh sh sh sh SH, z z sh y z sh x z y x sh sh SH y x y x xy mert 7
72 3D síkok transzformációi A sík egyenlete: Ax + By + Cz + D = Legyen P a sík tetszőleges pontja! Ha, akkor a sík normálisa, hiszen N T P = Ha a sík pontjait M-el transzformáljuk, akkor hogy transzformálódik a sík normálisa? z y x P D C B A N 72
73 3D síkok transzformációi Legyen P tetszőleges pont a síkban! Ekkor N T P =. Melyik az a Q mátrix, amelyre (QN) T (MP) =? Ha M - létezik, akkor ((M - ) T N) T (MP) = N T ((M - ) T ) T MP = N T P = Q=(M - ) T N = (M - ) T N (NEM BIZTOS, hogy M inverze létezik! Pl: vetítés) 73
74 3D koordináta-rendszerek váltása / P (j) : a P pont az j koordináta-rendszerben M i j : transzformáció, amely a j koordináta-rendszerbeli pontokat az i koordináta-rendszerbe viszi á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 74
75 3D koordináta-rendszerek váltása /2 Továbbá M i j = M - j i pl: a) Ha M i j =T(t x,t y ), akkor M j i =T(-t x,-t y ). b) Ha R: jobb-kezes koordináta-rendszer L: bal-kezes koordináta-rendszer, akkor M R L M LR 75
76 3D transzformációk alakja különböző koordináta-rendszerekben P (j) : pont a j koordináta-rendszerben Q (j) : transzformáció a j koordináta-rendszerben Melyik az a Q (i), amelyre Q (i) P (i) = M i j Q (j) P (j)? Mivel P (i) = M i j P (j), ezért 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 - 76
77 4. VETÍTÉSEK 77
78 VETÍTÉSEK y z Transzformációk, amelyek n-dimenziós objektumokat kisebb dimenziós terekbe visznek át. Pl. 3D2D x 78
79 Vetítések fajtái / perspektívikus A A B B párhuzamos A A B B Vetítés középpontja Vetítési sík Vetítés középpontja a végtelenben Vetítési sík 79
80 Vetítések fajtái /2 Perspektívikus Párhuzamos Vetítési középpont Vetítési irány közel áll látásunkhoz általában: nem mérhetők a távolságok (rövidülés) és a szögek kevésbé realisztikus mérhető távolságok, szögek változnak 8
81 Perspektív vetítések / A vetítési síkkal nem, de egymással párhuzamos egyenesek vetületei egy pontban metszik egymást = távlatpont Elsődleges távlatpont: valamelyik fő(tengely) irányhoz tartozó távlatpont y z x 8
82 Perspektív vetítések /2 Perspektív vetítések osztályozása: az elsődleges távlatpontok száma szerint (, 2, 3). 82
83 Perspektív vetítések /3. Egypontos perspektív vetítés y y z-tengely távlatpont z Vetítési középpont x Vetítési sík z x 83
84 Perspektív vetítések /4 2. Kétpontos perspektív vetítés y x-tengely távlatpont z Vetítési középpont x z-tengely távlatpont 84
85 Párhuzamos vetítések A párhuzamosság megmarad Osztályozásuk a vetítési irány és a vetítési sík egymáshoz viszonyított helyzete szerint:. Merőleges (ortografikus) 2. Tetszőleges irányú 85
86 Merőleges (ortografikus) / Felülnézet Oldalnézet Előlnézet A párhuzamosság megmarad, a távolságok megmaradnak vagy számíthatók 86
87 Példa 87
88 Amfiteátrium Jerash-ban 88
89 Merőleges (ortografikus) /2 Axonometrikus (nem merőleges egyik tengelyre sem); szög nem marad meg, távolság számítható Izometrikus (a vetítési irány (d x, d y, d z ) minden tengellyel ugyanakkora szöget zár be), azaz d x = d y = d z, ±d x = ±d y = ±d z y 2 2 z 2 x 8 ilyen irány létezik 89
90 Izometrikus vetítés 9
91 Merőleges (ortografikus) /3 y x z 9
92 Tetszőleges irányú z y A vetítési sík normálisa és a vetítési irány nem párhuzamos Leggyakoribb fajtái: x - kavalier - kabinet Vetítési irány A vetítési sík normálisa 92
93 Ferde irányú Kavalier: y y z 45 x z 3 x 93
94 Ferde irányú Kabinet: /2 y y /2 z 45 x z 3 x 94
95 3-D megjelenítés specifikálása / Szükséges: - látótér megadása - vetítés Vetítési sík megadása: egy pontjával - referencia pont (VRP) és a normálisával (VPN) v a fölfelé mutató vektor (VUP) vetülete irányába v mutat VRP VUP u n VPN 95
96 3-D megjelenítés specifikálása /2 3D referencia koordináta rendszer (VRC) megadása: Origó = VRP A tengelyek: n = VPN, v = VUP-nek a vetítési síkra eső vetülete u = olyan, hogy u, v, n jobb-kezes derékszögű koordináta rendszert határozzon meg 96
97 3-D megjelenítés specifikálása /3 Ablak: Téglalap a vetítési síkon. Ami azon belül van, az megjelenik, a többi nem CW a közepe v (U max, V max ) (U min, V min ) n VPN CW u 97
98 3-D megjelenítés specifikálása /4 PRP: vetítési referencia pont: (párhuzamos és perspektív vetítésre is) Perspektívikus vetítésnél v n VPN VRP CW PRP = vetítési középpont u 98
99 3-D megjelenítés specifikálása /5 DOP: vetítési irány DOP CW PRP n VPN DOP VPN DOP VRP PRP CW n VPN DOP VPN VRP 99
100 Fajtái: vágási síkokkal / párhuzamos (ortografikus) párhuzamos (tetszőleges irányú) perspektivikus Képfeldolgozás és Számítógépes Grafika TanszékLátótér maghatározása elülső és hátsó
101 Látótér maghatározása elülső és hátsó vágási síkokkal /2 elülső vágási sík vetítési sík VRP hátulsó vágási sík VPN DOP F elő-táv B utó-táv
102 Látótér maghatározása elülső és hátsó vágási síkokkal /3 Párhuzamos (tetszőleges irányú): elülső vágási sík VPN vetítési sík VRP hátulsó vágási sík DOP F elő-táv B utó-táv 2
103 Látótér maghatározása elülső és hátsó 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 VPN F elő-táv B utó-táv 3
104 Vetítések matematikai leírása 4
105 Perspektívikus vetítések / Az egyszerűség kedvéért tegyük fel hogy: a) A vetítési sík merőleges a z-tengelyre z = d-nél, PRP = 5
106 y x y d d x Perspektívikus vetítések /2 x p y p P(x, y, z) P p (x p, y p, d) z P(x, y, z) P(x, y, z) Hasonló háromszögekből: z z xp x, d z x xp, z d y p y, d z y y p, z d vetületi síkok z 6
107 Perspektívikus vetítések /3 Hasonló háromszögekből:, z, d z y y, d z x x, z y d y, z x d x p p p p tehát d M per, mert d z z y x z y x M per P p, mivel ez homogén koordináta, d d z y d z x d z z y x 7
108 Perspektívikus vetítések /4 z x x p P(x, y, z) z y y p P(x, y, z) d Más lehetőség A vetítési sík merőleges a z-tengelyre z = -ban,,,, d z y y d z x x d z y d y d z x d x p p p p 8
109 Perspektívikus vetítések /5 d M per ',,,, d z y y d z x x d z y d y d z x d x p p p p / / / ' d z y x d z y d z x P per tehát ezért 9
110 p, p p p M P y x z y x z y x P ort Párhuzamos ortografikus vetítés ahol M ort (határértéke M per -nek, d).
111 Vetítések általános alakja / Vetítési sík z-tengely, z = z p -ben, COP Q távolságra van (,, z p )-től x vagy y COP P Q D(d x, d y, d z ) D = P p (x p, y p, z p ) P(x, y, z) z (,, z p )
112 Vetítések általános alakja /2 Parametrikus alak: P = COP + t (P - COP), t[,] másrészt COP = (,, z p ) + Q (d x, d y, d z ), Így x = Q d x + (x - Q d x ) t, y = Q d y + (y - Q d y ) t, z = (z p + Q d z ) + (z - (z p + Q d z )) t. Innen z = z p esetén zp ( zp Q dz ) z z t z ( z Q d ) z Q d p z p p z 2 z
113 Vetítések általános alakja /3 Behelyettesítve és átalakítva:, ' d Q z z d d z d d z x x x z p z x p z x p d Q z z d d z d d z y y y z p z y p z y p ' d Q z z d Q d Q z z d Q z z z z z p z z p 2 p z p p ' 3
114 Vetítések általános alakja /4 Így z z z M z p z z 2 p z p z y z y z x z x Q d z Q d p Q d z Q d z d d p d d d d p d d ált Tartalmazza M per, M per és M ort -ot (még többet is). Pl.: M ort : z p =, Q=, (d x, d y, d z )=(,, -) 4
115 3D megjelenítés implementálása / 3D objektumok 3D objektumok VK-ban kanonikus normalizálás látótérben 3D vágás 2D megjelenített 2D vetített objektum transzformáció objektumok 5
116 3D megjelenítés implementálása /2 A 3D vágás drága művelet, ezért érdemes előtte a 3D objektumokat egy u.n. kanonikus látótérbe transzformálni (normalizálás), ahol a vágás egyszerűbb és gyorsabb. Kanonikus látóterek síkjai: x = -, x = y = -, y = z =, z = - x = z, x = -z y = z, y = -z z = -z min, z = - 6
117 3D megjelenítés implementálása /3 elülső vágási sík x vagy y hátulsó sík -z elülső sík x vagy y hátulsó sík -z - párhuzamos vetítésnél - perspektív vetítésnél 7
118 5. SZÍNMODELLEK 8
119 A látható színek összehasonlítása Név Alias Jel Hullámhossz Szín Arány rho vörös r 59 nm sárga-narancs 3% gamma zöld g 55 nm sárgás zöld 6% beta kék b 44 nm kék ibolya % 9
120 2
121 Összeadó színkeverés 2
122 Kivonó színkeverés 22
123 RGB (Red, Green, Blue vörös, zöld, kék) Additív komponensek: Alkalmas súlyokkal vett összegük ad egy összetett színt Pl. színes képernyőnél 23
124 RGB (Red, Green, Blue vörös, zöld, kék) Vörös Zöld Kék Cián Sárga Bíborehér 24
125 CMY (Cyan, Magenta, Yellow türkiz, bíbor, sárga) Szubtraktív komponensek: Sokszor szűrőként használjuk, hogy kiszűrjék a fehérből a megfelelő színt Pl. színes nyomtatóknál 25
126 CMY (Cyan, Magenta, Yellow türkiz, bíbor, sárga) Türkiz Bíbor Sárga Vörös Zöld Kék Fekete 26
127 CMY (Cyan, Magenta, Yellow türkiz, bíbor, sárga) Konverzió: RGB CMY RGB CMY 27
128 CMYK (Cyan,Magenta,Yellow, BlacK - Key : fekete) Türkiz Bíbor Sárga Vörös Zöld Kék Fekete 28
129 CMYK (Cyan,Magenta,Yellow, BlacK - Key : fekete) CMY CMYK konverzió: K = min {C, M, Y} C = C K M = M K Y = Y K 29
130 HSV (Hue,Saturation,Value árnyalat,telítettség,fényesség) Esztétikai alapú (ahogy a festők keverik a színeket) 3
131 6. ÁRNYALÁS, A MEGVILÁGÍTÁS MODELLJEI 3
132 Világító tárgyak Minden tárgynak saját intenzitású fénye van A megvilágítás egyenlete: I = k i k i - a tárgy saját fényének az intenzitása független a pont helyzetétől 32
133 Környezeti (szórt - ambient) fény Minden irányból egyenletes A megvilágítás egyenlete: I = I a k a I a : környezeti fény intenzitása k a : a környezeti fény visszaverődési együtthatója (anyagtól függ), k a 33
134 Diffúz (diffuse) visszaverődés Lambert-féle visszaverődés Minden irányban ugyanannyi fényt ver vissza A felület fényessége (I) függ a fényforrás iránya (L) és a felület normálisa (N) közötti szögtől: N, L egységvektorok I = I p k d cos Θ = I p k d ( N L ) I p : a pontforrás intenzitása k d : a szórt visszaverődés együtthatója (anyagtól függ), k d 34
135 Környezeti fény és diffúz visszaverődés együtt I = I a k a + I p k d ( N L ) Ha a fényforrás és a tárgy közötti távolságot (d L ) is figyelembe vesszük, akkor: I = I a k a +I p /d L2 k d ( N L ) = f att (fényelnyelődési faktor) 35
136 Színes fény és felületek Színes fény és felületek esetén a komponensekre: I R = I ar k a O dr + f att I pr k d O dr ( N L ) I G =... I B =... O dr a tárgy szórt vörös komponense I pr a megvilágítás vörös komponens k d O dr visszaverődési hányad komponense... Általában: I λ = I aλ k a O dλ + f att I pλ k d O dλ ( N L ) ahol λ a hullámhossz 36
137 Tükröző (specular) visszaverődés Fényes felületekről (tükörről) 37
138 Tükröző (specular) visszaverődés Phong-féle modell: I λ = I aλ k a O dλ + f att I pλ [ k d O dλ cosθ + W(θ) cos n α ] n: a tükrözési visszaverődés kitevője (csillogás) (tompa) n (éles fény) W(θ): a tükrözötten visszaverődő fény hányada, lehet konstans, k s ( k s ) 38
139 Tükröző (specular) visszaverődés A tárgy anyagát is figyelembe véve: I λ = I aλ k a O dλ + f att I pλ [ k d O dλ (N L) + k s O sλ (R V) n ] Több fényforrásra: I λ = I aλ k a O dλ + f att I pλ [ k d O dλ (N L) + k s O sλ (R V) n ] 39
140 Megvilágítási modellek (példa) szórt diffúz tükröző, csillogás = 2 szórt + diffúz + tükröző 4
141 Poligonokból álló felületek fényességének meghatározása Minden pontban kiszámítjuk a megvilágítási egyenlet szerinti intenzitást (nagyon drága módszer) 4
142 Konstans fényesség Az egész poligon ugyanolyan intenzitású Jó, ha: végtelen távoli fényforrás (N L konstans) végtelen távoli megfigyelő (R V konstans) poligon oldalú felület 42
143 Interpolált fényesség Az intenzitást a csúcsokban számított intenzitásból kapjuk interpolációval 43
144 Poligon-hálózat fényessége Az egyes poligonok konstans fényessége csak kiemelné a poligonok közötti éleket 44
145 Mach-féle hatás Az intenzitás változását eltúlozva érezzük ott, ahol az intenzitás folytonossága megszűnik 45
146 Poligon-hálózat fényessége Mach-hatás Megoldás: minden poligon fényességét változó intenzitásúnak generáljuk 46
147 Gouraud-féle fényesség. A poligonok normálisait ismerve határozzuk meg a csúcspontok normálisait (pl. az ott érintkező poligonok normálisainak átlagaként) 2. Számoljuk ki az intenzitásokat a csúcspontokban (itt a normális már ismert) 3. Az élek mentén lineáris interpolációval számoljuk az intenzitást 4. Az élek között (a pásztázó vonalak mentén) lineáris interpolációval számoljuk az intenzitást 47
148 Gouraud-féle fényesség 48
149 Phong-féle fényesség. A normálvektorokat számoljuk ki a csúcspontokban 2. Interpolációval a csúcspontok között az élek mentén a normálvektorokat 3. Interpolációval az élek között 4. Intenzitás számítása Sokszor jobb, mint a Gouraud-féle módszer 49
150 Gouraud v. Phong-féle fényesség 5
151 Phong- és Gouraud-féle fényesség Konstans Gouraud Phong 5
152 Példák Konstans Gouraud Phong 52
153 Példák szórt Phong (szórt + diffúz) Phong (szórt + diffúz + tükröző) 53
154 7. VONALAS PRIMITÍVEK RASZTERIZÁLÁSA 54
155 Algoritmusok raszteres Feladat grafikához grafikai primitíveket (pl. vonalat, síkidomot) ábrázolni kép-mátrixszal, meghatározni azokat a képpontokat, amelyek a primitív pontjai, vagy közel vannak a primitívhez Modell képpont (= körlap), amely a négyzetháló csúcspontjaiban helyezhető el a koordináták egész számok 55
156 Egyenes rajzolása Tegyük fel, hogy "vékony" egyenes: y = mx+b A meredeksége: < m < (m =,,... triviális speciális esetek) más esetekben visszavezetjük az < m < esetre Legyen: x < x, y < y 56
157 Alap inkrementális algoritmus Haladjunk x = növekménnyel balról jobbra, válasszuk a legközelebbi képpontot: (x i, [y i +.5]) = (x i, [mx i +b+.5]) A szorzás kiküszöbölhető inkrementálással: y i+ =mx i+ +b=m(x i +x)+b=y i +m x=y i +m 57
158 Program (ha m >, akkor x-et cseréljük y-nal) procedure Line(x,y, x,y, value: integer); var x : integer; dy,dx,y,m : real; begin dy := y-y; dx := x-x; m := dy/dx; y := y; for x := x to x do begin WritePixel(x, Round(y), value); y := y+m end end; {Line} 58
159 Felezőpont algoritmus Egész aritmetika elegendő (Bresenham) Elv: Azt a képpontot válasszuk NE és E közül, amelyik közelebb van a Q metszésponthoz Másképp: az döntsön a választásban, hogy Q az M felezőpont melyik oldalán van Tegyük fel, hogy: x < x, y < y egyenesre 59
160 Felezőpont algoritmus egyenesre Az (x, y ) és (x, y ) ponton átmenő egyenes egyenlete: (x x ) / (y y ) = (x x ) / (y y ) Legyen dx = x x ( > ), dy = y y ( > ), akkor: x dy y dx + y dx x dy = Legyen: F(x,y) = x dy y dx + y dx x dy { >, ha az egyenes (x, y) fölött fut, F(x,y) =, ha (x, y) az egyenesen van, <, ha az egyenes (x, y) alatt fut. 6
161 Felezőpont kritérium az egyenes választás: { >, M fölött, NE d = F(M) = F(x p +,y p +½) =, M-en át, NE vagy E (d : döntési változó) <, M alatt E fut A következő pontnál: ha E-t választottuk, akkor E = d új d régi = F(x p +2,y p +½) F(x p +,y p +½) = dy, ha NE-t választottuk, akkor NE = F(x p +2,y p +3/2) F(x p +,y p +½) = dy dx 6
162 Felezőpont algoritmus egyenesre Kezdés: d start = F(x +,y +½) = F(x,y )+dy dx/2 = dy dx/2 Azért, hogy egész aritmetikával számolhassunk, használjuk inkább az alábbi függvényt F(x,y) = 2 (x dy y dx + y dx x dy) 62
163 Program procedure MidpointLine (x,y,x,y,value: integer); var dx,dy,incre,incrne,d,x,y : integer; begin dx := x-x; dy := y-y; d := 2*dy-dx; incre := 2*dy; incrne := 2*(dy-dx); x := x; y := y; WritePixel(x,y,value); while x < x do begin if d <= then begin x := x + ; d := d + incre; end else begin x := x + ; y := y + ; d := d + incrne; end; WritePixel(x,y,value) end {while} end; {MidpointLine} 63
164 Tulajdonságok csak összeadás és kivonás általánosítható körre, ellipszisre 64
165 . probléma Különböző pontsorozat lesz az eredmény ha balról jobbra, vagy ha jobbról balra haladunk. Legyen a választás: balról jobbra: d = E-t választani jobbról balra: d = SW-t választani Megjegyzés: Nem mindig lehet csak balról jobbra haladva rajzolni az egyeneseket. Pl. szaggatott vonallal rajzolt zárt poligon 65
166 2. probléma A vonal pontjainak a sűrűsége függ a meredekségétől Megoldás: intenzitás változtatása, kitöltött téglalapnak tekinteni az egyenes pontjait 66
167 Kör rajzolása x²+y² = R² R : egész Elég egy kör-negyedet megrajzolni (a többi rész a szimmetria alapján transzformációkkal - pl. tükrözés - előáll) x -tól R-ig növekszik, y = R² - x² Drága eljárás (szorzás, gyökvonás) Nem egyenletes 67
168 Polárkoordinátás alak Elég egy nyolcad kört kiszámítani: x = R cos Θ y = R sin Θ Θ -tól 9 -ig növekszik Drága eljárás (sin, cos) 68
169 Program procedure Circlepoints(x, y, value: integer); begin WritePixel ( x, y, value); WritePixel ( y, x, value); WritePixel ( y, -x, value); WritePixel ( x, -y, value); WritePixel (-x, -y, value); WritePixel (-y, -x, value); WritePixel (-y, x, value); WritePixel (-x, y, value); end; {CirclePoints} 69
170 Felezőpont algoritmus körre x -tól R / 2 -ig (amíg x y) Elv: E és SE közül azt a pontot választjuk, amelyikhez a körív metszéspontja közelebb van 7
171 Felezőpont algoritmus körre F(x,y) = x²+y² R² { >, ha (x,y) kívül van =, ha (x,y) rajta van <, ha (x,y) belül van d = F(M) = F(x p +, y p ½) { > SE-t választani = SE vagy E < E-t választani 7
172 Felezőpont algoritmus körre A következő pontnál: ha E-t választottuk, akkor E = d új d régi = F(x p +2,y p ½) F(x p +,y p ½) = = 2x p +3 ha SE-t választottuk, akkor SE = F(x p +2,y p 3/2) F(x p +,y p ½) = = 2x p 2y p +5 72
173 Felezőpont algoritmus körre Az iterációs lépések: a döntési változó előjele alapján kiválasztjuk a következő képpontot d = d + SE vagy d + E (a választástól függően) Figyeljük meg: d értéke egész számmal változik! Kezdés: kezdőpont: (, R) felezőpont: (, R /2) d = F(, R /2) = 5/4 R 73
174 Program procedure MidpointCircle (radius, value : integer); var x, y : integer; d: real; begin x := ; y := radius; d := 5/4-radius; CirclePoints (x,y,value); while y>x do begin if d< then begin x := x+; d := d+2*x+3; end else begin x := x+; y := y-; d := d+2*(x-y)+5; end; CirclePoints (x,y,value) end {while} end; {MidpointCircle} 74
175 Felezőpont algoritmus körre Nem egész aritmetika, ezért legyen h új döntési változó: h = d ¼ h+¼ = d < Ekkor kezdéskor h = R Kezdetben és a későbbiek során is h egész szám! Igaz, hogy d < helyett h < -¼ -et kellene vizsgálni, de ez h egész volta miatt ekvivalens h < -val, tehát egész aritmetika használható. 75
176 Program procedure MidpointCircle (radius, value : integer); var x,y,d : integer; begin x := ; y := radius; h := -radius; CirclePoints (x,y,value); while y>x do begin if h< then begin x := x+; h := h+2*x+3; end else begin x := x+; y := y-; h := h+2*(x-y)+5; end; CirclePoints (x,y,value) end {while} end; {MidpointCircle} 76
177 Másodrendű differenciák Stratégia: egy függvény értéke becsülhető két pontban felvett értékei különbségét használva (ami polinomok esetében alacsonyabb fokszámú lesz) használjunk első- és másodrendű parciális differenciákat 77
178 Kör rajzolása tudjuk, hogy E (x p,y p ) = 2 x p +3 SE (x p,y p ) = 2 x p -2 y p +5, ha E-t választottuk (x p,y p ) (x p +,y p ), E új - E régi = 2, SE új - SE régi = 2 ha SE-t választottuk (x p,y p ) (x p +,y p -) E új - E régi = 2, SE új - SE régi = 4 78
179 Kör rajzolása tehát az iterációs lépések: d előjele alapján a következő képpont kiválasztása d = d+ (a választástól függően E vagy SE ) E és SE módosítása (a választástól függően) 79
180 Program procedure MidpointCircle (radius,value : integer); var x,y,d,deltae,deltase : integer; begin x := ; y := radius; d := -radius; deltae := 3; deltase := -2*radius+5; CirclePoints(x,y,value); while y>x do begin if d< then begin d := d+deltae; deltae:=deltae+2; deltase:=deltase+2; x := x+ end else begin d := d+deltase; deltae:=deltae+2; deltase:=deltase+4; x := x+; y := y- end; CirclePoints(x,y,value) end {while} end; {MidpointCircle} 8
181 Ellipszis rajzolása F(x,y) = b²x² + a²y² a²b² a,b egész Szimmetria miatt: elég az első síknegyedben megrajzolni 8
182 Ellipszis rajzolása Da Silva algoritmusa (felezőpont módszer) Bontsuk a negyedet két tartományra Az. tartományban: a² (y p ½) > b² (x p +) 82
183 Da Silva algoritmusa Az. tartományban: d = F(x p +,y p ½) { SE-t választjuk < E-t választjuk { { d régi d új = F(x p +,y p ½) F(x p +2,y p 3/2) d régi d új = F(x p +,y p ½) F(x p +2,y p ½) SE = b² (2x p +3) + a² ( 2y p +2) E = b² (2x p +3) 83
184 Da Silva algoritmusa Kezdés: kezdőpont: (, b) felezőpont: (, b ½) d = F(, b ½) = b² + a² ( b + ¼) A 2. tartományban hasonlóan 84
185 Program procedure MidpointEllipse (a,b,value : integer); var x,y: integer; d,d2: real; begin x := ; y := b; a2:=a*a; b2:= b*b; d := b2-a2b+a2/4; EllipsePoints (x,y,value); while (a2(y-/2) > b2(x+)) do begin if d< then begin d := d+b2(2x+3); x := x+ end else begin d := d+b2(2x+3)+a2(-2y+2); x := x+; y := y- end EllipsePoints (x,y,value) end; {Region} d2 := b2(x+/2)2+a2(y-)2-a2b2; while (y>) do begin if d2< then begin d2 := d2+b2(2x+2)+a2(-2y+3); x := x+; y := y- end else begin d2 := d2+a2(-2y+3); y := y- end; EllipsePoints (x,y,value) end {Region2} end; {MidpointEllipse} 85
186 Vastag primitívek rajzolása Több képpontnyi vastagságú vonalak Milyen alakú legyen az ecset? Kör? Téglalap? Forduljon a vonallal? 86
187 Képpontok ismétlése A pásztázó vonalas algoritmus kiterjesztése: ha -<m<, akkor a képpontokat többszörözzük meg az oszlopokban; különben a sorokban 87
188 Képpontok ismétlésének tulajdonságai gyors a vonal végek mindig vízszintesek vagy függőlegesek a vonal vastagsága függ a meredekségtől a duplázás nem megy: a vonal valamelyik oldala felé vastagabb Jó módszer, ha nem túl vastag a vonal 88
189 Mozgó ecset Téglalap alakú ecset, aminek a középpontja (vagy csúcspontja) az pixel vastag vonalon mozog (az ecset nem "forog") 89
190 Mozgó ecset tulajdonságai hasonló a képpont ismétléshez, de a végpontokban vastagabb 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 pixel vastag vonal minden pontjába 9
191 Területkitöltés Terület primitíveknél elég a külső határvonalhoz a külsőt, belsőhöz a belsőt meghatározni 9
192 Területkitöltés tulajdonságai ugyanolyan jó páros és páratlan vastagra a vonal vastagsága nem függ a meredekségtől Kör esetén: külső és belső kör Ellipszis esetén: a t/2, b t/2 a + t/2, b + t/2 belső külső ellipszisek 92
193 Közelítés vastag szakaszokkal Szakaszonként lineáris approximáció szép vastag vonalakat simán kell illeszteni 93
194 8. TERÜLETI PRIMITÍVEK RASZTERIZÁLÁSA 94
195 Grafikai primitívek 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 Csak a határvonalat reprezentáló pontok kirajzolásával (kitöltetlen) Minden belső pont kirajzolásával (kitöltött) 95
196 Grafikai primitívek kitöltése Alapkérdés: Mely képpontok tartoznak a grafikai primitívekhez? Páratlan paritás szabálya: Páros számú metszéspont: külső pont Páratlan számú metszéspont: belső pont 96
197 Grafikai primitívek kitöltése Elv: Balról jobbra haladva minden egyes pásztázó (scan) vonalon kirajzoljuk a primitív belső pontjait (egyszerre egy szakaszt kitöltve) 97
198 Grafikai primitívek kitöltése Csúcspontok metszésekor: Ha a metszett csúcspont lokálisminimum vagy maximum, akkor kétszer számítjuk, különben csak egyszer 2 98
199 Téglalap kitöltése Probléma: Az egész koordinátájú határpontok hova tartozzanak? for y from ymin to ymax for x from xmin to xmax WritePixel (x,y,value) 99
200 Téglalap kitöltése Legyen a szabály pl.: Egy képpont akkor nem tartozik a primitívhez, ha a rajta áthaladó él, és a primitív által meghatározott félsík a képpont alatt, vagy attól balra van. Pl.: Vagyis a pásztázó vonalon a kitöltési szakasz balról zárt, jobbról nyitott 2
201 Téglalap kitöltése Megjegyzések: Általánosítható poligonokra A felső sor és jobb szélső oszlop hiányozhat A bal alsó sarok kétszeresen tartozhat téglalaphoz 2
202 Poligon kitöltése A poligon lehet: konvex konkáv önmagát metsző lyukas Haladjunk a pásztázó egyeneseken és keressük a kitöltési szakaszok végpontjait: 22
203 Poligon kitöltése a) A felezőpont algoritmus szerint választjuk a végpontokat (azaz, nem számít, hogy azok a poligonon kívül, vagy belül vannak) 23
204 Poligon kitöltése b) A végpontokat a poligonhoz tartozó képpontok közül választjuk 24
205 Algoritmus poligonok kitöltésére Minden pásztázó egyenesre:. A pásztázó egyenes és a poligon élei metszéspontjainak a meghatározása 2. A metszéspontok rendezése növekvő x- koordinátáik szerint 25
206 Algoritmus poligonok kitöltésére 3. A poligon belsejébe tartozó szakasz(ok) végpontjai közötti képpontok kirajzolása Használjuk a páratlan paritás szabályát: Tegyük fel, hogy a bal szélen kívül vagyunk, utána minden egyes metszéspont megváltoztatja a paritást belül belül kívül kívül kívül 26
207 Algoritmus poligonok kitöltésére 3.. Adott x nem egész értékű metszéspont Ha kívül vagyunk, akkor legyen a végpont a fölfelé kerekített x Ha belül vagyunk, akkor legyen a végpont a lefelé kerekített x 3.2. Adott x egész értékű metszéspont Ha ez bal végpont, akkor ez belső pont Ha ez jobb végpont, akkor ez külső pont 27
208 Algoritmus poligonok kitöltésére A poligon csúcspontjaiban ymin csúcspont beszámít a paritásba ymax csúcspont nem számít a paritásba, tehát ymax csúcspont csak akkor lesz kirajzolva, ha az egyben a szomszédos él ymin pontja is Vízszintes él esetén Az alsó élet rajzolunk, felsőt nem. Az ilyen élek csúcspontjai nem számítanak a paritásba 28
209 Megjegyzések Diszjunkt poligonoknak lehet közös képpontjuk Szilánkok keletkezhetnek olyan poligon-területek, amelyek belsejében nincs kitöltendő szakasz = hiányzó képpontok 29
210 Megjegyzések 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-edik pásztázó vonalról az i+-edikre átlépve 2
211 Poligon kitöltése Tegyük fel hogy: m> [x i ] {x i } [x i +] = [x i ] vagy [x i ] + {x i +} = {x i } vagy {x i } 2
212 Poligon kitöltése Tegyük fel, hogy a bal határon vagyunk! Ha {x i } =, akkor (x, y)-t rajzolni kell (a vonalon van) Ha {x i }, akkor fölfelé kell kerekíteni x- et (belső pont) Egész értékű aritmetika használható: törtrész helyett a számláló és nevező tárolása 22
213 Program procedure LeftEdgeScan (xmin, ymin, xmax, ymax, value :integer); var x, y, numerator, denominator, increment : integer; begin x := xmin; numerator := xmax-xmin; denimonator := ymax-ymin; increment := denominator; for y := ymin to ymax do begin WritePixel (x,y,value); increment := increment+numerator; if increment > denominator then begin x := x+; increment := increment-denominator end; end end; 23
214 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, ahány pásztázó vonal, minden listában az élek az alsó végpont x koordinátája szerint rendezettek 24
215 Adatstruktúrák AÉT: (Aktív Élek Táblázata) Azokat az éleket tartalmazza rendezve, amelyeknek a metszéspontjai kitöltési szakaszokat határoznak meg az aktuális pásztázó vonalon Ez is lista 25
216 Algoritmus poligon kitöltésére. ÉT kialakítása. 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: 26
217 Algoritmus poligon kitöltésére 3. ÉT-ből az y-hoz tartozó listát AÉT-ba másoljuk és AÉT-t x szerint rendezzük 3.2 A kitöltési szakaszok pontjainak a megjelenítése 3.3 AÉT-ből kivesszük azokat az éleket, amelyekre ymax = y (a következő pásztázó egyenessel nincs közös részük) 3.4 y = y+ 3.5 Minden AÉT-beli élben módosítjuk x-et 27
218 Megjegyzés Háromszögekre, trapézokra egyszerűsíthető, mert a pásztázó egyeneseknek max 2 metszéspontja lehet a primitívvel 28
219 Kör, ellipszis kitöltése P belül van, ha F(P) <, de most is használható a felezőpont módszer (nem kell ÉT csak 2 metszéspont lehet) Hasonló algoritmussal számíthatók a kitöltési szakaszok 29
220 Kitöltés mintával Általában: terület kitöltése szabályosan ismétlődő grafikus elemekkel Képmátrixok (raszter) esetében a cella egy (kisméretű) mátrix Lehet a kitöltés "átlátszó" is: nem minden képpontot írunk felül, csak azokat, ahol a minta nem 22
221 Mintával kitöltés fajtái 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ó (a mintázat a primitívhez van rögzítve) 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) 22
222 Kitöltés mintával Legyen: minta M * N -es mátrix minta [,] képernyő [,] ekkor. módszer: Pásztázás soronként (átlátszó) if minta [x mod M, Y mod N] then 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) 222
223 Kitöltés mintával 2. módszer: Téglalap írás Csak akkor érdemes használni, ha a primitívet sokszor kell használni Pl. karakterek megjelenítése 223
224 Kitöltés mintával 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: (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 224
225 Textúrák Képek feszítése a poligonokra Nagy számításigényű Textúra ~ kép D-s textúra 2D Windows.bmp 3D (volume) MRI 256x256x256 OpenGL.2 225
226 Textúra koordináták gltexcoord{dfi}( s ) gltexcoord2{dfi}( s, t ) (.,.) (.,.) 226
227 Textúra csomagolás A textúra koordináták.-. között vannak Koordináták kívül kerülnek összekapcsolódnak ismétlődnek További keret (border) pixelek: a keret pixeleket használja majd gltexparameteri(gl_texture_2d,gl_texture_s, wrap) gltexparameteri(gl_texture_2d,gl_texture_t, wrap) wrap GL_CLAMP GL_REPEAT 227
228 Mipmapped textúrák Mip = many = sok Több szintű részletek Távolság függő Hosszabb betöltési idő Hatásosabb vizuális eredmény Gyorsabb megjelenítés Definiálás a szint megadásával a glteximaged,... fv.-eknél legnagyobb felbontású GL_TEXTURE_MIN_FILTER static unsigned char im[6][3]; static unsigned char im[8][3]; static unsigned char im2[4][3]; glteximaged(gl_texture_d,, 3, 6,, GL_RGB, GL_UNSIGNED_BYTE, im); glteximaged(gl_texture_d,, 3, 6,, GL_RGB, GL_UNSIGNED_BYTE, im); glteximaged(gl_texture_d, 2, 3, 6,, GL_RGB, GL_UNSIGNED_BYTE, im2); 228
229 . GRAFIKUS PRIMITÍVEK VÁGÁSA 229
230 Vágás A primitívekből csak annyit szabad mutatni, amennyi látszik belőlük (takarás, kilóg a képből) 23
231 Módszerek. Vágjuk le a megjelenítés előtt, azaz számítsuk ki a metszéspontokat és az új végpontokkal rajzoljunk 2. Ollózás: 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 23
232 Pontok vágása (x,y) belül van, ha és x min y min x x max y y max 232
233 Szakaszok vágása egyenletrendszer megoldásával 233
234 Szakaszok vágása egyenletrendszer megoldásával Elég a végpontokat vizsgálni: Ha mindkét végpont belül van, akkor a teljes szakasz belül van, nincs vágás Ha pontosan egy végpont van belül, akkor metszéspontot kell számolni és vágni 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 234
235 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) 235
236 Szakaszok vágása egyenletrendszer megoldásával Javítás: parametrikus alak x = x + t (x x ) y = y + t (y y ) t [,] (szakaszt ír le) 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 [,], akkor belül van Még így sem hatékony a módszer, mert sokat kell ellenőrizni és számolni 236
237 Cohen-Sutherland-féle szakasz vágás (x, y ) és (x 2, y 2 ) a szakasz két végpontja A végpontok kódolása: Minden végpont annak megfelelő kódot (code, code 2 ) kap, hogy melyik tartományban van 237
238 Cohen-Sutherland-féle szakasz vágás. Ha a végpontok belül vannak, akkor nincs mit vágni (triviális elfogadás) code = code 2 = code OR code 2 = FALSE (bitenként) 238
239 Cohen-Sutherland-féle szakasz vágás 2. Ha x,x 2 < x min vagy x,x 2 > x max vagy y,y 2 < y min vagy y,y 2 > y max akkor minden kívül van (triviális elvetés) code AND code 2 = TRUE (bitenként) 239
240 Cohen-Sutherland-féle szakasz vágás 3. az (x,y ) (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), és 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ő 24
241 Tulajdonságok Interaktív módon is használható Hatékony, mert gyakran sok vagy kevés szakasz van belül A legáltalánosabban használt eljárás 24
242 Parametrikus szakasz vágó algoritmus P(t) = P + (P P ) t = P + D t D A metszéspontra (skalárszorzat): N i (P(t) P E i ) = N i (P + D t P E i ) = t = Ha N i D N i (P P E i ) N i D P kívül belül P Ei N i <, akkor belép a félsíkba, =, akkor párhuzamos a félsík élével, >, akkor kilép a félsíkból. D E i él P 242
243 Parametrikus szakasz vágó algoritmus Meghatározható az egyenesnek a téglalap 4 egyenesével való 4 metszéspontja (4 db t érték) Melyik két t a megfelelő? Belépő pontok Legyen t E = max {, max{t PE }} t L = min {, min{t PL }} Kilépő pontok 243
244 Parametrikus szakasz vágó algoritmus Ha t E > t L, akkor nincs belső metszés Ha t E, t L [,], akkor ez belső szakasz különben P E olyan pont, ahol P -ból P -felé haladva belépünk egy belső félsíkba, ekkor N i (P P ) < és P L olyan pont, ahol P -ból P -felé haladva kilépünk egy belső félsíkból, ekkor N i (P P ) > t E t L t E t L 244
245 Parametrikus számítás él i vágás N i P Ei P P Ei bal x=x min (, ) (x min, y) (x x min, y y) jobb x=x max (, ) (x max, y) (x x max, y y) lent y=y min (, ) (x, y min ) (x x, y y min ) fent y=y max (, ) (x, y max ) (x x, y y max ) t N x x x y y y i x P N i x x x y P D min y y y max x min max y 245 Ei
246 Parametrikus szakasz vágó algoritmus begin Ni kiszámítása, PEi kiválasztása; for szakaszokra if P = P then pont vágása; else begin te = ; tl = ; D = P-P; for élekkel való metszéspontokra if Ni*D <> then begin t kiszámítása. Ni*D <: PE, >: PL; if PE then te = max(te,t); if PL then tl = min(tl,t) end; if te > tl then nincs metszéspont else P(tE) és P(tL) metszéspont end end 246
247 Poligonok vágása Sok eset lehet: Általában minden éllel vágni kell 247
248 Sutherland-Hodgman-féle poligon-vágás Vágjunk egyenként az összes éllel (v,v 2,...,v n ) (v',v' 2,...,v' m ) csúcspontok új csúcspontok 248
249 2. LÁTHATÓSÁG, TAKARÁS 249
250 Látható felszín meghatározása Adott 3D tárgyak egy halmaza és egy projekció specifikációja Mely vonalak és felületek lesznek láthatók? Melyek lesznek takarva? Nehéz feladat (időigényes) 25
251 . megközelítés for minden képpontra do begin határozzuk meg azt a tárgyat, amelyet a nézőpontból a képponton keresztül húzott egyenes leghamarabb metsz rajzoljuk ki a képpontot a megfelelő színben end A szükséges idő: O(np) n: a tárgyak száma p: a képpontok száma 25
252 2. megközelítés for minden tárgyra do begin határozzuk meg a tárgynak azokat a részeit, amelyek nincsenek takarásban saját maga vagy más tárgyak miatt a kiválasztott részeket rajzoljuk ki a megfelelő színben end A szükséges idő: O(n 2 ) n: a tárgyak száma 252
253 A látható felszín meghatározására szolgáló általános algoritmusok A tárgyak takarják-e egymást? Mely tárgy látható? Általánosan: nehéz probléma 253
254 Pontok láthatósága P = (x, y, z ) és P 2 = (x 2, y 2, z 2 ) Takarja-e egyik a másikat? Ha ugyanazon a vetítési sugáron vannak, akkor a közelebbi takarja a másikat, különben nem 254
255 Mélységbeli összehasonlítás Helye: a normalizálási transzformáció után, ekkor párhuzamos vetítésnél: a vetítési sugarak párhuzamosak a z- tengellyel, ekkor P és P 2 ugyanazon a vetítési sugáron van, ha x = x 2 és y = y 2 perspektív vetítésnél: a vetítési sugarak COV-ből indulnak ki, ekkor P és P 2 ugyanazon a vetítési sugáron van, ha x / z = x 2 / z 2 és y / z = y 2 / z 2 255
256 Kanonikus térfogat Perspektív vetítésnél azt a transzformációt használjuk, amely a perspektív kanonikus térfogatot átviszi párhuzamos kanonikus térfogatba 256
257 Kanonikus térfogatba transzformáló mátrix Perspektív kanonikus térfogatot párhuzamos kanonikus térfogatba transzformáló mátrix Ekkor a vetítési sugarak már párhuzamosak a z-tengellyel, így egyszerűbben végezhető a vágás 257
258 Határoló-téglalap teszt Ha a határoló téglalapok nem fedik egymást, akkor a vetületek sem fedik egymást, különben további vizsgálat szükséges y z x 258
259 Min-max teszt -dimenziós kiterjedés (határoló intervallum) A kiterjedés minimális és maximális értékeinek összehasonlításával döntjük el a takarást A kiterjedés meghatározása: a tárgy (csúcs)pontjaihoz tartozó koordináták min. és max. értékeiből z min2 z max2 z min z max z 2 x 259
260 Hátra néző lapok kiválogatása Tegyük fel, hogy a tárgy poligon határú síklapokkal határolt és adottak a síklapoknak a tárgyból kifelé mutató normálisai. Ekkor azok a lapok nem láthatók, amelyek normálisai a "megfigyelőtől ellentétes irányba mutatnak 26
261 Hátra néző lapok kiválogatása n : normális (n x,n y,n z ) v : COV-ből a poligon tetszőleges pontjába mutat Ha n v < előre néz > hátra néz = csak az éle látszik Speciálisan: Az (x,y) síkra történő ortografikus vetítés esetén Ha n z < hátra néz > előre néz = csak az éle látszik 26
262 Térbeli partícionálás Észrevétel: nem minden tárgynak van minden vetítési sugárral metszéspontja (pl. távol vannak, más irány) osszuk fel (partícionáljuk) a képernyőt Meghatározzuk, hogy mely tárgyak vetülete van benne a megfelelő részben (partícióban) és csak azokkal keresünk metszéspontokat 262
263 Térbeli partícionálás Ez jó módszer, ha a tárgyak vetületei egyenletesen oszlanak el a teljes képernyőn, különben különböző méretű partíciókat érdemes készíteni: kisebb partíciót ott, ahol több tárgy vetülete van 263
264 pl. Hierarchikus struktúrák alkalmazása épület. emelet 2. emelet 3. emelet. lakás 2. lakás Ha a vetítési sugár nem metszi az épületet, akkor az emeleteit és az emeletek lakásait sem (tehát nem kell vizsgálni azokat) 264
265 Z-buffer vagy mélység-puffer Kép alapú algoritmus F : kép-puffer (képpontok tárolására) kezdeti értéke: háttérszín Z : mélység-puffer (minden pontban a megfelelő z érték) kezdeti értéke: z-max (hátsó vágási sík) Pásztázás közben F-be és Z-be bekerül az új pont, ha nincs messzebb, mint az eddigi z érték 265
266 Mélység-puffer A hátsó vágási sík a z = 266
267 Z-buffer algoritmus? 267
268 Tulajdonságok Nincs tárgyak rendezése, összehasonlítása, metszéspontok számítása Poligononként végezhető el, "poligonok összeadása" Nem csak poligonokra jó Nagy helyigény, de lehet sávonként haladni Könnyű implementálni Könnyű egy újabb tárgy képét hozzávenni és utána elvenni (maszkolás) Az értékek felhasználhatók terület és térfogat számításra 268
269 Z-buffer algoritmus Szín puffer Mélység puffer 269
270 Lista-prioritás algoritmusok Meghatározzák a tárgyaknak azt a sorrendjét, ami a kép kirajzolásához kell Pl.: Ha a z értékekben nincs átfedés, akkor a tárgyakat növekvő z értékük szerint kell rendezni és utána távolról közelre haladva megjeleníteni Néha még akkor is lehet ilyen sorrendet megadni, ha a z értékekben van átfedés, de nem mindig Ilyenkor szétvágjuk a tárgyakat és a darabokat rendezzük sorba 27
271 Mélység szerint rendező algoritmus. Rendezzük a poligonokat legtávolabbi z koordinátájuk szerint 2. Vágjuk szét az átfedő poligonokat (ha szükséges) 3. Pásztázzunk minden poligont hátulról előre haladva Ha a poligonok párhuzamos síkokban fekszenek, akkor a 2. lépés kimaradhat 27
272 Festő algoritmus 272
273 Mélység szerint rendező algoritmus Tegyük fel hogy a P poligon legtávolabbi z koordinátája szerint a lista végén van. Pásztázás előtt össze kell hasonlítani a lista azon Q elemeivel, amelyeknek z irányú kiterjedése átfedi P z irányú kiterjedését, és meg kell vizsgálni, hogy P átfedi-e Q-t? 273
274 P átfedi-e Q-t?. ha P és Q x kiterjedése nem átfedő, akkor nem; 2. ha P és Q y kiterjedése nem átfedő, akkor nem; 3. ha COV-ból nézve P teljes terjedelmében Q síkjának a túlsó oldalán van, akkor nem; 4. ha COV-ból nézve Q teljes terjedelmében P síkjának az innenső oldalán van, akkor nem; 5. ha P és Q xy síkra való vetülete nem átfedő, akkor nem; különben (hátha Q-t kell előbb rajzolni): 3 ha COV-ból nézve Q teljes terjedelmében a P síkjának a túlsó oldalán van, akkor P Q csere; 4 ha COV-ból nézve P teljes terjedelmében a Q síkjának az innenső oldalán van, akkor P Q csere; különben P-t vagy Q-t fel kell darabolni a másik síkjával majd feldarabolt helyett a darabokat kell beilleszteni a listába 274
275 Fedési hurkok Végtelen ciklust eredményezne, ezért megjelöljük azokat a poligonokat, amelyeket egyszer már a lista végére tettünk és ha újra előjönnek, akkor darabolunk 275
276 Bináris tér-partícionáló (BSP) fa algoritmus Ötlet: Ha van olyan sík, amely a tárgyakat (teljes egészükben) két féltérbe osztja, akkor a COV-t tartalmazó féltér tárgyait nem takarhatják el a másik féltér tárgyai BSP fa: Csomópontok - poligonok (darabjai) bal oldalra: azok a poligonok, amelyek elöl vannak (később kell rajzolni) jobb oldalra: azok a poligonok, amelyek hátul vannak (korábban kell rajzolni) A csomóponthoz tartozó poligon síkjával darabolhatjuk a többi poligont és azok darabjaival folytathatjuk a fát 276
277 Bináris tér-partícionálás 277
278 Pásztázó vonal algoritmus Hasonló a poligonok kitöltését végző algoritmushoz Vízszintesen pásztázunk Most több poligon lehet 278
279 ÉT (élek táblázata) A poligonok nem vízszintes éleit tartalmazza az élek kisebbik y-koordinátája szerint növekvő, ezen belül az élek meredeksége szerint csökkenő sorrendbe rendezve Egy elem részei: a kisebb y-koordinátájú csúcspont x-koordinátája a másik csúcspont y-koordinátája x növekménye: x = /m poligon azonosító 279
280 PT (poligonok táblázata) Egy elem részei: a sík egyenletének együtthatói: Ax + By + Cz + D = színezési információ ki-be jelző (kezdő érték: ki) azonosító ÉT: AB, AC, FD, FE, CB, DE PT: ABC, DEF 28
281 AÉT (aktív élek táblázata) α: AB, AC ABC be ki β: AB, AC, FD, FE ABC DEF be ki be ki γ: AB, DE, CB, FE ABC be ki DEF be ki Balról jobbra, alulról felfelé haladva A síkok egyenletéből dönthető el, hogy melyik van közelebb 28
282 Gyorsítás Ha a poligonokat felvágjuk a metszeteik mentén, akkor nem kell minden pontban megvizsgálni a poligonok sorrendjét, elegendő csak akkor, ha egy "takaró" poligon véget ér 282
283 Terület-osztó algoritmus Ha egy területen könnyen eldönthető, hogy melyik poligon jeleníthető meg, akkor azt rajzoljuk ki, különben osszuk fel a területet, és alkalmazzuk az eljárást a rész területekre 283
284 Poligon és téglalap viszonya Tartalmazó poligon Metsző poligon Tartalmazott poligon Idegen poligon 284
285 Mikor dönthető el könnyen, hogy mi rajzolható? Minden poligon idegen a területtől (háttér) Egyetlen metsző vagy tartalmazott poligon (háttér + pásztázással poligon) Egyetlen tartalmazó poligon (rajz a poligon színével) Van olyan tartalmazó poligon, amelyik a többi előtt van 285
286 Látható élek meghatározása Tárgy-alapú módszerek Output: látható élek listája 286
287 Robert-féle algoritmus Síklapokkal határolt konvex testek éleire. A hátrafelé néző lapok meghatározása 2. A hátrafelé néző lapok közös élei elhagyhatók (azok nem láthatók) 3. Minden megmaradt élt minden testtel összehasonlítunk (kiterjedés vizsgálattal sok test triviálisan kizárható) Esetek: Az élet egy test teljesen eltakarja Az élnek egy szakasza látszik a test mögül Az élnek két szakasza látszik a (konvex) test mögül 287
288 Appel-féle algoritmus Az élek pontjaihoz hozzárendel egy egész számot (kvantitatív láthatatlanság): a pontot takaró előre néző lapok száma A pont látható kvantitatív láthatatlanság = 288
289 Appel-féle algoritmus A kvantitatív láthatatlanság számítása: ++, ha az él előre néző poligon mögé megy - -, ha az él előre néző poligon mögül jön ki A kvantitatív láthatatlanság csak akkor változik, ha az él egy un. kontúr vonal mögött halad Kontúr vonal: előre és hátra néző lap közötti él 289
290 Appel-féle algoritmus Az algoritmus kétféle megvalósítása:. Kiválasztunk egy csúcspontot, meghatározzuk a kvantitatív láthatatlanságát (direkt módszer) 2. Haladjunk az éleken és közben módosítsuk a kvantitatív láthatatlansági értéket, érték esetén rajzolunk 29
291 Megszakított vonalak A látható vonal algoritmusok arra is használhatók, hogy a nem látható vonalak szaggatottak, pontozottak, halványabbak vagy megszakítottak legyenek (b): mintha minden vonalnak lenne egy takaró sávja, ami eltakarja a mögötte lévő részeket 29
292 Megszakított vonalak A megszakított vonalak rajzolásához csak a metszéspontok környezetében kell módosítani az algoritmust Algoritmus: Minden vonalhoz megkeressük az előtte levőket Csak a látható szakaszokat őrizzük meg Ha minden metszésponttal végeztük, akkor rajzolunk 292
293 Példák 293
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észletesebbenTerü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észletesebbenAlgoritmusok 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észletesebbenTranszformá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észletesebbenTerü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észletesebbenTerü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észletesebbenKé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észletesebbenMá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észletesebbenAlgoritmusok 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észletesebbenAlgoritmusok 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észletesebbenMá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észletesebbenLá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észletesebbenMá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észletesebbenMá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észletesebben3D 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észletesebbenSzegedi 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észletesebbenInformá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észletesebbenMá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észletesebbenx = 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észletesebbenSzá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
RészletesebbenMá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észletesebbenKlá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észletesebbenTartalom. 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észletesebbenTranszformá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észletesebbenLá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
RészletesebbenTranszformá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észletesebben2014/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
RészletesebbenSzá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
RészletesebbenSZE, 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
RészletesebbenVektorok é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,
RészletesebbenHajder 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
RészletesebbenHajder 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
RészletesebbenCohen-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észletesebbenInfobionika 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ó
RészletesebbenKoordiná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
RészletesebbenSzámítási feladatok a Számítógépi geometria órához
Számítási feladatok a Számítógépi geometria órához Kovács Zoltán Copyright c 2012 Last Revision Date: 2012. október 15. kovacsz@nyf.hu Technikai útmutató a jegyzet használatához A jegyzet képernyőbarát
Részletesebben8. előadás. Kúpszeletek
8. előadás Kúpszeletek Kör A k kört egyértelműen meghatározza C(a,b) középpontja és r sugara. A P pont pontosan akkor van k-n, ha CP=r. Vektoregyenlet: p-c = r. Koordinátás egyenlet: (X-a)2 + (Y-b)2 =
RészletesebbenÖsszeállította: dr. Leitold Adrien egyetemi docens
Az R 3 tér geometriája Összeállította: dr. Leitold Adrien egyetemi docens 2008.09.08. 1 Vektorok Vektor: irányított szakasz Jel.: a, a, a, AB, Jellemzői: irány, hosszúság, (abszolút érték) jel.: a Speciális
RészletesebbenModellezé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észletesebbenMatematika 11 Koordináta geometria. matematika és fizika szakos középiskolai tanár. > o < szeptember 27.
Matematika 11 Koordináta geometria Juhász László matematika és fizika szakos középiskolai tanár > o < 2015. szeptember 27. copyright: c Juhász László Ennek a könyvnek a használatát szerzői jog védi. A
Részletesebben6. 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.
Részletesebben10. 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
Részletesebben9. előadás. Térbeli koordinátageometria
9. előadás Térbeli koordinátageometria Koordinátageometria a térben Descartes-féle koordinátarendszerben dolgozunk. A legegyszerűbb alakzatokat fogjuk vizsgálni. Az ezeket leíró egyenletek első-, vagy
RészletesebbenMáté: Számítógépes grafika alapjai
Világító tárgyak Környezeti fény Szórt visszaverődés Környezeti fény és diffúz visszaverődés együtt Tükröző visszaverődés fényességének meghatározása Gouraud-féle fényesség Phong-féle fényesség a. Világító
RészletesebbenVIK A2 Matematika - BOSCH, Hatvan, 3. Gyakorlati anyag. Mátrix rangja
VIK A2 Matematika - BOSCH, Hatvan, 3. Gyakorlati anyag 2019. március 21. Mátrix rangja 1. Számítsuk ki az alábbi mátrixok rangját! (d) 1 1 2 2 4 5 1 1 1 1 1 1 1 1 2 1 2 1 1 0 1 1 2 1 0 1 1 1 1 2 3 1 3
Részletesebben(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
RészletesebbenFü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
RészletesebbenAz egyenes és a sík analitikus geometriája
Az egyenes és a sík analitikus geometriája Az egyenes a kétdimenziós koordinátarendszerben A kétdimenziós koordinátarendszerben az egyenest egy n(a, B) normálvektorával és egy r 0 helyvektorú P(x 0,y 0
Részletesebben2D képszintézis. Szirmay-Kalos László
2D képszintézis Szirmay-Kalos László 2D képszintézis Modell szín (200, 200) Kép Kamera ablak (window) viewport Unit=pixel Saját színnel rajzolás Világ koordinátarendszer Pixel vezérelt megközelítés: Tartalmazás
RészletesebbenElengedhetetlen 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
RészletesebbenGrafikus 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észletesebben9. Írjuk fel annak a síknak az egyenletét, amely átmegy az M 0(1, 2, 3) ponton és. egyenessel;
Síkok és egyenesek FELADATLAP Írjuk fel annak az egyenesnek az egyenletét, amely átmegy az M 0(,, ) ponton és a) az M(,, 0) ponton; b) párhuzamos a d(,, 5) vektorral; c) merőleges a x y + z 0 = 0 síkra;
Részletesebben= Y y 0. = Z z 0. u 1. = Z z 1 z 2 z 1. = Y y 1 y 2 y 1
Egyenes és sík a térben Elméleti áttekintés Az egyenes paraméteres egyenlete: X = u 1 λ + x 0 Y = u λ + y 0, Z = u λ + z 0 ahol a λ egy valós paraméter Az u = (u 1, u, u ) az egyenes irányvektora és P
RészletesebbenFirst Prev Next Last Go Back Full Screen Close Quit
Többváltozós függvények (2) First Prev Next Last Go Back Full Screen Close Quit 1. Egyváltozós függvények esetén a differenciálhatóságból következett a folytonosság. Fontos tudni, hogy abból, hogy egy
Részletesebben1. 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,
RészletesebbenLineáris algebra zárthelyi dolgozat javítókulcs, Informatika I. 2005.márc.11. A csoport
Lineáris algebra zárthelyi dolgozat javítókulcs, Informatika I. 2005.márc.11. A csoport 1. Egy egyenesre esnek-e az A (2, 5, 1), B (5, 17, 7) és C (3, 9, 3) pontok? 5 pont Megoldás: Nem, mert AB (3, 12,
RészletesebbenKlá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
RészletesebbenKoordináta geometria III.
Koordináta geometria III. TÉTEL: A P (x; y) pont akkor és csak akkor illeszkedik a K (u; v) középpontú r sugarú körre (körvonalra), ha (x u) 2 + (y v) 2 = r 2. Ez az összefüggés a K (u; v) középpontú r
Részletesebben5 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
RészletesebbenNagy András. Feladatok a koordináta-geometria, egyenesek témaköréhez 11. osztály 2010.
Nagy András Feladatok a koordináta-geometria, egyenesek témaköréhez 11. osztály 010. Feladatok a koordináta-geometria, egyenesek témaköréhez 11. osztály 1) Döntsd el, hogy a P pont illeszkedik-e az e egyenesre
RészletesebbenAz egyenlőtlenség mindkét oldalát szorozzuk meg 4 16-al:
Bevezető matematika kémikusoknak., 04. ősz. feladatlap. Ábrázoljuk számegyenesen a következő egyenlőtlenségek megoldáshalmazát! (a) x 5 < 3 5 x < 3 x 5 < (d) 5 x
RészletesebbenMATEMATIKA É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
RészletesebbenSkalá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ó
RészletesebbenLin.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?
Részletesebben1. ábra. 24B-19 feladat
. gyakorlat.. Feladat: (HN 4B-9) A +Q töltés egy hosszúságú egyenes szakasz mentén oszlik el egyenletesen (ld.. ábra.). Számítsuk ki az E elektromos térerősséget a vonal. ábra. 4B-9 feladat irányában lévő,
RészletesebbenRobotika. 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
RészletesebbenAnalitikus térgeometria
5. fejezet Analitikus térgeometria Kezd és végpontjuk koordinátáival adott vektorok D 5.1 A koordináta-rendszer O kezd pontjából a P pontba mutató OP kötött vektort a P pont helyvektorának nevezzük. T
RészletesebbenRegresszió számítás. Tartalomjegyzék: GeoEasy V2.05+ Geodéziai Kommunikációs Program
Regresszió számítás GeoEasy V2.05+ Geodéziai Kommunikációs Program DigiKom Kft. 2006-2010 Tartalomjegyzék: Egyenes x változik Egyenes y változik Egyenes y és x változik Kör Sík z változik Sík y, x és z
RészletesebbenHajder Levente 2017/2018. II. félév
Hajder Levente hajder@inf.elte.hu Eötvös Loránd Tudományegyetem Informatikai Kar 2017/2018. II. félév Tartalom 1 Sugár és sík metszéspontja Sugár és háromszög metszéspontja Sugár és poligon metszéspontja
RészletesebbenGeometriai 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
RészletesebbenMatematika (mesterképzés)
Matematika (mesterképzés) Környezet- és Településmérnököknek Debreceni Egyetem Műszaki Kar, Műszaki Alaptárgyi Tanszék Vinczéné Varga A. Környezet- és Településmérnököknek 2016/2017/I 1 / 29 Lineáris tér,
Részletesebbenegyenletrendszert. 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,
RészletesebbenTranszformációk síkon, térben
Transzformációk síkon, térben Leképezés, transzformáció Leképezés: Ha egy A ponttér pontjaihoz egy másik B ponttér pontjait kölcsönösen egyértelműen rendeljük hozzá, akkor ezt a hozzárendelést leképezésnek
RészletesebbenA +Q töltés egy L hosszúságú egyenes szakasz mentén oszlik el egyenletesen (ld ábra ábra
. Gyakorlat 4B-9 A +Q töltés egy L hosszúságú egyenes szakasz mentén oszlik el egyenletesen (ld. 4-6 ábra.). Számítsuk ki az E elektromos térerősséget a vonal irányában lévő, annak.. ábra. 4-6 ábra végpontjától
RészletesebbenQ 1 D Q 2 (D x) 2 (1.1)
. Gyakorlat 4B-9 Két pontszerű töltés az x tengelyen a következőképpen helyezkedik el: egy 3 µc töltés az origóban, és egy + µc töltés az x =, 5 m koordinátájú pontban van. Keressük meg azt a helyet, ahol
RészletesebbenMATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK MEGOLDÁSAI KÖZÉP SZINT. Koordináta-geometria
MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK MEGOLDÁSAI KÖZÉP SZINT 1) Adott két pont: A 4; 1 felezőpontjának koordinátáit! AB felezőpontja legyen F. Koordináta-geometria és B 3 1; Írja fel az AB szakasz 1 3 4
RészletesebbenMatematika 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
RészletesebbenAnalitikus térgeometria
Analitikus térgeometria Wettl Ferenc el adása alapján 2015.09.21. Wettl Ferenc el adása alapján Analitikus térgeometria 2015.09.21. 1 / 23 Tartalom 1 Egyenes és sík egyenlete Egyenes Sík 2 Alakzatok közös
RészletesebbenMechatronika 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
Részletesebben17. előadás: Vektorok a térben
17. előadás: Vektorok a térben Szabó Szilárd A vektor fogalma A mai előadásban n 1 tetszőleges egész szám lehet, de az egyszerűség kedvéért a képletek az n = 2 esetben szerepelnek. Vektorok: rendezett
RészletesebbenSegédlet: Főfeszültségek meghatározása Mohr-féle feszültségi körök alkalmazásával
Segédlet: Főfeszültségek meghatározása Mohr-féle feszültségi körök alkalmazásával Készítette: Dr. Kossa Attila (kossa@mm.bme.hu) BME, Műszaki Mechanikai Tanszék 212. október 16. Frissítve: 215. január
RészletesebbenI. Vektorok. Adott A (2; 5) és B ( - 3; 4) pontok. (ld. ábra) A két pont által meghatározott vektor:
I. Vektorok 1. Vektorok összege Általánosan: Az ábra alapján Adott: a(4; 1) és b(; 3) a + b (4 + ; 1 + 3) = (6; ) a(a 1 ; a ) és b(b 1 ; b ) a + b(a 1 + b 1 ; a + b ). Vektorok különbsége Általánosan:
RészletesebbenMegoldás: Mindkét állítás hamis! Indoklás: a) Azonos alapú hatványokat úgy szorzunk, hogy a kitevőket összeadjuk. Tehát: a 3 * a 4 = a 3+4 = a 7
A = {1; 3; 5; 7; 9} A B = {3; 5; 7} A/B = {1; 9} Mindkét állítás hamis! Indoklás: a) Azonos alapú hatványokat úgy szorzunk, hogy a kitevőket összeadjuk. Tehát: a 3 * a 4 = a 3+4 = a 7 Azonos alapú hatványokat
RészletesebbenMáté: Számítógépes grafika alapjai
Tükröző (specular) visszaverődés Tükröző (specular) visszaverődés Fényes felületekről (tükörről) Phong-féle modell: I λ = I aλ k a + f att I pλ [ k d cos θ + W (θ) cos n α ] n: a tükrözési visszaverődés
RészletesebbenA kör. A kör egyenlete
A kör egyenlete A kör A kör egyenlete 8 a) x + y 6 b) x + y c) 6x + 6y d) x + y 9 8 a) x + y 6 + 9 b) x + y c) x + y a + b 8 a) (x - ) + (y - ) 9, rendezve x + y - 8x - y + b) x + y - 6x - 6y + c) x +
RészletesebbenHajder Levente 2017/2018. II. félév
Hajder Levente hajder@inf.elte.hu Eötvös Loránd Tudományegyetem Informatikai Kar 2017/2018. II. félév Tartalom 1 2 3 Geometriai modellezés feladata A világunkat modellezni kell a térben. Valamilyen koordinátarendszer
Részletesebben1. Bevezetés 1. Köszönetnyilvánítás 1. 2. A számítógépes játékfejlesztésről 3
1. Bevezetés 1 Köszönetnyilvánítás 1 2. A számítógépes játékfejlesztésről 3 2.1. Néhány tanács játékfejlesztőknek 3 2.2. Hogyan fogjunk saját játék írásához? 4 2.3. A számítógépes játék főbb elemei 9 3.
RészletesebbenBrósch Zoltán (Debreceni Egyetem Kossuth Lajos Gyakorló Gimnáziuma) Geometria III.
Geometria III. DEFINÍCIÓ: (Vektor) Az egyenlő hosszúságú és egyirányú irányított szakaszoknak a halmazát vektornak nevezzük. Jele: v. DEFINÍCIÓ: (Geometriai transzformáció) Geometriai transzformációnak
RészletesebbenTé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
RészletesebbenKoordináta-geometria. Fogalom. Jelölés. Tulajdonságok, definíciók
Koordináta-geometria Fogalom Ezen a helyen találkozik össze a számtan és a mértan. Körök, egyenesek, háromszögek és más egyéb alakzatok, de nem szerkesztenünk kell, vagy méricskélni, hanem számolni, viszont
RészletesebbenTermék modell. Definíció:
Definíció: Termék modell Összetett, többfunkciós, integrált modell (számítógépes reprezentáció) amely leír egy műszaki objektumot annak különböző életfázis szakaszaiban: tervezés, gyártás, szerelés, szervízelés,
RészletesebbenFeladatok a Gazdasági matematika II. tárgy gyakorlataihoz
Debreceni Egyetem Közgazdaságtudományi Kar Feladatok a Gazdasági matematika II tárgy gyakorlataihoz a megoldásra ajánlott feladatokat jelöli e feladatokat a félév végére megoldottnak tekintjük a nehezebb
RészletesebbenSzá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
RészletesebbenGeometria II gyakorlatok
Geometria II gyakorlatok Kovács Zoltán Copyright c 2011 Last Revision Date: 2012. május 8. kovacsz@nyf.hu Technikai útmutató a jegyzet használatához A jegyzet képernyőbarát technikával készült, a megjelenés
RészletesebbenSzí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
RészletesebbenKép mátrix. Feladat: Pap Gáborné-Zsakó László: Algoritmizálás, adatmodellezés 2/35
Grafika I. Kép mátrix Feladat: Egy N*M-es raszterképet nagyítsunk a két-szeresére pontsokszorozással: minden régi pont helyébe 2*2 azonos színű pontot rajzolunk a nagyított képen. Pap Gáborné-Zsakó László:
RészletesebbenA 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
RészletesebbenMATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK MEGOLDÁSAI KÖZÉP SZINT Koordináta-geometria
MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK MEGOLDÁSAI KÖZÉP SZINT Koordináta-geometria 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
RészletesebbenVektorok összeadása, kivonása, szorzás számmal, koordináták
Vektorok összeadása, kivonása, szorzás számmal, koordináták 1. Mik lesznek a P (3, 4, 8) pont C (3, 7, 2) pontra vonatkozó tükörképének a koordinátái? 2. Egy szabályos hatszög középpontja K (4, 1, 4),
Részletesebben1. tétel. 1. Egy derékszögű háromszög egyik szöge 50, a szög melletti befogója 7 cm. Mekkora a háromszög átfogója? (4 pont)
1. tétel 1. Egy derékszögű háromszög egyik szöge 50, a szög melletti befogója cm. Mekkora a háromszög átfogója? (4 pont). Adott az ábrán két vektor. Rajzolja meg a b, a b és az a b vektorokat! (6 pont)
Részletesebben