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

935

    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. Kansalla on oikeus tietää miksi persut pettävät

      Koko kulunut hallituskausi on kysytty persuilta, minkä vuoksi he ovat pettäneet käytännössä jokaisen vaalilupauksen, ain
      Maailman menoa
      60
      7512
    2. Venäjän armeijan evp-upseeri: Armeija surkeassa tilassa, jonka läpäisee kaiken kattava

      valehtelu. Venäläiset alkaneet pohtia julkisesti maan todellisia tappioita. Z-bloggari ja 3. luokan kapteeni (evp.) Mak
      Maailman menoa
      123
      2936
    3. Minkälaisen viestin

      Laittaisit ikävöinnin kohteelle, jos rohkenisit?
      Ikävä
      142
      1776
    4. Kansalla on oikeus tietää mikä on SDP:n talousohjelma jolla maan talous

      saadaan nousuun? Miksi puolue piilottelee sitä, vai eikö sitä ole? Tähän asti olemme vaan saaneet kuulla hallituksen ha
      Maailman menoa
      65
      1649
    5. Ammattiliitto 900 euroa/vuosi - Työttömyyskassa 72 euroa/vuosi

      Ammattiliitosta eroamalla voi säästää jopa 800 euroa vuodessa. Mitä enemmän tienaat, sitä enemmän maksat liitolle. Esim
      Maailman menoa
      115
      1458
    6. Miten voit olla niin tyhmä

      että et tajunnut että sua vedätettiin? Tietäisitpä miten hyvät naurut on saatu. Naiselle
      Tunteet
      167
      1404
    7. Missä vaiheessa

      Päätit irl luovuttaa minun suhteeni?
      Ikävä
      131
      1153
    8. Millaisena uskot

      Kaivattusi kokevan tunteensa?
      Ikävä
      77
      853
    9. Kyriake=Kirkko

      Kirkko, Kyriake Kirkko-sana tulee kreikankielen sanasta Kyriake=Herran omat, Kristuksen omaksi kastettujen suuri joukko
      Kaste
      47
      802
    10. Mitä haluat eniten

      Kaivattusi kanssa?
      Ikävä
      52
      745
    Aihe