1 / 23

4.5. Raszter-konverzió

4.5. Raszter-konverzió. A képelem látványát alkotó képpontok előállítása Egyenes szakasz képpontjai Sokszög lemez kitöltése. 2. Raszter konverzió. A képelemet ábrázoló képpontok helye és színe) Minden képelem-típusra más eljárás.

Download Presentation

4.5. Raszter-konverzió

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 4.5. Raszter-konverzió A képelem látványát alkotó képpontok előállítása • Egyenes szakasz képpontjai • Sokszög lemez kitöltése

  2. 2

  3. Raszter konverzió • A képelemet ábrázoló képpontok helye és színe) • Minden képelem-típusra más eljárás. • 3D-ben: 4.7. Árnyalás (shading, textúra,stb.)

  4. (1) Szakaszok raszter-konverziója • Adott: P és Q a KKR-ben Keressünk köztes képpontokat • Durva erőszak: m = dy / dx ésforx:= P.xtoQ.x (step 1) do GputPixel(x, y:=m*(x-P.x)+P.y, szín); • Kifogások: lassú (valós aritmetika, kerekítés),

  5. A felezőpontos (Bresenham) eljárás • dx = Q.x - P.x, dy = Q.y - P.y • (dx = 0, dy = 0, dx = dy könnyű esetek) • Síknyolcadok; minta: 0 < dy < dx • Növekményes eljárás: • Ha Pi közelítő pont K-re, vagy ÉK-re lépünk • aszerint, hogy az egyenes F alatt, vagy fölött

  6. A PQ egyenes egyenlete • G(x,y) = ax + by + c = 0 = dyx - dxy + (P.ydx - P.xdy) = 0 • fölötte G(x,y) negatív, alatta pozitív. • e(xi) = 2G(F)=2G(xi+1,yi+1/2) = dy  (2x) – dx(2y +1)+ 2  (P.y  dx - P.xdy) • Ha e(xi) < 0, akkor F az egyenes fölött:  Kha >0, akkor F az egyenes alatt; ÉK • e(x0) = 2dy- dx, deK = 2dy és deÉK = 2(dx - dy)

  7. Az eljárás váza: procedure GRasCoLine( P,Q, szín);begin dx:= Q.x - P.x; dy:= Q.y - P.y;{esetszétválasztás; 0 <dy<dx ág: }e :=2*dy-dx; deK :=2*dy; deEK := 2*(dy-dx);whilex=P.x, x <= Q.x dobeginif e<=0 then{az F alatt} Keletre lép else {e>0} { az F fölött}Észak-keletre lép; GputPixel( x,y,szin );end; {while}end; { procedure}

  8. A ciklus magja: if e<=0 then{az F alatt}begin{K}x ++; y; e:= e+deK; end;else {e>0} { az F fölött}begin{ÉK} x ++; y++; e:= e+deEK; end;GputPixel( x,y,szin );

  9. Körvonal raszter-konverziója • A (0,0) középpontú, r sugarú kör rajzolása • Nyolcad: (0,r)-(r,0)-ig; put8pixel(x, y); • Pi után K-re, vagy DK-re lépünk • G(x,y) = xx + yy – rr = 0, e(xi) = 4G(F) = 4G(xi+1, yi-1/2) • e(x0) = 5/4 - r, deK=2xi + 3, deDK=2 (xi - yi) + 5 függ az x-től (e másodfokú!), de a 2. differencia=2 • Minden lépésben módosítjuk y-t, e-t, deK-t és deDK-t

  10. (2) Sokszöglemezek kitöltése • Zárt terület elárasztása • Az Aktív Élek Listája - eljárás • A jobbra festő eljárás

  11. 2.1. Zárt terület elárasztása • Interaktív programoknál • Egy zárt területen belül rámutatunk egy pontra • „forráspont”és „gát”

  12. procedureGFloodFill4(x,y:Gpixxy; hatar: Gcolor);begin{ festőszín: global fillColor }if GGetPixel(x,y)<>hatarAND GGetPixel(x,y)<> fillColor thenbegin Gputpixel (x,y,fillColor); FloodFill4(x+1,y,hatar); FloodFill4(x,y+1,hatar); FloodFill4(x-1,y,hatar); FloodFill4(x,y-1,hatar);end;{if}end; {GFloodFill}{Az árasztás lassúés zabálja a vermet!! Javítások: koherenciával.}

  13. *. Egy sokszög belső pontjai • Egy sokszög belső pontjából induló félegyenesen:páratlan számú átmetszés, • Külső pontokból induló félegyenesen :páros számú átmetszés • (minden félegyenesen egyformán)

  14. 2.2. Az AÉL (aktív élek listája) - eljárás • Egy sokszög belső pontja: páratlan számú átmetszés, • Külső pontja: páros számúátmetszés egy félegyenesen • (minden félegyenesen egyformán)

  15. A sokszög él-táblája (ÉT): • A pászták láncolt listája: a pásztán kezdődő élek adatai; x szerint rendezveHI, HGAB, AIBCGFDC, DE, EF • minden élről: { y1, x1, dx, dy, next }; y1<=y2

  16. Az Aktív Élek Listája (AÉL): • Induláskor az ÉT első pásztája (HI,HG) • Ciklusban: • Páros festés a pásztán:az 1.-2., a 3.-4.,…él x értéke között • Áttérés új pásztára:az élek x értékének változásaa kiürült élek kidobásaúj élek az ÉT-rőlaz élek rendezése (x) • Amíg AÉL és ÉT ki nem ürül

  17. Az AÉL eljárás értékelése • Tetszőleges sokszögre, szigetekre is • Vízszintes élek és szélső csúcsok is. • Adatszerkezet: 2x az élek száma;csak egészszámok (és mutatók) • Rendezés: gyors, beszúró rendezés

  18. 2.3. A jobbra festő eljárás • A sokszög minden élére: • tőle jobbra minden képpontot XOR-ral befestünk. • A külső pontokat páros számszor festjük; nem változnak. • Egy „baloldali”él megváltozik, „jobboldali” nem! A körvonal után-festése. • Elég a befoglaló dobozra

  19. Terület kitöltése mintázattal • Mintázat (pattern): képpont-lap (négyzet) • „Csempézés” (hálóban) • Egy horgonypontban kezdve • A kitöltő eljárástól kapott képpontokkal maszkolva. • A térben: textúra, a lap helyzete szerint transzformálva.

  20. Megoldási elvek a szerelőszalagon • Sebesség és tároló-igény • Tárgytér és képtér (valós-egész) • A pászták követése • Koherenciák (pásztán, pászták között) • Dobozolás • Térfelosztás • Rendezés

  21. SZeSZa - összefoglalás • Grafikus szerelőszalag: a kép előállításának műveletei: • A képelemek előkészítése Leképezés a tárgytérből a képtérbe Képkivágás Láthatóság-takarás Raszter-konverzió

  22. 22 22

  23. A grafikus alapszoftver • BGI (és mások): KKR-ben kapott 2D képelemek, a Képelemek előkészítését és a Leképezést az AP végzi. korlátozott funkciók. • OpenGL – 3D alapszoftver • Grafikus munkaállomások: pl. a láthatóságot hard(firm)verben. • Grafikus modellező rendszerekbe beépítve.

More Related