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

Bevezetés a számítógépi grafikába. Történelem 1963: Ivan Sutherland – Sketchpad első GUI (Graphical User Interface) 1964: IBM és GM – első CAD (Computer.

Hasonló előadás


Az előadások a következő témára: "Bevezetés a számítógépi grafikába. Történelem 1963: Ivan Sutherland – Sketchpad első GUI (Graphical User Interface) 1964: IBM és GM – első CAD (Computer."— Előadás másolata:

1 Bevezetés a számítógépi grafikába

2 Történelem 1963: Ivan Sutherland – Sketchpad első GUI (Graphical User Interface) 1964: IBM és GM – első CAD (Computer Aided Design) rendszer grafikus konzol, grafikus parancsok, fényceruza 1965: első egér (fából és műanyagból) 1974: Sharp kifejleszti az LCD megjelenítőt 1980: PC-k elterjedése raszter grafikával

3 A grafika hardvere Input eszközök billentyűzet egér fényceruza emberi ujj ( touch-screen) scanner jellemzők: lapméret, felbontás (DPI – Dot Per Inch), színmélység Output eszközök nyomtató monitor projektor stb.

4 Output eszközök - Hardcopy perifériák Rajzgépek: mérnöki munkáknál Nyomtatók mátrix nyomtatók tintasugaras nyomtatók lézernyomtatók jellemzőik: nyomtatható méret rajzolási sebesség felbontás (DPI) színes vagy fekete-fehér

5 Output eszközök - Megjelenítők Emissziós: saját fényűek Nem emissziós: más fényforrást használók

6 Output eszközök - Megjelenítők Emissziós CRT (Cathode Ray Tube) katódsugár elektronsugara foszfort gerjeszt folyamatos frissítés Nem emissziós LCD (Liquid Crystal Display) folyadékkristályok állapotváltozása TFT-LCD (Thin-film Transistor) rácspontokban tranzisztorok Plazma képernyő üveglapok közötti rács nemesgázzal töltve

7 Output eszközök - Megjelenítők Monitorok és vezérlőkártyák jellemzői: Képátmérő (17’’, 21’’ stb.) Felbontás (640x480, 1024x768, 1600x1200 stb.) Színmélység: hány biten tárolunk egy pixelt 1 bit = 2 szín (monokróm) 2 bit = 4 szín 4 bit = 2 4 = 16 szín 8 bit = 2 8 = 256 szín 24 bit = 2 24 ≈ 16 millió szín (True Color – RGB)

8 Output eszközök - Megjelenítők Monitorok és vezérlőkártyák jellemzői: Képernyő lapok száma Képfrissítési frekvencia > 60 Hz Sebesség GPU: grafikus processzor Grafikus memória Felbontás 16 szín (4 bit) 256 szín (8 bit) 16 M szín (24 bit) 320x *0.5 = byte byte byte 640x byte byte ≈ 1 Mbyte 1024x byte≈ 2.5 Mbyte 1600x1200≈ 6 Mbyte

9 Output eszközök - Megjelenítők Monitorok és vezérlőkártyák típusok: 1980 – CGA: 320x200 – 4 szín, 640x200 – 2 szín 1984 – MDA/Hercules: 720x348 – 2 szín 1984 – EGA: 640x350 – 16 szín 1987 – VGA: 640x480 – 16 szín, 320x200 – 256 szín 1990 – SVGA, VESA szabvány: 800x600 – 32K szín 1280x1024 – 16M szín XGA …

10 A grafika szoftvere – 4 fő terület Generatív grafikus adatfeldolgozás képek és grafikus adatok bevitele síkbeli és térbeli objektumok modellezése Grafikus adatok (képek) tárolása Képmanipuláció Mintafelismerés képekből meghatározott információk kinyerése Modell Számítógépen megjelenő kép KépfeldolgozásKéptárolás Generatív adatfeldolgozás Mintafelismerés

11 Generatív adatfeldolgozás Számítógéppel segített tervezés CAD (Computer Aided Design) CAM (Computer Aided Manufactoring) Bemutató és üzleti grafika diagramok, hisztogramok prezentációkészítők Tudományos és műszaki szimuláció költséges vagy lehetetlen vizsgálatok szemléltetése

12 Generatív adatfeldolgozás Művészet és animáció Virtuális valóság Számítógépes játékok

13 Mintafelismerés Ujjlenyomat felismerés Arcfelismerés Orvosi képfeldolgozás: CT (Computed Tomography) MRI (Magnetic Resonance Imaging) ultrahang digitális radiológia OCR (Optical Character Recognition)

14 Képtárolás, képkódolás Tárolás valamilyen kódolt formában. Kódolási eljárások: Huffman kód RLE kód LZW kód stb.

15 Huffman kódolás Színértékek cseréje rövidebb kódokra Előfordulási valószínűségek alapján Egy fát konstruálunk a kódolás során: csúcsai a kódolandó elemek élei 0 és 1 címkéjűek Hatékony tömörítés szövegek esetén akár 50%-os

16 RLE kódolás Ismétlődésen alapul Az egymást követő jelek sorozatát kódoljuk, pl: input: (13 byte) output: (10 byte)

17 Képformátumok BMP alapvető Windows-os képformátum RLE kódolás – kis képek tárolására JPEG fotórealisztikus képek tárolására legelterjedtebb a weben 8x8-as blokkok kódolása veszteséges tömörítésként is GIF, TIFF

18 Mozgókép formátumok MPEG JPEG képeket tartalmaz egymás utáni képek közötti különbségeket kódolja AVI, MOV, WMV GIF animált GIF

19 Raszteres grafika Alapeleme a képpont (pixel) A kép egy pixelekből álló rács Előnye: általánosan és könnyen használható Hátránya: nagy képméret nem skálázható mintafelismerésre nem nagyon alkalmas

20 Vektorgrafika A képet primitív alakzatokkal írjuk le vonalak, görbék, síkidomok színnel/mintával kitöltött területek 3D-ben: testek Előnye: skálázható mintafelismerésre alkalmasabb Hátránya: nem általános

21 Alapvető raszteres algoritmusok Folytonos geometriai alakzatok képpontokkal való közelítése szakasz kör ellipszis görbék stb.

22 Szakasz rajzolása – DDA y=mx+b alakú egyenletből indulunk ki m=dy/dx dx: mennyit lépünk az x tengelyen dy: mennyit lépünk az y tengelyen Optimalizálás: legyen Max(dx,dy)=1

23 Szakasz rajzolása – DDA hossz:=abs(x2-x1); if (abs(y2-y1)>hossz) then hossz:=abs(y2-y1); dx:=(x2-x1)/hossz; dy:=(y2-y1)/hossz; x:=x1; y=:y1; putpixel(trunc(x),trunc(y),color); for i:=1 to hossz do begin x:=x+dx; y:=y+dy; putpixel(trunc(x),trunc(y),color); end; procedure DDA(x1,y1,x2,y2,color:integer);

24 Szakasz rajzolása – Midpoint Javítja a DDA kerekítési hibáit Feltesszük, hogy 0≤m≤1: dx=1, 0≤dy≤1

25 Szakasz rajzolása – Midpoint P után az NE vagy az E pontot gyújtsuk ki? Legyen: d p =F(x p +1,y p +0.5) Ha d p ≥0  E Ha d p <0  NE

26 Szakasz rajzolása – Midpoint Az F(x,y)=Ax+By+C egyenletet használjuk: d 1 = F(x 1 +1,y ) = F(x 1,y 1 )+ A+B/2 Mivel F(x 1,y 1 )=0, így d 1 =A+B/2

27 Ha E-t gyújtottuk ki az (x p+1,y p+1 ) pontban: d p+1 =F(x p +2, y p +0.5) =A·(x p +2) + B·(y p +0.5) + C =F(x p +1, y p +0.5) + A= d p +A ΔE = A Ha NE-t gyújtottuk ki az (x p+1,y p+1 ) pontban: d p+1 =F(x p +2, y p +1.5) =A·(x p +2) + B·(y p +1.5) + C =F(x p +1, y p +0.5) + A+B= d p +A+B ΔNE = A+B Szakasz rajzolása – Midpoint

28 d 1 =A+B/2 ΔE = A ΔNE = A+B Legyen: F(x,y) = 2(Ax+By+C) d 1 =2A+B ΔE = 2A ΔNE = 2(A+B)

29 Szakasz rajzolása – Midpoint procedure MPL(x1,y1,x2,y2,color:integer); A:=y1-y2; B:=x2-x1; d:=2*A+B; dE:=2*A; dNE:=2*(A+B); x:=x1; y=:y1; putpixel(x,y,color); while x

30 Szakasz rajzolása – Midpoint Az algoritmus teljessé tehető: 8 eset: x/y növelése/csökkentése dx/dy szerepe

31 Kör rajzolása – Midpoint 8-as szimmetria Origó középpont Legyen: d p =F(x p +1,y p -0.5) Ha d p <0  E Ha d p ≥0  SE

32 Kör rajzolása – Midpoint Az F(x,y)=x 2 +y 2 -r 2 egyenletet használjuk: d 1 = F(1,r-0.5) =1+r 2 -r+0.25-r 2 = 1.25-r≈ 1-r

33 Ha E-t gyújtottuk ki az x p+1 pontban: d p+1 =F(x p +2, y p -0.5) =F(x p +1, y p -0.5) + 2x p +3= d p +2x p +3 ΔE = 2x p +3 Ha SE-t gyújtottuk ki az x p+1 pontban: d p+1 =F(x p +2, y p -1.5) =F(x p +1, y p -0.5) + 2x p y p +2 =d p + 2(x p -y p )+5 ΔSE = 2(x p -y p )+5 Kör rajzolása – Midpoint

34 procedure MPC(u,v,r,color:integer); d:=1-r; x:=0; y=:r; putpixel(u+x,v+y,color); while y>x do begin if (d<0) then d:=d+2*x+3; else begin d:=d+2*(x-y)+5; y:=y-1; end; x:=x+1; putpixel(u+x,v+y,color); end; procedure CirclePoints(u,v,x,y,color); begin putpixel(u+x,v+y,color); putpixel(u+x,v-y,color); putpixel(u+y,v+x,color); putpixel(u+y,v-x,color); putpixel(u-x,v+y,color); putpixel(u-x,v-y,color); putpixel(u-y,v+x,color); putpixel(u-y,v-x,color); end;

35 Kör rajzolása – Midpoint

36 Window-Viewport transzformáció Világkoordináta-rendszer a felhasználó ebben adja, illetve kapja a geometriai információkat Eszközkoordináta-rendszer hardvernek megfelelő, specifikus

37 Window-Viewport transzformáció Követelmények: A window határpontjait a viewport határpontjaiba transzformáljuk. Egyenestartó leképezés. A leképezés lineáris wx=wxmin+a·(wxmax-wxmin) vx=vxmin+a·(vxmax-vxmin) ahol 0 ≤ a ≤ 1

38 Window-Viewport transzformáció

39

40 Cohen-Sutherland algoritmus szakasz vágása téglalapra (képernyőre) sík 9 részre osztása minden ponthoz 4 bites kód 1. bit: balra a baloldali képernyőéltől 2. bit: jobbra a jobboldali képernyőéltől 3. bit: az alsó képernyőél alatt 4. bit: a felső képernyőél felett

41 Cohen-Sutherland algoritmus Ha a két kód csupa 0, akkor a szakasz a képernyőn van. Ha van olyan helyiértékű bit, mely mind a két kódban 1, akkor a szakasz nincs a képernyőn. csak az egyik kódban 1, akkor: a helyiértének megfelelő képernyőéllel el kell metszeni a szakaszt, és a metszéspontra módosítani a szakasz végpontját (és a kódját kiszámolni).

42 Ponttranszformációk Eltolás Skálázás Tükrözés x-tengelyre

43 Ponttranszformációk Tükrözés y-tengelyre Forgatás origó körül

44 Homogén koordináták 2D-s pontok számhármasokként Egymással arányos hármasok ugyanazt a pontot reprezentálják [x 1, x 2, x 3 ] ~ [ωx 1, ωx 2, ωx 3 ], ahol ω  0 valós szám pl. [1,2,-2] ~ [-2,-4,4] kikötés: x 3  0 Áttérés homogén koordinátákra: [x,y]  [x,y,1] Visszatérés Descartes koordinátákra: [x 1, x 2, x 3 ]  [x 1 / x 3, x 2 /x 3 ]

45 Homogén koordináták Homogén koordináták felhasználásával: p’=M·p, ahol M 3x3-as mátrix Skálázás

46 Homogén koordináták Eltolás Forgatás origó körül

47 Homogén koordináták Window-Viewport transzformáció eltolás az origóba skálázás eltolás a viewport alsó sarkába

48 Homogén koordináták Eltolás az origóba Skálázás

49 Homogén koordináták Eltolás az origóba + skálázás Eltolás a viewport alsó sarkába

50 Homogén koordináták Window-Viewport transzformáció

51 Homogén koordináták 3D-ben 3D-s pontok számnégyesekként Skálázás

52 Homogén koordináták 3D-ben Eltolás Forgatás x tengely körül

53 Homogén koordináták 3D-ben Forgatás y tengely körül Forgatás z tengely körül


Letölteni ppt "Bevezetés a számítógépi grafikába. Történelem 1963: Ivan Sutherland – Sketchpad első GUI (Graphical User Interface) 1964: IBM és GM – első CAD (Computer."

Hasonló előadás


Google Hirdetések