NOVINKA: Získej 40 hodin praktických dovedností s AI – ZDARMA ke každému akreditovanému kurzu!
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í.
Avatar
David Hartinger
Vlastník
Avatar
David Hartinger:5.5.2013 16:25

Ahoj programátoři, vítejte u dalšího kola minisoutěže o placku a samolepky. Naprogramujte v Javě (nebo v jiném libovolném jazyce) Koperníkův model sluneční soustavy. Jedná se o model 9ti planet (i s Plutem), které obíhají kolem slunce po kruhových drahách. Můžete přidat i měsíce. Důležité je, aby se planety pohybovaly stejnými rychlostmi, jako ve skutečnosti (samozřejmě v převedeném měřítku). Dbejte na objektový návrh, nejhezčí funkční soustava vyhrává :)

Deadline si dejme v neděli 12.5. v 15:00.

Odpovědět
5.5.2013 16:25
New kid back on the block with a R.I.P
Avatar
Samik11
Tvůrce
Avatar
Odpovídá na David Hartinger
Samik11:5.5.2013 16:33

Cool, tak to jenom vymakám to co už mám... :)

Nahoru Odpovědět
5.5.2013 16:33
„Radost vidět a rozumět, to je nejkrásnější dar přírody.“ Albert Einstein
Avatar
Odpovídá na David Hartinger
Michal Žůrek - misaz:5.5.2013 16:37

Jsou ty rychlosti někde vypsané?

 
Nahoru Odpovědět
5.5.2013 16:37
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na Michal Žůrek - misaz
David Hartinger:5.5.2013 16:39

Určitě, třeba zde: http://www.multiweb.cz/…planety.html

Snad je to dobře :) Poměry velikostí neřešte, jinak by se tma slunce nevešlo :D

Nahoru Odpovědět
5.5.2013 16:39
New kid back on the block with a R.I.P
Avatar
Honza Bittner
Tvůrce
Avatar
Odpovídá na Michal Žůrek - misaz
Honza Bittner:5.5.2013 16:54

budeš si asi muset zjistit jednotlivé rychlosti oběhu kolem slunce a pak to upravit nějak :)

Editováno 5.5.2013 16:55
Nahoru Odpovědět
5.5.2013 16:54
FIT ČVUT alumnus :-) Sleduj mě na https://twitter.com/tenhobi a ptej se na cokoli na https://github.com/tenhobi/ama.
Avatar
Michal Žůrek - misaz:5.5.2013 17:39

No už vidím jak to tam budu vykreslovat otočené...

 
Nahoru Odpovědět
5.5.2013 17:39
Avatar
Kit
Tvůrce
Avatar
Odpovídá na David Hartinger
Kit:5.5.2013 18:13

Kdyby se řešil poměr velikostí, Slunce by mělo asi jeden pixel a zbytek by byl neviditelný.

Nahoru Odpovědět
5.5.2013 18:13
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
TomBen
Tvůrce
Avatar
Odpovídá na Kit
TomBen:5.5.2013 19:19

Asi by to šlo logaritmicky.

Nahoru Odpovědět
5.5.2013 19:19
Za posledních 200 miliónů let se nic zvláštního nestalo, akorát dinosauři vymřeli a opice se naučily programovat.
Avatar
Kit
Tvůrce
Avatar
Odpovídá na TomBen
Kit:6.5.2013 8:37

Nad tím jsem už také uvažoval. Pokud by se zvolil vhodný základ, tak by to mohlo vypadat docela dobře.

Nahoru Odpovědět
6.5.2013 8:37
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na Kit
David Hartinger:6.5.2013 10:03

To ale myslíš poměr vzdáleností, ne?

Nahoru Odpovědět
6.5.2013 10:03
New kid back on the block with a R.I.P
Avatar
Kit
Tvůrce
Avatar
Odpovídá na David Hartinger
Kit:6.5.2013 10:05

Myslím. Však na tom tvém obrázku to zhruba tak máš.

Nahoru Odpovědět
6.5.2013 10:05
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Kit
Tvůrce
Avatar
Odpovídá na David Hartinger
Kit:6.5.2013 10:11

Slunce má průměr 1,4 mil. km. Pokud bych ho měl ve velikosti jednoho pixelu, Země by byla asi 110 pixelů od něj, Jupiter 550 pixelů a Neptun 3300 pixelů. Tak velký monitor nemám.

Nahoru Odpovědět
6.5.2013 10:11
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Neaktivní uživatel:6.5.2013 16:43

To bude zajimavá soutěž. Moc se teším na všechny ty výtvory :D

