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
760
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
Anteeksi mies
En vaan osaa kohdata sinua ja olla normaali. En tiedä mikä vaivaa. Samaan aikaan tekee mieli tulla lähelle ja kuitenkin273351Ripeyttä asiointiin
Ottaa päähän yhden ja saman asiakkaan hitaus kassalla kun yhdellä kädellä nostelee ostoksia kärrystä ja välillä pitelee272123Palstan henkisesti sairaat ja lihavat
Täällä on sairaita, työttömiä ihmisiä kirjoittelemassa joilla ei ole tarkoituksena kuin satuttaa ihmisiä. Jos eksyt pals1141670Mietin aina vain
Minä niin haluaisin nähdä sinut. Ei tuo yhden ainoan kuvan katsominen paljon helpota... Miksi sinä et voisi olla se roh71418- 761349
Kysyin kaikilta yhteisiltä tutuilta mielipidettä siitä, että kannattaako sinun kanssa alkaa!
Päätös oli lähestulkoon yksimielinen. Minunkin vaisto antoi vaaranmerkkejä, mutta järkytyin mitä sinusta kuulin. Aluksi1381236- 641056
Olen vähän
Hysteerinen se on totta. Etkai ymmärrä miten syvästi tunnen sinua kohtaan. Ja olet aina lähelläni. Olet osa jo jotain. I10974Ollaan kuin yö ja päivä
Monessa asiassa… molemmat ollaan kuitenkin älykkäitä ja tiedämme, ettei kannata edetä tämän pidemmälle.70921- 102912