Diskuze: Machr na algoritmy - Čtverec, kruh a čára

Java Java Machr na algoritmy - Čtverec, kruh a čára

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

Vítejte v programátorské minisoutěži na tento týden, kde se hraje o modrou placku "Machr na algoritmy" a samolepky. Cílem soutěže je si potrénovat programátorské myšlení na jednoduchém grafickém programu. Můžete si případně vybrat alternativní placky (Machr na efekty, Machr na Javu a podobně).

Program bude kreslit na plátno (bude se jednat o formulářovou aplikaci) a to následující 3 tvary: čtverec, kruh a čáru. Program však smí používat pouze metodu k položení pixelu. Vykreslení čtverce je triviální, kruh je také jednoduchý a k čáře můžete použít algoritmus Bresenham - http://en.wikipedia.org/…ne_algorithm, stačí v jeho úplně základní verzi.

Soutěž není omezena na žádný jazyk, ale pokud to uděláte v něčem obskurním, odevzdejte spolu s aplikací binárku, abych to vůbec spustil :)

Čas je do neděle 18.8. do 15:00.

Odpovědět 13.8.2013 10:10
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
vodacek
Redaktor
Avatar
vodacek:

kdo to mohl vymyslet... to je děsný todle

 
Nahoru Odpovědět 13.8.2013 10:48
Avatar
Kit
Redaktor
Avatar
Odpovídá na vodacek
Kit:

Udělej si želvičku.

Nahoru Odpovědět 13.8.2013 10:57
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na vodacek
David Čápka:

Musel to být opravdu osel :P

Nahoru Odpovědět 13.8.2013 11:12
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
vodacek
Redaktor
Avatar
Avatar
Luboš Běhounek (Satik):

A co se hodnotí? Aby to nebylo jen o zkopírování kusu kódu z internetu :)

Btw Bresenham se dá použít i na kruh ;)

Nahoru Odpovědět 13.8.2013 11:38
:)
Avatar
Michal Žůrek (misaz):

a co to má dělat? :D Jak to má kreslit? to si má vybrat náhodnou souřadnici středu a tam to vykreslit? Nějaký ukázkový obrázek výsledku?

Nahoru Odpovědět 13.8.2013 11:50
Nesnáším {}, proto se jim vyhýbám.
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Luboš Běhounek (Satik)
David Čápka:

Jestli to někdo zkopíruje, tak to samozřejmě nejsem schopen zjistit. Soutěž je od toho, aby si členové devbooku vyzkoušeli něco, co ještě neznají :) Neočekávám velkou účast kvůli prázdninám, proto jsme dali něco jednoduššího. Kdyby se toho náhodou sešlo hodně, tak se bude hodnotit jak jsou algoritmy propracované.

Nahoru Odpovědět 13.8.2013 11:57
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
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Michal Žůrek (misaz)
David Čápka:

Ukázka výsledku by byl čtverec, kruh a čára, asi si to dokážeš představit :) Můžeš je nakreslit kam chceš, jde o ten algoritmus.

Nahoru Odpovědět 13.8.2013 11:58
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
Michal Žůrek (misaz):

aha takže jeden čtverec, jeden kruh a jednu čáru.

Nahoru Odpovědět 13.8.2013 12:00
Nesnáším {}, proto se jim vyhýbám.
Avatar
David Čápka
Tým ITnetwork
Avatar
Nahoru Odpovědět 13.8.2013 12:01
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
Michal Žůrek (misaz):

tak dneska k večeru jedu pryč, tak jsem si pospíšil a dávám to ZDE už teď.
http://uloz.to/…vary-1-0-zip

// kdybych nějakou zvláštní (hodně zvláštní) náhodou vyhrál, tak placku algoritmy už mám, když tak chci javu, adresu snad někdo máte.

Nahoru Odpovědět 14.8.2013 14:12
Nesnáším {}, proto se jim vyhýbám.
Avatar
Odpovídá na Michal Žůrek (misaz)
Michal Žůrek (misaz):

a já hlava děravá i zde zapoměl screenshot hned k prvnímu příspěvku.

Nahoru Odpovědět 14.8.2013 14:13
Nesnáším {}, proto se jim vyhýbám.
Avatar
Ondrca
Redaktor
Avatar
Odpovídá na Michal Žůrek (misaz)
Ondrca:

Kdyz kliknu na ulozit tak napisu jmeno soubouru, ale .png si tam musim dopsat sám.
Mohl bys to trochu předělat :).

