1 / 21

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.

Télécharger la présentation

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. 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; a 0 <dy<dx ág: }e := 2*dy-dx; deK := 2*dy; deEK := 2*(dy-dx);whilex <= Q.x dobeginif 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 );end; {while}end; { procedure}

  8. 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

  9. 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

  10. 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”

  11. 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.}

  12. Az 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)

  13. 1. 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

  14. 2. Az Aktív Élek Listája (AÉL): • Induláskor: az ÉT első pásztája (HI, HG) • Ciklusban: • Páronként 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: a kiürült élek eldobása az élek x értékének változása új élek az ÉT-ről az élek rendezése (x) • Amíg AÉL és ÉT ki nem ürül

  15. 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

  16. 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

  17. 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.

  18. 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

  19. Ö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ó

  20. 20

  21. 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