Avatar
David Čápka
Tým ITnetwork
Avatar
David Čápka:

Ahoj programátoři, tento týden budeme v minisoutěži o placku "Machr na algoritmy" (nebo nějakou jinou, kterou ještě nemáte) vykreslovat rostlinu. Naprogramujte aplikaci, která vykreslí co nejzajímavější rostlinu tak, aby nevypadala při každém spuštění stejně. Dost možná budete chtít použít l-systémy, ale pěkných výsledků lze dosáhnout i bez pokročilé matematiky nebo algoritmizace. Generátor rostliny by měl být ideálně objektový a nastavitelný, předveďte tvorbu rostliny s různými parametry.

Můžete použít libovolný programovací jazyk z těch, které mají na devbooku sekce :)

Deadline si dejme jako obvykle v neděli 17.11. v 18:00 hodin.
Podrobnější pravidla soutěží: http://www.itnetwork.cz/…outezi-machr

Odpovědět 12.11.2013 11:26
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
Dimus
Redaktor
Avatar
Odpovídá na David Čápka
Dimus:

Když už bych se se svými mizernými znalostmi snad pustil do vytváření, jaké parametry by měly být nastavitelné?

Nahoru Odpovědět 12.11.2013 18:09
Oheň je přítel, ne sluha! | Mezi pyromanií a pyromancií je zásadní rozdíl. Kdo ho nezná, nepatří ani do jedné skupiny.
Avatar
Odpovídá na Dimus
Jakub Lásko[Saarix]:

Podlě mě asi teoreticky výška kmene, počet větví, počet listů na větvi je taky možný a pak třeba definovat typy stromů podle stavby koruny :-)

Nahoru Odpovědět 12.11.2013 18:24
Časem je vše možné.
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Dimus
David Čápka:

Třeba to co zmínil Jakub, také jde o úhly mezi větvemi, pravděpodobnost změny úhlu a podobně, to už závisí na použitémalgoritmu.

Nahoru Odpovědět 12.11.2013 18:41
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
Neaktivní uživatel:

chci se zeptat, mohu se ucastnit i s ASCII stromem ktery by mel ruzne vetve atd.?

Nahoru Odpovědět 12.11.2013 20:19
Neaktivní uživatelský účet
Avatar
Odpovídá na David Čápka
Michael Olšavský:

Je to o kreslení toho stromu nebo mohu nechat na uživately pravidla generování?

 
Nahoru Odpovědět 12.11.2013 20:27
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Michael Olšavský
David Čápka:

Jde hlavně o to jak bude vypadat ta rostlina (a samozřejmě i kód).

Nahoru Odpovědět 13.11.2013 11:13
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
Neaktivní uživatel:

zde posilam :-)

http://leteckaposta.cz/125762138

sice ASCII ale snad to nebude vadit :-)

Nahoru Odpovědět 14.11.2013 18:55
Neaktivní uživatelský účet
Avatar
Dimus
Redaktor
Avatar
Dimus:

Tak tady jsem splácal nějaký ten strom: http://leteckaposta.cz/988571348
má občas nějaké grafické mouchy, ale automaticky je opraví :D v rozhraní skoro nic není, není třeba popisovat :)

Nahoru Odpovědět  +2 15.11.2013 21:51
Oheň je přítel, ne sluha! | Mezi pyromanií a pyromancií je zásadní rozdíl. Kdo ho nezná, nepatří ani do jedné skupiny.
Avatar
Zdeněk Pavlátka
Tým ITnetwork
Avatar
Odpovídá na Dimus
Zdeněk Pavlátka:

Nad stromem se ti generuje široká hnědá čára. Mimochodem, v čem je to dělané?

Nahoru Odpovědět 16.11.2013 9:35
Kolik jazyků umíš, tolikrát jsi programátor.
Avatar
Dimus
Redaktor
Avatar
Odpovídá na Zdeněk Pavlátka
Dimus:

Fakt? díky za info, mě to nedělalo, nevím proč :D zkusím na jiném os. A je to v Constructu 0.87