Nahoru Odpovědět
6.5.2013 16:43
Neaktivní uživatelský účet
Avatar
Kit
Tvůrce
Avatar
Odpovídá na Neaktivní uživatel
Kit:6.5.2013 17:45

Už dávno jsem chtěl něco takového napsat, aby se i planety ovlivňovaly mezi sebou a mezi ně strčit vlastní kosmickou loď řítící se v jejich gravitačním poli. Třeba se k tomu konečně rozhoupu.

Nahoru Odpovědět
6.5.2013 17:45
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na Kit
David Hartinger:6.5.2013 17:48

Pokud se ti to podaří, tak asi vyhraješ :)

Nahoru Odpovědět
6.5.2013 17:48
New kid back on the block with a R.I.P
Avatar
Kit
Tvůrce
Avatar
Odpovídá na David Hartinger
Kit:6.5.2013 18:06

Ona to není až zase taková sranda, ale když se zvolí ten správný datový model, tak by to mělo jít skoro samo. Chci to udělat v Javě, na něčem se ji naučit musím :)

Nahoru Odpovědět
6.5.2013 18:06
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Michal Maršálek:6.5.2013 21:41

Chtěl jsem se zúčastnit, ale když vidím co se tu plánuje...:D

 
Nahoru Odpovědět
6.5.2013 21:41
Avatar
Odpovídá na Michal Maršálek
Michal Žůrek - misaz:6.5.2013 21:44

Skus :)

Já taky nevím jak to zvládnu, díky mojí (ne)znalosti goniometrických funkcí, ale zítra zkusím přežít ten škleb učitele při položení prvního dotazu.

 
Nahoru Odpovědět
6.5.2013 21:44
Avatar
Odpovídá na Michal Žůrek - misaz
Michal Maršálek:6.5.2013 22:51

Zkusím.
Na tohle nepotřebuješ žádné vysvětlování od učitele, stačí ti jednoduché vzorce v pravouhlém trojúhelníku (sinus, cosinus).
Konkrétně pokud máš:
alfa - úhel (pozice planety) od shora podle směru hodinek
r - poloměr (vzdálenost planety)
x - pozice planety směrem doprava od Slunce
y - pozice planety směrem nahoru od Slunce
tak platí:
x = sin(alfa) * r
a
y = cos(alfa) * r

 
Nahoru Odpovědět
6.5.2013 22:51
Avatar
Kit
Tvůrce
Avatar
Odpovídá na Michal Maršálek
Kit:7.5.2013 9:41

Včera jsem dal dohromady model. Čísla jsem si vycucal z prstu a tak první událostí bylo, že mi uletěl Měsíc z gravitačního vlivu Země. Přitom jsem se sekl v jeho rychlosti jen o 20 %.

To nejtěžší, tedy grafiku, mám teprve před sebou, takže máš stále šanci. Jestli se nepletu, tak důležitá je grafická prezentace a ještě jsem nenakreslil ani pixel.

Nahoru Odpovědět
7.5.2013 9:41
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Lukáš Hruda
Tvůrce
Avatar
Lukáš Hruda:7.5.2013 15:25

Tak jsem si to vyzkoušel a narychlo splácal tohle:
http://leteckaposta.cz/309316270
Nevypadá to zrovna podle představ, s grafikou se mi dělat nechce, ale je zajímavé to pozorovat, asi si z toho udělám spořič :D

enter - zpomalení času 100x
mezerník - zrychlení času 100x
T - zobrazení oběžných drah

Editováno 7.5.2013 15:28
 
Nahoru Odpovědět
7.5.2013 15:25
Avatar
Kit
Tvůrce
Avatar
Odpovídá na Lukáš Hruda
Kit:7.5.2013 15:52

Pěkné. Nejdřív mi chybělo křížení drah Neptunu a Pluta, ale pak jsem si uvědomil, že to má být podle Koperníka, který psal o kruhových drahách.

Mám to podle Kepplera, takže zadání nesplňuji :)

Nahoru Odpovědět
7.5.2013 15:52
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na Kit
David Hartinger:7.5.2013 15:55

Mám pocit, že Koperník hovořil o drahách blížícím se kruhům, takže bys to měl splňovat také :)

Nahoru Odpovědět
7.5.2013 15:55
New kid back on the block with a R.I.P
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na Lukáš Hruda
David Hartinger:7.5.2013 16:00

Pěkný, hlavně ty měsíce :)

Nahoru Odpovědět
7.5.2013 16:00
New kid back on the block with a R.I.P
Avatar
Kit
Tvůrce
Avatar
Odpovídá na David Hartinger
Kit:7.5.2013 16:00

