Diskuze k úloze číslo 12

Toto fórum slouží výhradně k diskuzím o úloze číslo 12. Během hry je zakázáno diskutovat o zadání i řešení této úlohy kdekoliv jinde, než zde. K diskuzi o ostatních úlohách prosíme využijte jim příslušná fóra. Prosíme, nekažte hru ostatním!
Re: Diskuze k úloze číslo 12 Martin "Marble" Beránek (14. 11. 2009 - 17:59) Sbalit(3)
Asociace jsou potvory, mě na hilberta napadl jen vektorový prostor. Ze je to i křivka jsem si našel až poté, co se ukázalo, že černá je jen částečná nápověda a ze čtverců 8x8 výsledná podoba přeuspořádat nejde. (Ale když už jsme si zbastlil prográmek, který hledal, kam ta čára pokračuje, tak se mi ho dlouho nechtělo zahodit. :)
Re: Diskuze k úloze číslo 12 Martin "Marble" Beránek (14. 11. 2009 - 18:30) Sbalit(1)
V obrázku je 6. úroven. Ono kdyby tam byla vyšší, tak by to už byla jen černá plocha. :) Mě tahle úloha přišla pěkná a naprosto korektní. Křivka je spolu s názvem dobrá nápověda, a třeba pro mě i vcelku užitečná, protože bez křivky bych o různých hilbertech uvažoval asi vcelku dlouho.
Re: Diskuze k úloze číslo 12 ruthion.bisclaveret (16. 11. 2009 - 18:09) Sbalit(1)
Jj, já taky nejdřív sledoval čáru ... teprve, když to nešlo, tak jsem to napsal pořádně.
Re: Diskuze k úloze číslo 12 pht (14. 11. 2009 - 18:10) Sbalit(8)
my $c = Math::Curve::Hilbert->new(qw/direction down max 9 clockwise 0 step 1);
...and the rest is history

Jen je trochu matoucí, že v obrázku je step 8.
Re: Diskuze k úloze číslo 12 Bilbo (14. 11. 2009 - 19:14) Sbalit(7)
No, nakonec jsem na spravne reseni prisel, zpocatku jsem to taky zkousel po ctvercich 8x8 (coz nikam moc nevedlo), pak mne napadlo jit na to po jednotlivych pixelech, ale dlouho jsem se zasek na tom, ze ve vypoctu hilberta ve ctvrtem kvadrantu je chyba ... a na 9 rekurzivnich levelech uz to znamena ze na finalnim obrazku pres 90% pixelu je blbe a vyjde zas jen dalsi nicnerikajici zmet ....
Re: Diskuze k úloze číslo 12 tomi (14. 11. 2009 - 21:02) Sbalit(6)
Já jsem vzal ten Haskellový zdroják z Wikipedie a s tím to šlo dobře, jen mi trvalo několik hodin, než jsem vzdal ty čtverce 8x8 :-(
Re: Diskuze k úloze číslo 12 Michal Kubeček (14. 11. 2009 - 21:34) Sbalit(5)
Já je vzdal až poté, co se mi je podařilo srovnat (ale to asi nejsem
sám). Pak jsem ještě chvíli přemýšlel, jestli je nebude potřeba podle té
čáry i natočit, ale nezdálo se, že by to mohlo fungovat, tak jsem zatnul
zuby a šel analyzovat a extrapolovat algoritmus procházení.

Taky jsem si to zkomplikoval tím, že se mi nechtělo procházet
dokumentaci k libpng, tak jsem si obrázek nejdřív převedl do PPM. Jenže
první byte datové části jako na potvoru vyšel 0x0A, tak jsem ho
automaticky považoval za poslední byte hlavičky a celý obrázek se tak
o jeden subpixel posunul...

Re: Diskuze k úloze číslo 12 tomi (14. 11. 2009 - 21:37) Sbalit(1)
Já je otáčel, srovnával, všechno možný a dokonce mi vycházely i celkem hezký obrázky, jen ty bílý body stály za prd. Načítal jsem taky PPM, ale to textový, takže se mi nic takovýho nemohlo stát (ale zas to bylo pomalejší).
Re: Diskuze k úloze číslo 12 Bilbo (15. 11. 2009 - 14:52) Sbalit(3)
Ja mel nastesti uz naprogramovany vlastni software na (uplne jine) zpracovani obrazku, takze cast kodu na nahravani a ukladani obrazku jsem vubec neresil :)

Na tehle uloze jsem mel dned dva zaseky - nejdriv jsem to delal po ctvercich 8x8 a kdyz z toho nic nevyslo, tak jsem to pak zkousel ruzne preskladavat - do obdelniku jine velikost, po diagonale, do kruhu (coz sice vznikl zajimavy obrazek, ale bohuzel neobsahoval reseni).

Nakonec mne napadlo, ze ten hilbert pujde asi hloubeji az na jednotlive pixely (protoze 8 ctvercu po 8x8 je 512 a to je jedna strana strana obrazku), ale dalsi mensi zasek byl pak jeste u mne v tom, ze ve ctvrtem kvadrantu jsem mel v algoritmu chybu a jak je to rekurzivni tak i takova mala chybka zpusobi ze pres 90% pixelu je pak blbe (presneji 1-3/4^pocet levelu) a je z toho jeste horsi zmet nez originalni krivka nebo ty pokusy se ctverci.
Re: Diskuze k úloze číslo 12 Michal Kubeček (15. 11. 2009 - 15:20) Sbalit(2)
To byl taky důvod, proč jsem v první fázi (přerovnání čtverečků) místo
implementace algoritmu procházení raději zkoumal, kam vede čára.
Předpokládám, že jsem nebyl sám...

Re: Diskuze k úloze číslo 12 pht (15. 11. 2009 - 15:34) Sbalit(1)
Já jsem se raději vlastní implementaci vyhnul a jen jsem slepil GD a generátor té hilbertky ... oboje z cpanu :P skoro mi přijde, že se tím cpaním příkladem autor inspiroval.
Re: Diskuze k úloze číslo 12 nexus (15. 11. 2009 - 18:09) Sbalit(1)
jak ja sem se u tohodle nanadaval.. vysly opakovany gradient jsem zkousel lepit, obrazky pres sebe prekryvat, proste vsechno. Obraceny postup - zadani znovu ulozit hilbertem ... no nadavek opravdu nebylo malo ;)
Re: Diskuze k úloze číslo 12 dob (17. 11. 2009 - 17:01) Sbalit(1)
Bloky 8x8 me taky zdzely na par hodin. Jinak nacitani png, hilbert a la wikipedie i vizualizace reseni v Processing-u.
Re: Diskuze k úloze číslo 12 mirousek (17. 11. 2009 - 17:12) Sbalit(1)
Na menší bloky jsem se dostal poměrně rychle (tedy … po ručním poskládání 3 řádků z bloků 8x8 :).
Ovšem pootáčet to tak, abych našel prostředek sdělení (kde byla i ta část hesla, ze které se dalo tipnout) mi trvalo ještě pár bezradných hodin …
Moc pěkně udělané.
Re: Diskuze k úloze číslo 12 adino (18. 11. 2009 - 21:58) Sbalit(1)
Mna tiez zdrzali bloky 8x8, bolo mi luto zahodit ten tracer. Skusal som otacat podla smeru ciary, skusat nespojito ukladat bloky a ine zvrhlosti. Nabuduce si nastavim reminder na okamih kedy sa zverejnia zadania a beriem dovolenku :)