Rekursiivinen flood fill?

Miten toimii?

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?

2

927

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • 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

    1. Riikka Purra lupasi Suomen kansalle 1 euron bensaa, hinta nyt 2 euroa

      Vasemmistolaisen Marinin hallituksen aikana bensa ei maksanut kuin 1,3 euroa litralta. Ministerin pitäisi perustuslain m
      Maailman menoa
      358
      5823
    2. Kohdataanko me

      Enää?
      Ikävä
      78
      5244
    3. Rakkaalle miehelle

      Terveiset rakas. Ikävä on edelleen. Suru valtaa sydämen, kun en saa lähestyä sinua. En saa vastauksia, en soittoa, viest
      Ikävä
      48
      4296
    4. Eräs on taas viettänyt kokoyön täällä!!

      Etkö sä nuku koskaan??
      Ikävä
      52
      3911
    5. Olipa turha tämä

      Rakkaustarinamme
      Ikävä
      52
      3689
    6. SDP:n kansanedustaja Nazima Radmyar uhriutuu somessa saamistaan viesteistä.

      https://www.is.fi/politiikka/art-2000011854410.html Miksi Razmyar ei kestä kansan palautetta oikean kansanedustajan tavo
      Maailman menoa
      160
      3371
    7. Muistatteko kuinka Marinin hallituksen aikaan kansalaisilla oli varaa kuluttaa?

      Tavallisella perheelläkin oli rahaa käydä sääännöllisesti ravintoloissa syömässä, koska vahvat ammattiliitot olivat neuv
      Maailman menoa
      100
      3154
    8. Vasemmistolainen valehteli jälleen - Purra tai persut eivät luvanneet "euron bensaa"

      Väite "euron bensasta" on ensisijaisesti poliittisten vastustajien käyttämä puhdas vale. Persut kyllä kampanjoivat näky
      Maailman menoa
      48
      3135
    9. Mitä tapahtuu

      Sitten keväällä ja kesällä
      Ikävä
      43
      2259
    10. Voitko sanoa jotain

      Hellää?
      Ikävä
      49
      2195
    Aihe