Tak to jo. Ale Einsteina už do toho montovat nebudu. Ty jeho dilatace by stejně byly zcela pohlceny nepřesnostmi okrajových podmínek.

Že bych tam prásknul i nějakou kometu? :)

Nahoru Odpovědět
7.5.2013 16:00
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Lukáš Hruda
Tvůrce
Avatar
Odpovídá na Kit
Lukáš Hruda:7.5.2013 16:01

Nad tím jsem ani nepřemýšlel, prostě jsem to udělal jako kružnice. Na elipsy nemám dostatečné znalosti matematiky :D Spíše jsem se snažil tak nějak vyměřit poměry vzdáleností, velikostí atd. Také jsem se snažil o tak nějak objektový kód i když je to v C++, snad se mi to trochu povedlo. Jenom ty měsíce mi dělají hrozný bordel v kódu :D

 
Nahoru Odpovědět
7.5.2013 16:01
Avatar
Kit
Tvůrce
Avatar
Odpovídá na Lukáš Hruda
Kit:7.5.2013 16:06

Udělal jsi to správně podle Koperníka.

S těmi měsíci ti to věřím. V mém modelu jsem je musel řešit v počátečních datech. Pak už si cestují po svém. Při ladění hodnot si je však vypisuji ve vztahu k domovské planetě.

Nahoru Odpovědět
7.5.2013 16:06
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Lukáš Hruda
Tvůrce
Avatar
Odpovídá na Kit
Lukáš Hruda:7.5.2013 16:54

Ono hlavně těch měsíců je tam nějak moc (jenom Saturn jich má 24) a každý se musí definovat zvlášť. Jelikož se mi s tím nechtělo piplat, tak jsem je udělal rovnou v main.

 
Nahoru Odpovědět
7.5.2013 16:54
Avatar
Kit
Tvůrce
Avatar
Kit:7.5.2013 17:03

Plánuji, že u Země udělám jeden měsíc, u Marsu dva, u Jupitera čtyři a u Saturnu nevím. Nebudu tam dávat každý šutr. Naopak bych tam rád přidal Ceres, když už tam má být i Pluto.

Slunce, planety i měsíce mám v jednom enum i s počátečními daty a mechanikou pohybu.

Nahoru Odpovědět
7.5.2013 17:03
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Michal Žůrek - misaz:7.5.2013 21:00

Já nevím proč, ale když skouším něco vykreslit stupěň po stupni tak ikdyž ta zadám třeba 1 tak se mi to posune o 1 ale asi o 40 stupňů.

 
Nahoru Odpovědět
7.5.2013 21:00
Avatar
Lukáš Hruda
Tvůrce
Avatar
Odpovídá na Michal Žůrek - misaz
Lukáš Hruda:7.5.2013 21:14

57,3 stupně přesněji... pravděpodobně je to v radiánech a ne ve stupních
2pí radiánů = 360 stupňů
1 radián = 360/(2pí) = 57,3 stupňů

 
Nahoru Odpovědět
7.5.2013 21:14
Avatar
Odpovídá na Michal Žůrek - misaz
Michal Maršálek:7.5.2013 21:17

Ano, na to jsem tě zapomněl upozornit. V programovacích jazycích se obvykle (narozdíl od základní školy) nepočítají úhly ve stupních, ale v radiánech (180°=pi rad).

 
Nahoru Odpovědět
7.5.2013 21:17
Avatar
Michal Žůrek - misaz:7.5.2013 21:18

Přeně teď mě to taky napdalo :) nicméně i tak díky.

 
Nahoru Odpovědět
7.5.2013 21:18
Avatar
Zdeněk Pavlátka:8.5.2013 20:34

Záleží na směru otáčení?

Nahoru Odpovědět
8.5.2013 20:34
Kolik jazyků umíš, tolikrát jsi programátor.
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na Zdeněk Pavlátka
David Hartinger:8.5.2013 20:53

Jelikož směr záleží (alespoň doufám) na tom z jaké strany se díváš, je to jedno :)

Nahoru Odpovědět
8.5.2013 20:53
New kid back on the block with a R.I.P
Avatar
Odpovídá na Zdeněk Pavlátka
Michal Maršálek:8.5.2013 20:54

Řekl bych, že když to tam nebudeš mít, tak nebudeš diskvalifikován, na druhou stranu, když to tam mít budeš dostaneš body navíc. Ale u mě to bylo jen přidání jednoho mínuska.

Editováno 8.5.2013 20:56
 
Nahoru Odpovědět
8.5.2013 20:54
Avatar
Odpovídá na David Hartinger
Michal Maršálek:8.5.2013 21:00

