2D képszintézis Szirmay-Kalos László. Számítógépes grafika feladata képszintézis Virtuális világ modell modellezés Metafórák: 2D rajzolás világ = sík.

Slides:



Advertisements
Hasonló előadás
Koordináta transzformációk 2
Advertisements

L ÁTHATÓSÁG MEGHATÁROZÁSA tavaszi félév.
Grafika. 2 Mértékek és koordináta rendszer Használjuk a RGB és QBColor függvényeket a színekhez Grafika létrehozása Load/change picture futási időben.
 Árnyalási egyenlet  Saját emisszió  Adott irányú visszaverődés.
Koordináta transzformációk
Koordináta transzformációk
2D képszintézis Szirmay-Kalos László.
Geometriai Transzformációk
2D grafikus rendszerek Szirmay-Kalos László. 2D grafikus editor: GUI, use-case, dinamikus modell L L L R LD LU MouseLDown első pont MouseLDown második...
Geometriai transzformációk
Inkrementális 3D képszintézis
GPU Szirmay-Kalos László.
Geometriai modellezés
2D grafikus rendszerek Szirmay-Kalos László.
Sugárkövetés: ray-casting, ray-tracing
Animáció Szirmay-Kalos László. Animáció = időfüggés T1(t)T1(t) T2(t)T2(t) TV(t)TV(t) Transzformációk alak szín megjelenítési attribútumok, stb.
Inkrementális 3D képszintézis Szirmay-Kalos László.
Geometriai modellezés
Számítógépes grafika és képfeldolgozás
Számítógépes grafika Szirmay-Kalos László
Sugárkövetés: ray-casting, ray-tracing Szirmay-Kalos László.
Számítógépes grafika Szirmay-Kalos László
3D képszintézis fizikai alapmodellje
Virtuális világ tárolása Szirmay-Kalos László. Belső világ tárolása l Geometria: pontok koordinátái l Topológia: élek-pontok; lapok-pontok;... l hierarchia:
Bevezetés.  A számítógépes grafika inkrementális képszintézis algoritmusának hardver realizációja  Teljesítménykövetelmények:  Animáció: néhány nsec.
Nemlinearitás: a bináris technika alapja
Csoportosítás megadása: Δx – csoport szélesség
GRAFIKUS PRIMITÍVEK KITÖLTÉSE
Egyensúly és stabilizációs politika
A számítógépi grafika matematikai háttere
Számítógépes grafika, PPKE-ITK, Benedek Csaba, D képszintézis 4. előadás.
Számítógépes grafika, PPKE-ITK, Benedek Csaba, 2010 Geometriai modellezés 2. előadás.
Textúrák, világmodellek
Színek és megvilágítás
A számítógépes grafika céljai és feladatai
A számítógépes grafika céljai és feladatai
Gazdálkodási modul Gazdaságtudományi ismeretek I. Közgazdaságtan KÖRNYEZETGAZDÁLKODÁSI MÉRNÖKI MSc TERMÉSZETVÉDELMI MÉRNÖKI MSc.
2D képszintézis és textúrák
TÖMEGKÖZÉPPONT A kiterjedt test egy idealizált, elméletileg meghatározott pontja, amelyben a testszegmensek súlyerejének forgatónyomatéka nulla.
TÖMEGKÖZÉPPONT A kiterjedt test egy idealizált, elméletileg meghatározott pontja, amelyben a testszegmensek súlyerejének forgatónyomatéka nulla.
Branch & bound módszer. A megoldandó feladat: P(x) = 8x 1 + 5x 2  MAX x 1 + x 2
Relációk.
6. A 3D grafika alapjai 6.1. A 3D szerelőszalag fölépítése
AAO Csink László november.
Fraktálok Szirmay-Kalos László.
Pixel műveletek, képek Szirmay-Kalos László.
Grafikus alaphardver Szirmay-Kalos László. Jelfeldolgozási megközelítés modellezés modell képszintézis Digitális kép megjelenítés Analog Digitál Képinformáció.
Sugárkövetés: ray-casting, ray-tracing
Csipkézettség csökkentés (anti-aliasing) Szirmay-Kalos László.
Vektorok különbsége e-x = [ex-xx ey-xy ez-xz] e e-x x szempozíció
Sugárkövetés: ray-casting, ray-tracing
2D képszintézis Szirmay-Kalos László.
Analitikus geometria gyorstalpaló
Inkrementális 3D képszintézis Szirmay-Kalos László.
Számítógépes grafika Bevezetés
Animáció Szirmay-Kalos László.
Transzformációk Szirmay-Kalos László. Transzformációk (x,y) (x’,y’) = T(x,y) l Tönkre tehetik az egyenletet l Korlátozzuk a transformációkat és az alakzatokat.
2D grafikus rendszerek Szirmay-Kalos László.
Inkrementális 3D képszintézis
Fotorealisztikus képszintézis valós időben Szirmay-Kalos László, Csébfalvi Balázs BME IIT.
Számítógépes grafika, PPKE-ITK, Benedek Csaba, 2010 Színek és megvilágítás 5. előadás.
Számítógépes grafika I. AUTOCAD alapok 2. előadás.
Bevezetés - Vonalak. Koordinátarendszer Windows form x y Az y lefelé nő Transzformáció a hagyományosra x Eltolás y Ellentett és eltolás.
Számítógépes grafika, PPKE-ITK, Benedek Csaba, 2010 Geometriai modellezés 2. előadás.
Informatikai eszközök a virtuális valóság szolgálatában Hapák József ELTE-IK X. Eötvös Konferencia.
A számítógépes grafika alapjai, PPKE-ITK, Benedek Csaba, 2010 Tanagyag forrás © Szirmay-Kalos László, BME A számítógépes grafika céljai és feladatai 1.
Képek, képfeldolgozás Szirmay-Kalos László.
Számítógépes grafika, PPKE-ITK, Benedek Csaba, 2010
Grafikus szoftver Szirmay-Kalos László. Interaktív programok felépítése input csővezeték output csővezeték.
C/C++, hobbi játékprogramozás
Előadás másolata:

2D képszintézis Szirmay-Kalos László

Számítógépes grafika feladata képszintézis Virtuális világ modell modellezés Metafórák: 2D rajzolás világ = sík

Rasztergrafikus rendszerek LUT

2D képszintézis

Vektorizáció [0,1]: 0, t 1, t 2,..., t n, 1 r 1 =r(0), r 2 = r(t 2 ), …, r n = r(1) r1r1 r(t)r(t) r2r2 rn rn

Modellezési transzformáció [x, y] = o +  u +  v u x u y 0 v x v y 0 o x o y 1 [x, y, 1] = [ , , 1] TMTM

Ablak-nézet transzformáció X = (x-w x ) v w /w w + v x Y = (y-w y ) v h /w h + v y v w /w w 0 0  v h /w h 0 v x -w x v w /w w v y -w y v h /w h 1 [X, Y, 1] = [x, y, 1] TVTV

Összetett transzformáció l T V nézeti transzformáció számítása l for each object o –T M előállítása –T C = T M T V –for each point of object o: transzformáció T C -vel l endfor [X, Y, 1] = ([ , , 1] T M ) T V [X, Y, 1] = [ , , 1] (T M T V ) = [ , , 1] T C

Vágás l Vektorizáció miatt: pont, szakasz, poligon –Pontok vágása x > x min, x y min, y < y max x min x max y min y max

Szakasz vágás félsíkra l x(t) = x 1 + (x 2 - x 1 )t, y(t) = y 1 + (y 2 - y 1 )t l x = x max – Metszéspont: – x max = x 1 + (x 2 - x 1 )t  t = (x max -x 1 )/(x 2 -x 1 ) l x i = x max y i = y 1 + (y 2 - y 1 ) (x max -x 1 )/(x 2 -x 1 ) x1, y1x1, y1 x2, y2x2, y2 x max xi, yixi, yi