Nahoru Odpovědět 16.11.2013 9:51
Oheň je přítel, ne sluha! | Mezi pyromanií a pyromancií je zásadní rozdíl. Kdo ho nezná, nepatří ani do jedné skupiny.
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Dimus
David Čápka:

Také tam mám čáru, kterou u běžných stromů nepozoruji, jinak pěkné :)

Nahoru Odpovědět 16.11.2013 9:54
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
Posix
Člen
Avatar
Odpovídá na Dimus
Posix:

Muzes sem poslat aspon obrazek, nemuzu to spustit, protoze nemam directx 9. diky..

Nahoru Odpovědět 17.11.2013 9:40
Proč to dělat jednoduše, když to jde složitě.
Avatar
Michael Olšavský:

https://drive.google.com/folderview?…

Přidávám svou verzi. Tento týden to bylo zajímavé zadání. Se samotným algoritmem jsem si docela vyhrál. Splnilo to účel něčeho nového :-)

 
Nahoru Odpovědět 17.11.2013 10:48
Avatar
Silvinios
Redaktor
Avatar
Silvinios:

Posílám řešení (HTML5 + JavaScript)
http://leteckaposta.cz/715213459

 
Nahoru Odpovědět  +1 17.11.2013 11:27
Avatar
Dimus
Redaktor
Avatar
Odpovídá na David Čápka
Dimus:

Diky za upozorneni, pokusim se to do 6pm opravit, bohuzel jsem hned po nahrani programu odjel z domu, stale tam nejsem :) a posix obrazek za chvili nahraju

Nahoru Odpovědět 17.11.2013 13:18
Oheň je přítel, ne sluha! | Mezi pyromanií a pyromancií je zásadní rozdíl. Kdo ho nezná, nepatří ani do jedné skupiny.
Avatar
Zdeněk Pavlátka
Tým ITnetwork
Avatar
Zdeněk Pavlátka:

Nečekal bych, že to přepisování L-systémů je tak složité. :D Ale stihnout bych to měl.

Nahoru Odpovědět 17.11.2013 14:30
Kolik jazyků umíš, tolikrát jsi programátor.
Avatar
Dimus
Redaktor
Avatar
Odpovídá na David Čápka
Dimus:

Tak jsem to zkusil na XP a W7, žádná čára. Mohl bys to prosím víc popsat nebo třeba poslat screenshot? Jinak můj screenshot je přiložen :)

Nahoru Odpovědět 17.11.2013 15:21
Oheň je přítel, ne sluha! | Mezi pyromanií a pyromancií je zásadní rozdíl. Kdo ho nezná, nepatří ani do jedné skupiny.
Avatar
Zdeněk Pavlátka
Tým ITnetwork
Avatar
Odpovídá na Dimus
Zdeněk Pavlátka:

Mám Windows Vista. A tady máš obrázek:

Editováno 17.11.2013 16:08
Nahoru Odpovědět  +1 17.11.2013 16:07
Kolik jazyků umíš, tolikrát jsi programátor.
Avatar
Dimus
Redaktor
Avatar
Odpovídá na Zdeněk Pavlátka
Dimus:

Dík moc! Zkusil jsem to opravit, snad to teď poběží, asi to bylo tím, že generátor chodil do mínusu a na Vistě to asi bralo ten mínus jako šířku. Zde je nový program: http://leteckaposta.cz/790863788

Nahoru Odpovědět 17.11.2013 16:22
Oheň je přítel, ne sluha! | Mezi pyromanií a pyromancií je zásadní rozdíl. Kdo ho nezná, nepatří ani do jedné skupiny.
Avatar
Zdeněk Pavlátka
Tým ITnetwork
Avatar
Zdeněk Pavlátka:

Zase něco nefunguje! To je u každýho Machra! Tentokrát nefunguje přepisování.
Místo

O(l) -> O(l) O(l)

udělá

O(l) -> O() O()

Kód ještě před chvílí fungoval! A zlobí až při několikátém přepisu.

