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
953
Vastaukset 2
- 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
- 1091320
- 45901
Myönnetään, tunnen lämpimiä tunteita kohtaasi
Vaikutat tosin liian hyvältä ollaksesi totta. Komeita miehiä on maailma pullollaan mutta sinussa on jotain.....50726Perhoseni (miehelle)
Miksi et usko, että mun rakkaus sinuun on aitoa ja vilpitöntä? Tai että se oli jo silloin? Miksi ajattelet, ettet ole r129674- 70666
- 67616
- 53597
- 55555
Onko Sofia jälleen jätetty?
Moni asia viittaisi siihen, että hän on jälleen sinkku.93473Mies, näetkö minut myös
Seksuaalisena ihmisenä ja naisena? Haluatko minua seksuaalisesti? Vai olenko mielestäsi tyttönen?20470Voiko se ikinä toimia
Voiko meistä ikinä tulla mitään? Näin kauan aikaa on kulunut ja mitään ei tapahdu... En usko, että sinä mietit minua het32458- 34457
Mitä jos...
Susta tykätään poikana enemmän, kun tyttönä? Miten asian käsittelet tai otat tiedon vastaan? T nainen gubetellija herät142453Nainen, mitä mieltä olet kodittomista?
Ja heistä jotka eivät kykene huolehtimaan asioistaan, itsestään eikä terveydestään? Miten heidän kanssaan tulisi toimia?115453- 49447
- 51445
Rekat seisovat dieselin hinnan takia . Ala ei kestä tällaista hintatasoa, sanoo yrittäjä .
EU:n kallein diesel on kova paikka kuljetusalalle. Ajoja on jätetty ajamatta kannattavuusongelmien vuoksi, sanoo alan e85441- 5438
- 52403
- 42400