Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze: Machr na Algoritmy - Vánoční stromek

Aktivity
Avatar
Zdeněk Pavlátka:21.12.2014 10:41

Zdravím všechny. :) V tomto machrovi bude vaším úkolem vytvořit prográmek, který bude náhodně generovat obrázek vánočního stromku s ozdobami. Výsledný obrázek program uloží do souboru, jehož název si zvolí uživatel. Pokud budete chtít, můžete přidat i animaci - generování více obrázků za sebou.

Čas si dáme do neděle 28.12.2014 do 12:00.
Na jakékoli dotazy je dost místa v komentářích.
Povolené jazyky: Java, PHP, C#, ohledně dalších se můžete ptát v komentářích

Kompletní pravidla soutěží: http://www.itnetwork.cz/…outezi-machr

Snažte se dodržet pravidla, za porušení bude bodová penalizace

Odpovědět
21.12.2014 10:41
Kolik jazyků umíš, tolikrát jsi programátor.
Avatar
Odpovídá na Šimon Raichl
Zdeněk Pavlátka:21.12.2014 11:01

Můžeš ho použít, ale nebude za něj tolik bodů.

Nahoru Odpovědět
21.12.2014 11:01
Kolik jazyků umíš, tolikrát jsi programátor.
Avatar
Michal Žůrek - misaz:21.12.2014 12:56

Visual Basic?

 
Nahoru Odpovědět
21.12.2014 12:56
Avatar
Nahoru Odpovědět
21.12.2014 13:00
Kolik jazyků umíš, tolikrát jsi programátor.
Avatar
PiskotPiskotovic:21.12.2014 13:12

Javascript ?

Nahoru Odpovědět
21.12.2014 13:12
Error 404 - stránka motto.php nenalezena.
Avatar
Nahoru Odpovědět
21.12.2014 15:28
Neaktivní uživatelský účet
Avatar
Ondrca
Tvůrce
Avatar
Odpovídá na Neaktivní uživatel
Ondrca:21.12.2014 15:30

Ou, tak C++ bude drsný :D

Nahoru Odpovědět
21.12.2014 15:30
Zase jsem o něco chytřejší
Avatar
Odpovídá na Ondrca
Neaktivní uživatel:21.12.2014 15:31

Pročpak? S OpenGL to pujde super. :)

Nahoru Odpovědět
21.12.2014 15:31
Neaktivní uživatelský účet
Avatar
Ondrca
Tvůrce
Avatar
Odpovídá na Neaktivní uživatel
Ondrca:21.12.2014 15:33

Jako že to nepůjde, nebo špatně jsem nemyslel, ale prostě C++ je na mě jinej level :D

Nahoru Odpovědět
21.12.2014 15:33
Zase jsem o něco chytřejší
Avatar
Zdeněk Pavlátka:21.12.2014 15:34

Javascript a C++ klidně :)

Nahoru Odpovědět
21.12.2014 15:34
Kolik jazyků umíš, tolikrát jsi programátor.
Avatar
Insane Qurd
Tvůrce
Avatar
Nahoru Odpovědět
21.12.2014 17:12
It's impossible to say it's impossible.
Avatar
Nahoru Odpovědět
21.12.2014 17:22
https://www.facebook.com/peasantsandcastles/
Avatar
Nahoru Odpovědět
21.12.2014 17:47
Kolik jazyků umíš, tolikrát jsi programátor.
Avatar
alfonz
Člen
Avatar
alfonz:21.12.2014 17:56

Je povolené i nějaké nastavení nebo to musí být čistě náhodné? Mimochodem není to na hlavní stránce fóra :)

Nahoru Odpovědět
21.12.2014 17:56
lmao
Avatar
mnauik
Člen
Avatar
mnauik:21.12.2014 20:59

Může obrázek obsahovat jakoby jiné obrázky? Např nějakou fotku jako pozadí nebo nějaké ozdoby v podobě obrázku atd?

Nahoru Odpovědět
21.12.2014 20:59
minusuj mě, ale zdůvodni to ;)
Avatar
alfonz
Člen
Avatar
Odpovídá na mnauik
alfonz:21.12.2014 21:08

