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

754

    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. Theermannilla kulkee!

      Vouti vie kaiken mikä mieheltä irti lähtee ja palstan naiset syyttävät tilanteesta kilpaa eri naisia. Miehellä on elämän
      Kotimaiset julkkisjuorut
      130
      7748
    2. Näin unta viime yönä

      Että tulit nainen istumaan syliini minihame päällä.
      Ikävä
      54
      5778
    3. Esivaihdevuodet, menopaussi

      https://www.pihlajalinna.fi/palvelut/yksityisasiakkaat/terveys/esivaihdevuodet-eli-premenopaussi Täällä kun puhutaan pa
      Sinkut
      79
      3268
    4. Tänään taas tuli pari-kolme juttua

      Jotka niin mielelläni jakaisin sun kanssa. Niin paljon elämää jaettavana ja niin selkeä paikka sinulle. Mutta ymmärrän
      Tunteet
      7
      2883
    5. Kuhmo tekisi perässä

      Lomauttakaa kaupungin talolta turhat lattiankuluttajat pois, kuten naapuripitäjä
      Kuhmo
      10
      1678
    6. Suomi julkaisi varautumisoppaan

      Että sellanen tappaus. Kun kriisitilanne iskee, niin on mentävä nettiin ja luettava ohjeet suomi.fi -sivuilta. Onkohan j
      Maailman menoa
      209
      1610
    7. Miksi putin ei valinnut ensimmäiseksi kohteekseen Suomea?

      Olisiko ollut sittenkin helpompi kohde?
      Maailman menoa
      326
      1314
    8. Ukraina sai luvan vastata ohjuksin Venäjän lueelle

      Mediatietojen mukaan Yhdysvallat on antanut Ukrainalle luvan iskeä pitkän kantaman ohjuksilla Venäjälle. Ylen kirjeenvai
      NATO
      335
      1172
    9. Olen jälleen pahoillani

      Harjoittamastani henkisestä väkivallasta palstan välityksellä. Kyllä ne voi vaikuttaa jotenkin mieleen, vaikka ei itsell
      Ikävä
      93
      1169
    10. Oot vaan niin hellä

      Ja lämmin luonteeltasi, että rakastan sitä yli kaiken. Oot ehkä tietämättäsi auttanut mua todella paljon. Auttaisit tämä
      Ikävä
      32
      1071
    Aihe