Co jsem si všiml, tak se obvykle otáčení znázorňuje směrem doleva. A pokud se přidají měsíce, které se otáčejí v opačném směru, tak to není jedno.

 
Nahoru Odpovědět
8.5.2013 21:00
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na Michal Maršálek
David Hartinger:8.5.2013 21:04

Tak směr měsíců musí být samozřejmě správný vůči směru otáčení planet. Ale jestli to pak celé vynásobíš -1 je jedno, díváš se prostě z druhé strany.

Nahoru Odpovědět
8.5.2013 21:04
New kid back on the block with a R.I.P
Avatar
Odpovídá na David Hartinger
Michal Maršálek:8.5.2013 21:46

Tak teď jsem se dočetl, že všechny velké měsíce sluneční soustavy kromě Tritonu obíhájí ve stejném směru jako planety obíhají. Je to celkem zajímavá probleematika, když si člověk uvědomí, že většina věcí obíhá čí se otáčí stejným směrem.

Editováno 8.5.2013 21:47
 
Nahoru Odpovědět
8.5.2013 21:46
Avatar
Kit
Tvůrce
Avatar
Odpovídá na Michal Maršálek
Kit:9.5.2013 9:25

Je spíš zvláštní ten jeden měsíc, který obíhá obráceně. Obíhání v jednom směru má svou příčinu, ale Triton byl zřejmě až dodatečně zachycen z Kuiperova pásu. Navíc neobíhá úplně obráceně, ale má blíž k polární dráze. I tak je to velmi zvláštní jev.

Model Sluneční soustavy jsem si dávno chtěl udělat kvůli experimentům s trójany.

Nahoru Odpovědět
9.5.2013 9:25
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Michal Maršálek:10.5.2013 19:56

Tak sem přidám své dílo, je to v C#. Objekty tam jsou, měsíce jsem přidal ty největší. Plátno se přizpůsobuje velikosti okna, je tam režim celé obrazovky.
Dá se to plně ovládat jak myší, tak klávesnicí (zobrazení trajektorií, popisků, měsíců, fullscreen, zrychlení času).
Pro prohlížení měsíců doporučuji zapnout zrychlení na hodiny, pro prohlížení vnitřních planet zrychlení na dny (a vypnout měsíce) a pro prohlížení vnějších planet zrychlení na roky (a vypnout měsíce).
https://www.dropbox.com/…soustava.zip

 
Nahoru Odpovědět
10.5.2013 19:56
Avatar
Kit
Tvůrce
Avatar
Kit:11.5.2013 9:23

Obávám se, že to do zítřka nestihnu, tak se ostatní nenechte odradit mými předchozími kecy.

Nahoru Odpovědět
11.5.2013 9:23
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Lukáš Hruda
Tvůrce
Avatar
Odpovídá na Michal Maršálek
Lukáš Hruda:11.5.2013 10:52

Co potřebuji k tomu abych to mohl spustit? Píše mi to že Sluneční soustava.exe není platná aplikace typu win32 :D

 
Nahoru Odpovědět
11.5.2013 10:52
Avatar
Odpovídá na Lukáš Hruda
Michal Žůrek - misaz:11.5.2013 11:00

Mě to funguje, mám javu i .Net Framework 4.5

 
Nahoru Odpovědět
11.5.2013 11:00
Avatar
Honza Bittner
Tvůrce
Avatar
Odpovídá na Michal Maršálek
Honza Bittner:11.5.2013 11:04

wau ... je to cool :)

Nahoru Odpovědět
11.5.2013 11:04
FIT ČVUT alumnus :-) Sleduj mě na https://twitter.com/tenhobi a ptej se na cokoli na https://github.com/tenhobi/ama.
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na Lukáš Hruda
David Hartinger:11.5.2013 11:04

Potřebuješ .NET framework, ale ten je součástí Windows. Nevím v jaké verzi to dělal, zkus stáhnout 4.5. Každopádně by to stejně nemělo napsat tuto hlášku, platná aplikace to je.

Nahoru Odpovědět
11.5.2013 11:04
New kid back on the block with a R.I.P
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na Michal Maršálek
David Hartinger:11.5.2013 11:04

Nasadil jsi laťku docela vysoko, pěkné :)

Nahoru Odpovědět
11.5.2013 11:04
New kid back on the block with a R.I.P
Avatar
Odpovídá na David Hartinger
Michal Žůrek - misaz:11.5.2013 11:05

Ve vlastnostech projektu opravdů má 4.5.

 
Nahoru Odpovědět
11.5.2013 11:05
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 50 zpráv z 136.