Pokud to zvládneš všechno uložit do souboru tak to asi nebude problém :)

Nahoru Odpovědět
21.12.2014 21:08
lmao
Avatar
Odpovídá na mnauik
Michal Žůrek - misaz:21.12.2014 21:17

myslím, že by to nemělo vadit, ale záživnější je udělat to "kreslené" nebo rovnou vektorové.

 
Nahoru Odpovědět
21.12.2014 21:17
Avatar
alfonz
Člen
Avatar
alfonz:21.12.2014 23:23

Není to zas tak těžké. Svoji verzi už mám. Mix XNA a Winforms :D. Přes týden doladím grafiku a návrh a pošlu to :)

Nahoru Odpovědět
21.12.2014 23:23
lmao
Avatar
Odpovídá na alfonz
Zdeněk Pavlátka:22.12.2014 9:25

Nastavení tam může být :)

Nahoru Odpovědět
22.12.2014 9:25
Kolik jazyků umíš, tolikrát jsi programátor.
Avatar
Odpovídá na mnauik
Zdeněk Pavlátka:22.12.2014 9:27

Ano, můžeš použít nějaké obrázky, ale jak psal Michal Žůrek - misaz , zajímavější by to bylo "kreslené".

Nahoru Odpovědět
22.12.2014 9:27
Kolik jazyků umíš, tolikrát jsi programátor.
Avatar
alfonz
Člen
Avatar
Odpovídá na Zdeněk Pavlátka
alfonz:22.12.2014 13:35

Napadlo mě jestli by se za výhru Machra mohlo dostávat i body :)

Nahoru Odpovědět
22.12.2014 13:35
lmao
Avatar
Odpovídá na alfonz
Michal Žůrek - misaz:22.12.2014 14:34

však za výhru dostaneš 10 bodů, když to publikuješ.

 
Nahoru Odpovědět
22.12.2014 14:34
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na Michal Žůrek - misaz
David Hartinger:22.12.2014 16:33

Za program je trochu min, ale shrnul jsi to dobre :)

Nahoru Odpovědět
22.12.2014 16:33
You are the greatest project you will ever work on.
Avatar
alfonz
Člen
Avatar
alfonz:22.12.2014 19:25

Jak moc záleží na grafice? :)

Nahoru Odpovědět
22.12.2014 19:25
lmao
Avatar
Odpovídá na alfonz
Zdeněk Pavlátka:22.12.2014 19:35

hodně ;) 50% kód, 50% výsledné obrázky

Nahoru Odpovědět
22.12.2014 19:35
Kolik jazyků umíš, tolikrát jsi programátor.
Avatar
coells
Tvůrce
Avatar
coells:22.12.2014 23:19

Něco pro vánoční náladu od Boltzmanna, když už je tenhle machr.

V příloze je obrázek vánočního stromku, který jsem zadal do neuronové sítě, aby se ho naučila. Animovaný gif obsahuje celý proces učení, takže je hezky vidět, jak v danou chvíli celá síť uvažuje.

Enjoy :-)

 
Nahoru Odpovědět
22.12.2014 23:19
Avatar
martinsakra
Tvůrce
Avatar
Odpovídá na coells
martinsakra:23.12.2014 9:24

tak k tomuhle by mě,ale opravdu zajmali zdrojový kody

Nahoru Odpovědět
23.12.2014 9:24
Democracy is two wolves and a lamb voting on what to have for lunch. Liberty is a well-armed lamb contesting the vote.
Avatar
coells
Tvůrce
Avatar
Odpovídá na martinsakra
coells:23.12.2014 11:01

Zrovna tady jsou zdrojáky naprosto nezajímavé, složitost není o nic vyšší než u programu, který řeší soustavu lineárních rovnic, což je jenom pár for-cyklů. Těžká je matematika za tím. Používám Restricted Boltzmann Machines a Stochastic Gradient Descent, hezká přednáška od tvůrce metody je na http://videolectures.net/…audolph_aml/

 
Nahoru Odpovědět
23.12.2014 11:01
Avatar
Michal Žůrek - misaz:23.12.2014 20:29

