Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

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

Hasonló előadás


Az előadások a következő témára: "2D képszintézis Szirmay-Kalos László. Számítógépes grafika képszintézis Virtuális világ modell modellezés Metafórák: 2D rajzolás világ = sík."— Előadás másolata:

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

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

3 2D megjelenítési csővezeték Referencia helyzet (modellezési koord) vektorizáció Modell Transzf, Világ ablak Képernyő v. appwindow nézet Normalizált eszköz Vágás + nézet transzf. Képernyőre vetítés raszterizáció Képernyő (-1,-1) (1,1) nézet

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

5 Poligon háromszögekre bontása diagonál Nem-diagonál Konvex Konkáv

6 Fül p i fül, ha p i-1 – p i+1 diagonál Fül levágható! l Fülvágás: keress fület és nyissz! diagonál pipi p i-1 p i+1

7 Algoritmus? l Minden 4+ csúcsú sokszögnek van diagonálja, azaz mindegyik felbontható diagonálok mentén: l Két fül tétel: Minden legalább 4 csúcsú sokszögnek van legalább 2 füle.

8 Fülvágó algoritmus

9 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 u v o ,  ) (x, y) [0, 0, 1] [o x o y 1 ] [1, 0, 1] [o x +u x o y +u y 1 ] [0, 1, 1] [o x +v x o y +v y 1 ] S x S y cos  sin  0 -sin  cos  p x p y 1

10 Képernyő projekció (x, y) ablak xc = 2(x-w x )/w w -1 yc = 2(y-w y )/w h -1 (wx,wy)(wx,wy) w whwh nézet (X, Y) (vx,vy)(vx,vy) vwvw vhvh 2/w w 0 0  2/w h w x /w w -1-2w y /w h 1 [xc, yc, 1] = [x, y, 1] (-1,-1) (1,1) (xc, yc) X = v w (xc+1)/2+v x Y = v h (yc+1)/2+v y világ Normalizált eszköz Képernyő

11 Vágás x min x max y min y max x > x min = -1 x y min = -1 y < y max = +1 (x, y) Belül Kívül Pont vágás:

12 Vágás x min x > x min (x, y) Belül Kívül

13 Vágás y min y > y min (x, y) Belül Kívül

14 Vágás x max x < x max (x, y) BelülKívül

15 Vágás y < y max (x, y) Belül Kívül

16 Szakasz vágás x(t) = x 1 + (x 2 - x 1 )t, y(t) = y 1 + (y 2 - y 1 )t x = x max – Metszés: – x max = x 1 + (x 2 - x 1 )t  t = (x max -x 1 )/(x 2 -x 1 ) 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

17 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); } Első pontot még egyszer a tömb végére

18 Raszterizáció transzformációvágás raszterizációPixel műveletek rasztertár model Geometriai primitívek: microsec / primitív Pixelek néhány nanosec / pixel

19 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

20 Inkrementális elv 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

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

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

23 Háromszög kitöltés (X1,Y1)(X1,Y1) (X2,Y2)(X2,Y2) (X3,Y3)(X3,Y3) y x(y)x(y) Dx/Dy x(y+1)x(y+2) Dx/Dy

24 Terület elárasztás Flood(x, y) { if (pixel[x][y] inner point) { Write(x, y, color); Flood(x, y-1); Flood(x, y+1); Flood(x-1, y); Flood(x+1, y); } Belső pont = kék seed Flood Write Flood(x,y-1); Flood(x,y+1); Write Flood(x,y-1); Flood(x,y+1); Flood(x-1,y); Flood(x+1,y); Flood(x-1,y); Flood(x+1,y); 0 1 2


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

Hasonló előadás


Google Hirdetések