Nahoru Odpovědět 17.11.2013 16:37
Kolik jazyků umíš, tolikrát jsi programátor.
Avatar
Zdeněk Pavlátka
Tým ITnetwork
Avatar
Zdeněk Pavlátka:

Opravit se mi to nepodařilo( :@ ), tak alespoň posílám svůj ukázkový L-systém v Malsys( http://malsys.cz/Process - výborně se v tom vytvářejí obrázky rostlin)

lsystem tree {
        set symbols axiom = N(3);
        set initialAngle = 90;
        set iterations = 7;
        let x = (random()*30-15);

        interpret N(l) as DrawForward(l, 1, #008000);
        interpret O(l) as DrawForward(l, 1, #804000);
        interpret L(c) as TurnLeft(c*(0.5+(random()/2)));
        interpret P(c) as TurnLeft(-c*(0.5+(random()/2)));
        interpret [ as StartBranch;
        interpret ] as EndBranch;

        rewrite N(l) to O(l/2) P(x) [ P(22) N(l) ] [ L(22) N(l) ] O(l/2) N(l);
        rewrite O(l) to O(l) O(l);
}

process tree with SvgRenderer;

Generuje náhodně, kód se vloží do textového pole a stiskne se tlačítko Process & display results

Editováno 17.11.2013 17:29
Nahoru Odpovědět 17.11.2013 17:24
Kolik jazyků umíš, tolikrát jsi programátor.
Avatar
Zdeněk Pavlátka
Tým ITnetwork
Avatar
Odpovídá na Zdeněk Pavlátka
Zdeněk Pavlátka:

Ještě obrázek :D i když nesplňuju zadání (Můžete použít libovolný programovací jazyk z těch, které mají na devbooku sekce) asi budu muset napsat nějaké tutoriály na Malsys :D

Nahoru Odpovědět  +2 17.11.2013 17:30
Kolik jazyků umíš, tolikrát jsi programátor.
Avatar
David Dostal
Redaktor
Avatar
David Dostal:

Na https://www.dropbox.com/…j/susQiAQoa7 najdete můj výtvor. Při náhodném generování pravidel snaží generovat pravidla podobná těm, co jsou nadefinovaná v souboru ls.txt - můžete přidávat vlastní (první řádek je axiom, další jsou pravidla). Ještě jsem chtěl udělat nastavitelné obarvování podle písmen, to už jsem bohužel nestihl.
PS: Nastavitelnost, o které Sdraco psal jsem možná trochu přehnal.

 
Nahoru Odpovědět 17.11.2013 17:32
Avatar
Zdeněk Pavlátka
Tým ITnetwork
Avatar
Odpovídá na David Dostal
Zdeněk Pavlátka:

Pěkné, škoda těch barev. Ale pořád lepší než já :D .

Nahoru Odpovědět 17.11.2013 17:37
Kolik jazyků umíš, tolikrát jsi programátor.
Avatar
David Čápka
Tým ITnetwork
Avatar
David Čápka:

Rozhodl jsem se udělit zas více placek, jelikož výsledky jsou super :) Těm, co použili L-systémy, jsem přidal, protože je to něco nového a cením si toho, že se tím prokousali a prakticky to použili.

David Dostal - Salátík to rozjel ve velkém stylu, výstup sice není tak propracovaný, ale položil jsi silné základy interpreteru L-systémů. Jen mi chvíli trvalo, než jsem přišel na to, že asi nemám zadávat více než 5 iterací :) Některé rostliny jsem na zemi ještě neviděl, ale stejně je to jasný machr na algoritmy.

Michael Olšavský - Další úspěšné využití L-systémů. Rostlinka vypadá lépe než u Salátíka, ale trochu jsi to přehnal s počtem iterací a nejsou tak náhodné. Vykreslení občas neproběhne, možná kreslíš směrem dolů, chtělo by to opravit. Vím, že algoritmy již zkoušíš asi po sté, tak je máš mít :)