Po hodně, ale hodně dlouhé době se zapojuji i já. http://misaz.moxo.cz/…reeMisaz.zip
Moje řešení je jednoduché, až na.

• naimportovat ttf font je sice utrpení ale jde to.
• vyexportovat GIF je s nástroji .NETu ještě větší utrpení a ačkoliv by to sice mělo jít, nejde to nebo borci ze Stackoverflow neví jak. Musel jsem tedy použít 3rd party library NGif.

Umí to vyexportovat PNG a GIF.

 
Nahoru Odpovědět
23.12.2014 20:29
Avatar
Odpovídá na Michal Žůrek - misaz
Tomáš Maňhal:23.12.2014 21:30

Soubor je nebezpečný a byl zablokován :-D

 
Nahoru Odpovědět
23.12.2014 21:30
Avatar
Adam Ježek
Tvůrce
Avatar
Odpovídá na Tomáš Maňhal
Adam Ježek:23.12.2014 21:31

To mi chrome dělá pořád a se všim :D

Nahoru Odpovědět
23.12.2014 21:31
Počkej chvíli, poradím se s křišťálovou koulí.
Avatar
coells
Tvůrce
Avatar
Odpovídá na Michal Žůrek - misaz
coells:23.12.2014 21:33

svůj animovaný gif jsem exportoval přímo z .NET pomocí vestavěného GifBitmapEncoder, nepotřebuješ 3rd party knihovnu

 
Nahoru Odpovědět
23.12.2014 21:33
Avatar
Odpovídá na Tomáš Maňhal
Michal Žůrek - misaz:23.12.2014 21:34

Chrome? Taky mi to teď tak označil, nevím proč. Nic nebezpečného v tom není. Tvrdí to i virustotal. https://www.virustotal.com/…/1419366794/

(nevím jestli ten superdivný odkaz bude fungovat)

 
Nahoru Odpovědět
23.12.2014 21:34
Avatar
Odpovídá na Michal Žůrek - misaz
Tomáš Maňhal:23.12.2014 21:36

Nechápu proč to Chrome dělá :-) Nějspíš z důvodu, že není soubor nijak často stahovaný :-)

 
Nahoru Odpovědět
23.12.2014 21:36
Avatar
MadaraCZech
Tvůrce
Avatar
Odpovídá na Michal Žůrek - misaz
MadaraCZech:23.12.2014 21:38

Že by se dal Misaz na dráhu hackera ? :D

 
Nahoru Odpovědět
23.12.2014 21:38
Avatar
Odpovídá na coells
Michal Žůrek - misaz:23.12.2014 21:40

to jsem zkoušel (mám tam tu metodu zakomentovanou), ale nelze tam nastavit tu prodlevu a většina programů (které jsem zkoušel) to neanimuje nebo zanimuje moc rychle a neopakuje do nekonečna.

 
Nahoru Odpovědět
23.12.2014 21:40
Avatar
Odpovídá na Tomáš Maňhal
Michal Žůrek - misaz:23.12.2014 21:42

anebo moje doména (resp. moxo.cz) není moc důvěryhodná.

 
Nahoru Odpovědět
23.12.2014 21:42
Avatar
coells
Tvůrce
Avatar
Odpovídá na Michal Žůrek - misaz
coells:23.12.2014 21:49

Na stackoverflow najdeš návody, jak to udělat i s časováním nebo to jako já vygeneruj a hoď do GIMPu, kde už jen upravíš časování.

 
Nahoru Odpovědět
23.12.2014 21:49
Avatar
dave_23
Tvůrce
Avatar
dave_23:23.12.2014 23:27

