Diskuze: Machr na Javu - Koperníkův model sluneční soustavy
V předchozím kvízu, Online test znalostí Java, jsme si ověřili nabyté zkušenosti z kurzu.

Vlastník

Zobrazeno 50 zpráv z 136.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí Java, jsme si ověřili nabyté zkušenosti z kurzu.
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
budeš si asi muset zjistit jednotlivé rychlosti oběhu kolem slunce a pak
to upravit nějak
No už vidím jak to tam budu vykreslovat otočené...
Kdyby se řešil poměr velikostí, Slunce by mělo asi jeden pixel a zbytek by byl neviditelný.
Nad tím jsem už také uvažoval. Pokud by se zvolil vhodný základ, tak by to mohlo vypadat docela dobře.
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.
To bude zajimavá soutěž. Moc se teším na všechny ty výtvory
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.
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
Chtěl jsem se zúčastnit, ale když vidím co se tu plánuje...:D
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.
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
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.
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č
enter - zpomalení času 100x
mezerník - zrychlení času 100x
T - zobrazení oběžných drah
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
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é
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?
Nad tím jsem ani nepřemýšlel, prostě jsem to udělal jako kružnice. Na
elipsy nemám dostatečné znalosti matematiky 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
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ě.
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.
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.
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ňů.
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ňů
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).
Přeně teď mě to taky napdalo nicméně i tak díky.
Záleží na směru otáčení?
Jelikož směr záleží (alespoň doufám) na tom z jaké strany se
díváš, je to jedno
Ř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.
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.
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.
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.
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.
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
Co potřebuji k tomu abych to mohl spustit? Píše mi to že Sluneční
soustava.exe není platná aplikace typu win32
Mě to funguje, mám javu i .Net Framework 4.5
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.
Ve vlastnostech projektu opravdů má 4.5.
Zobrazeno 50 zpráv z 136.