Cohen-Sutherland vágás

#define Code(p) ((p.x < xmin) + ((p.y < ymin)<<1) + \\ ((p.x > xmax) ymax)<<3) bool LineClip(Vector& p1, Vector& p2) { for( ; ; ) { int c1 = Code(p1), c2 = Code(p2); if (c1 == 0 && c2 == 0) return true; if ((c1 & c2)) return false; if ((c1 & 1)) p1 = IntersectX(p1, p2, xmin); else if ((c1 & 2)) p1 = IntersectY(p1, p2, ymin); else if ((c1 & 4)) p1 = IntersectX(p1, p2, xmax); else if ((c1 & 8)) p1 = IntersectY(p1, p2, ymax); else if ((c2 & 1)) p2 = IntersectX(p1, p2, xmin); else if ((c2 & 2)) p2 = IntersectY(p1, p2, ymin); else if ((c2 & 4)) p2 = IntersectX(p1, p2, xmax); else if ((c2 & 8)) p2 = IntersectY(p1, p2, ymax); } Cohen-Sutherland algoritmus

Sutherland-Hodgeman poligonvágás PolygonClip(p[n]  q[m]) m = 0; for( i=0; i < n; i++) { if (p[i] belső) { q[m++] = p[i]; if (p[i+1] külső) q[m++] = Intersect(p[i], p[i+1], vágóegyenes); } else { if (p[i+1] belső) q[m++] = Intersect(p[i], p[i+1], vágóegyenes); }

Pászta konverzió (raszterizáció) transzformációvágás raszterizációPixel műveletek rasztertár model Geometriai primitívek: microsec / primitív Pixelek nanosec / pixel

Szakasz rajzolás Egyenes egyenlete: y = mx + b Egyeneshúzás for( x = x1; x <= x2; x++) { Y = m*x + b; y = Round( Y ); write( x, y ); } x1x2

Inkrementális elv l Y(X) kiszámítása –Y(X) = F( Y(X-1) ) = Y(X-1) + dY/dX l Szakasz rajzolás: Y(X) = mX + b –Y(X) = F( Y(X-1) ) = Y(X-1) + m l Összeadás: fixpontos ábrázolás: y = Y 2 T –T: hiba < 1 a leghosszabb műveletsornál –N 2 -T log 2 N –round( y ): y+0.5-t csonkítjuk

DDA szakaszrajzolás DDADrawLine(x1, y1, x2, y2) { m = (y2 - y1)/(x2 - x1) y = y FOR X = x1 TO x2 { Y = round(y)trunc(y) WRITE(X, Y, color) y = y+m }

DDA szakaszrajzoló hardver X számlálóy regiszter x1 m y1 0.5 = XY  CLK

Terület elárasztás működése Flood(x, y) { if (pixel[x][y] belső pont) { Write(x, y, color); Flood(x, y-1); Flood(x, y+1); Flood(x-1, y); Flood(x+1, y); } Belső pont = sötétkék mag

Területkitöltés l Geometriai reprezentáció alapján –p1,p2,...,pn csúcsok –p1-p2, p2-p3,...,pn-p1 élek l Belső pixel –páratlanszor metszünk élt, ha végtelenből jövünk –végtelen: vágás után a nézet széle

Területkitöltés p1 p2 p3 p4 y x1 x4x2x3

Kitöltés gyorsítása l Vizsgálatok csak az aktív élekre l Metszéspontszámítás inkrementális elv szerint y x(y) Dx/Dy x(y+1)x(y+2) Dx/Dy

Aktív él lista ymax Dx/Dy x nextAETymax Dx/Dy x next ymin=0 ymin=1 ymin=1024 ymax Dx/Dy x1 next ET: éltábla AET: aktív éltábla