Zde je tedy můj výtvor :`
http://leteckaposta.cz/562298113

 
Nahoru Odpovědět
23.12.2014 23:27
Avatar
Lukáš Hruda
Tvůrce
Avatar
Lukáš Hruda:25.12.2014 15:09

Přikládám svůj pokus:
http://leteckaposta.cz/263961101

Poznámky:
Při ukládání souboru je potřeba přidat koncovku .png.
Generování stromu funguje na principu fraktálů.
Nechtěl jsem, aby dekorace byla přeplácaná barvami, takže jsem se omezil pouze na červenou a modrou, světélka mají pouze červenou barvu, modrá nevypadala dobře.
Pravděpodobnost výskytu střapců je 50%, nechtěl jsem aby tam byly vždy, protože mi bez nich strom připadá většinou hezčí, ale prázdnější.
Přišlo mi divné, když světélka pouze "vysela na větvích", takže jsem implementoval i vykreslení kabelu, který světélka spojuje, podle mě to vypadá lépe.

Zde ukázka:

 
Nahoru Odpovědět
25.12.2014 15:09
Avatar
Ondřej Štorc
Tvůrce
Avatar
Ondřej Štorc:27.12.2014 20:29

Taky se přidám se svým <a href="https:/­/drive.google­.com/file/d/0B8tNhz­LqjXuIYVJBM2JncUh­PZlU/view?usp=sha­ring">výtvorem</a>, jeho největším nedostatkem je hrozně pomalé vytváření GIFů nevím čím to je způsobený, možná je to jen mým počítačem (nemám možnost to otestovat jinde). Je tam přidané i nějaké to nastavení

Taky přidám ukázku:

Nahoru Odpovědět
27.12.2014 20:29
Život je příliš krátký na to, abychom bezpečně odebírali USB z počítače..
Avatar
Zdeněk Pavlátka:1.1.2015 14:54

Šimon Raichl :
Nefunguje ukládání obrázku, pravděpodobně kvůli tomuhle:

obrazek = "obrazek";
soubor = get_save_filename("Bitmapa|*.bmp", obrazek); // vrací "obrazek.bmp" ( včetně přípony )
screen_save_part(soubor + ".bmp", 0, 48, 640, 480); // ukládáš obrazek.bmp.bmp

Kmen stromku vypadá trochu divně, je hrozně tlustý a asi by měl být "za stromkem", ne ho překrývat. Navíc se při generování mění jen pozice jeho pravé strany, neposouvá se celý.

Michal Žůrek - misaz :
Kartičky jsou moc pěkné, líbí se mi nápad s popiskem.
Kód nevypadá špatně, ale tohle je trochu zvláštní:

While True
        x = rnd.Next(0, mask.Width)
        y = rnd.Next(0, mask.Height)

        If mask.GetPixel(x, y) = color Then
                Exit While
        End If
End While

Kdyby na obrázku daná barva nebyla, máš nekonečný cyklus.
Kód je pěkně komentářovaný, přehledný.

Lukáš Hruda :
Moc pěkný výtvor. Po vzhledové stránce by to možná chtělo více barev (hlavně světýlka, nebýt drátků mezi nimi bych ani nepoznal, že to nejsou jen další ozdoby) a kousek kmenu pod stromkem.
Pokud při ukládání za název nedám příponu, program jí tam nedoplní, to by určitě chtělo spravit.

dave_23 :
Kód není špatný, generování řetězů je řešeno celkem pěkně, jen ozdoby se generují dost divně.

Ondřej Štorc :
Nastavení je pěkné, kód není špatný, vše dobře funguje :)

Nejvíce se mi líbil výtvor od Lukáš Hruda , svůj výtvor publikuj a napiš si, jakou placku a kam ti mám poslat.

Akceptované řešení
+20 Zkušeností
Řešení problému
Nahoru Odpovědět
1.1.2015 14:54
Kolik jazyků umíš, tolikrát jsi programátor.
Avatar
Odpovídá na Zdeněk Pavlátka
Michal Žůrek - misaz:1.1.2015 15:34

ten cyklus tam je protože ta barva tam 100% bude. Je to rychlejší řešení než vykreslit baňky a pak je metodou ořezávat podle te masky, efekt je stejný, ale je to rychlejší.

 
Nahoru Odpovědět
1.1.2015 15: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 44 zpráv z 44.