Dimus - Výstup vypadá graficky dost dobře, škoda toho Constructu. Oproti ostatním to nemůžu moc dobře hodnotit, ale ten výstup je prostě super, co bys říkal placce Machr na efekty? Ta se dává hlavně za grafické zpracování.

Silvinios - Šel jsi na to klasickou cestou, výsledek i implementace vypadají pěkně, chválím změnu barev. Jsi asi někde mezi nejlepším grafickým výsledkem a nejlepším použitým algoritmem, tak jsem placku nechal klukům, nejraději bych ji dal všem, ale to by potom nebyla soutěž :). Stejně budeme moc rádi, když výtvor přidáš.

next-x - Snaha se cení. Stačí ti vytvořit jednu instanci randomu, nemusíš pro každé náhodné číslo tvořit jiný. Určitě se odnauč používat názvy jako foo, bar a podobně.

nuz15 - Rostlina vypadá pěkně, škoda, že jsi to nezvládl s tou aplikací, mohla být velice zajímavá. Určitě ji sem hoď potom mimo soutěž.

Všem děkuji za účast, vítězové nechť publikují výtvory a napíší x adresu a jakou placku chtějí. Těším se příští týden :)

Nahoru Odpovědět 17.11.2013 20:20
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
Odpovídá na David Čápka
Michael Olšavský:

Zkouším většinu Machrů :-D Ale ty na algoritmy jsou nejzajímavější. Díky za vysvětlení proč se to občas nevykreslí :-D S tou náhodností máš pravdu. Dělal jsem to na poslední chvíli. O víkendu jsem neměl moc čas. Každopádně děkuji a gratuluji ostatním :-)

 
Nahoru Odpovědět 17.11.2013 20:35
Avatar
Dimus
Redaktor
Avatar
Odpovídá na David Čápka
Dimus:

Já bych proti placce s efekty nic neměl :D za chvíli bych to publikoval :)

Nahoru Odpovědět 18.11.2013 14:12
Oheň je přítel, ne sluha! | Mezi pyromanií a pyromancií je zásadní rozdíl. Kdo ho nezná, nepatří ani do jedné skupiny.
Avatar
Zdeněk Pavlátka
Tým ITnetwork
Avatar
Odpovídá na David Čápka
Zdeněk Pavlátka:

Já zkoušim každého machra, u kterého se mi líbí zadání a pokaždé mám smůlu. Jednou nefunguje dropbox, jindy nejde načítání ze souboru po řádkách (to bylo opsané z knihy 1001 tipů a triků pro C++) a teď dělá C# nesmyslné chyby. ;(

Nahoru Odpovědět 18.11.2013 16:02
Kolik jazyků umíš, tolikrát jsi programátor.
Avatar
Zdeněk Pavlátka
Tým ITnetwork
Avatar
Odpovídá na David Čápka
Zdeněk Pavlátka:

Zdroják(C#) - https://dl.dropboxusercontent.com/…L_system.zip
Spustitelný soubor - https://dl.dropboxusercontent.com/…stem_run.zip
pozn. odstranil jsem nefunkční část :D, v kódu je zakomentovaná

Nahoru Odpovědět  ±0 18.11.2013 19:32
Kolik jazyků umíš, tolikrát jsi programátor.
Avatar
Zdeněk Pavlátka
Tým ITnetwork
Avatar
Odpovídá na Zdeněk Pavlátka
Zdeněk Pavlátka:

Když už někdo dá i--, mohl by alespoň napsat proč.

Nahoru Odpovědět  ±0 19.11.2013 15:58
Kolik jazyků umíš, tolikrát jsi programátor.
Avatar
Zdeněk Bauer
Redaktor
Avatar
Zdeněk Bauer:

Nuzi, taky mě to štve, chtělo by to nějaký komentáře malinký k tomu :)
Jinak gratuluji výhercům, opravdu moc krásné, žasnu nad kódem, snad se to taky naučím :)

 
Nahoru Odpovědět 19.11.2013 16:34
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 32 zpráv z 32.