Hei,
Voisiko joku selittää, miten tämä wikipedian esiemerkki flood fill-algoritmista toimii?
http://en.wikipedia.org/wiki/File:Recursive_Flood_Fill_4_(aka).gif
Scrpti on tällainen:
sub FloodFill4
{
my ($x, $y) = @_;
if ($im->getPixel ($x, $y) == $colfill)
{
$im->setPixel ($x, $y, $colpen);
WriteImage ();
FloodFill4 ($x, $y 1);
FloodFill4 ($x, $y-1);
FloodFill4 ($x 1, $y);
FloodFill4 ($x-1, $y);
}
}
Miksi täyttö lähtee esimerkissä alaspäin, vaikka ensimmäinen rivi koodissa on x, y 1?
Entä miksi algoritmi päättää jatkaa juuri aloitussolun vasemmasta solusta, kun vasemman alalaidan neliö on väritetty?
Rekursiivinen flood fill?
Miten toimii?
2
934
Vastaukset
- pelkkää päättelyä
1) y 1 on yleensä alaspäin, bittikartat alkavat yleensä vasemmasta yläkulmasta.
2) Koska kun alussa kuljetaan alas, ei päästä muualle kuin vasemmalle. Siitä täytetään alas. Kun vasemmanpuoleinen lohko on täytetty kokonaan, jatketaan ylös (aloituskohdan vasemmanpuoleinen pikseli). Tällöin päästään rekursion juuressa toiseen FloodFill4:ään ja jatketaan ylös. - metodi
kannattaa käyttää scanline-floodfill algoritmia, huomattavan paljon nopeampi
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
Diesel-ammattilainen kehuu Sanna Marinia
"Sanna Marinin (sd) hallitus loi neljä vuotta sitten väliaikaisen polttoainetukijärjestelmän, kun energianhinnat nousi402989Pitkänperjantain kunniaksi tekoälyn analyysi Riikka Purran kirjoituksesta
🧠 Mitä se kertoo "riikka"-nimimerkin lähijunassa tapahtuneesta? 1. Asenteellinen ja epäasiallinen sävy: Kirjoitus purs332807100 prosentin perintövero korjaisi myös Hitas-ongelman
Moni ei uskalla kieltäytyä perinnöstä maineen menettämisen uhalla, joten sitten tulee näitä tilanteita, joissa joutuu es482443Iso poliisioperaatio Lapualla
Paikalla oli silminnäkijän mukaan myös kolme ambulanssia. https://www.is.fi/kotimaa/art-2000011924650.html Onko virpo452111Riikan antisakset leikkaavat bensan hintaa ylöspäin
Sannan aikoina bensaa sai 1,3 euron litrahinnalla ja Riikka leikkasi sen euron ylemmäksi reiluun 2 euroon. Joko on saks212024Olen aika varma
että meidän tiemme risteäminen oli ainutkertainen tapahtuma elämässäni. En tule koskaan kohtaamaan ketään muuta, joka sa581790- 441697
Sukupuolineutraalit liikennemerkit yksi persujen älynväläys
Samassa rytäkässä kaikki syrjäseutujen bussipysäkkien liikennemerkitkin vaihdettiin, vaikkei bussia ole liikennöinyt enä371550- 451473
- 261321