Editováno 14.8.2013 14:29
Nahoru Odpovědět 14.8.2013 14:29
Zase jsem o něco chytřejší
Avatar
Nahoru Odpovědět 14.8.2013 15:16
Nesnáším {}, proto se jim vyhýbám.
Avatar
Jan Vargovský
Redaktor
Avatar
Jan Vargovský:

Vadí místo čtverce obdelník a místo kruhu elipsa ? Je to závislé na tom jaké body jsou zvoleny.

 
Nahoru Odpovědět 14.8.2013 17:24
Avatar
GreenMan
Redaktor
Avatar
GreenMan:

Tak som to skúsil v HTML5 canvase. Nečakal som že ma to tak bude baviť, najväčší problém bolo vymyslieť kruh, nakoniec som sa na náročnosť vykašlal :D Celkom ma to nažhavilo na analytickú geometriu čo budúci rok berieme. http://draw.greenmanov.net/

Nahoru Odpovědět  +2 14.8.2013 18:33
Zelená zostane zelenou, aj keď na ňu vyleješ modrú. - Satik64
Avatar
GreenMan
Redaktor
Avatar
GreenMan:

Tak som ešte pozmenil spôsob vykresľovania kruhu, na niečo čo sa mi páčilo viac a namiesto toho, aby som plochu mazal tým, že vykreslím vlastný čierny obdĺžnik o jej veľkosti (čo trvalo celkom dlho), som použil funkciu na mazanie a tým zrýchlil možnosť dynamickej zmeny obrazcov.

Nahoru Odpovědět 15.8.2013 1:45
Zelená zostane zelenou, aj keď na ňu vyleješ modrú. - Satik64
Avatar
martinsakra
Redaktor
Avatar
martinsakra:

Tady mám exe pravděpodobně finální verze kreslítka :D
kvůli elipse jsem musel vytáhnout rok staré poznámky ze školy a i tak to málem nebylo ono ;)

https://mega.co.nz/#!eJlkEJJR!BGWC6ic6-MuIBT1xS3KMr3W9KIkOswkC9mtQ1CT7UWU

Jediný problém je rychlo vykreslování velkých ploch (tj vyplněný čtverec) ale úzké hrdlo je při vykreslování ne v počítání.
Pokud se vám zdá že je to na pixely nějaké velké jsou to 3x3 čtverce :D (WPF nemá čistě kreslení pixelů)

Editováno 17.8.2013 20:46
Nahoru Odpovědět  +1 17.8.2013 20:46
Democracy is two wolves and a lamb voting on what to have for lunch. Liberty is a well-armed lamb contesting the vote.
Avatar
hynekdav
Člen
Avatar
hynekdav:

Tentokrát už se konečně zúčastním. :)
http://uloz.to/…G/shapes-zip

Nahoru Odpovědět 18.8.2013 14:52
Cathedra mea, regulae meae.
Avatar
David Čápka
Tým ITnetwork
Avatar
David Čápka:

Ještě sem pošlu odkazy do mi přišly do PM, ať je to vše u sebe:

Luboš Běhounek (Satik) - https://www.dropbox.com/…Kresleni.zip
Jan Vargovský - http://leteckaposta.cz/904504088

Nahoru Odpovědět 18.8.2013 16:52
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
David Čápka
Tým ITnetwork
Avatar
David Čápka:

Ze zdrojáků je vidět, že jste si s tím všichni pěkně vyhráli, z čehož mám ohromnou radost :) Jelikož se soutěže účastnil i Saťas (jeho dílo viz komentář výše), musím najet na algoritmus "Dej to Satikovi a pak ještě někomu".

První placku tedy získává zdejší machr Luboš Běhounek (Satik), který si s nimi asi doma tapetuje :D Jeho objektový kód umí velmi rychle vykreslovat gradientní kruhy, čáry a dokonce i valící se koule :)

Všechny programy, které dorazily, vypadají slušně, je v nich většinou vidět optimalizace a dělají to, co mají. Co se týče zajímavých funkcí a návrhu se nejdále dostal martinsakra, který implementoval i antialiasing. Získává tedy placku :) Prosím x do PM jakou chceš :)

Všem děkuji za účast a budu se těšit u další soutěže, určitě dáme někdy zas něco podobného, vidím, že grafické algoritmy vás baví :)

Nahoru Odpovědět  +1 18.8.2013 17:06
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
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 22 zpráv z 22.