cover picture
Problém tří těles
Problém tří těles - komentované praktikum, ISBN 978-80-270-0991-6, 60 stran, (2017)
Problém tří těles patří mezi nejčastěji diskutované otázky nebeské mechaniky. Zároveň je také jedním z nejstarších a nejobecnějších témat v astronomii, na jehož základech stojí řada výsledků astrofyziky i fyziky obecně. Tato knížka je úvodem pro studenty na pomezí gymnázia a vysoké školy přírodovědného oboru, případně průvodcem pro astronomické kroužky. Ve spojení s počítačem poslouží jako praktikum pro vlastní tvůrčí experimenty a výpočty.
Program young.exe , je volně ke stažení na adrese young.themis.cz/young.exe. Je kompilován pro systém Windows 32 a vyšší. Počítač by se měl zeptat, kam soubor stahnout: nejlépe do nějakého vlastního pracovního adresáře např. \young. To proto, že při spuštění v zásadě zapisuje na disk menší textové soubory, s kterými můžete dál pracovat. Program je vhodnější spouštět z příkazové řádky (cmd), protože můžete pohodlně zadávat parametry pohybu a zobrazení. Není to ale nutné, program se rozběhne také poklikáním myší a parametry se mohou měnit za běhu klávesou E.
V systému Linux běží program v modu nějakého emulátoru, nejčastěji wine . Pokud není ve vašem Linuxu wine přítomen, jednoduše ho nainstalujete příkazem "sudo apt-get install wine". Spuštění potom provedete příkazem "wine young.exe" nebo poklepáním a pod.
Program má cca 70kB.
Text knížky si můžete zde stahnout ve formátu PDF. Najdete ji na adrese young.themis.cz/young.pdf. Knížka je samozřejmě k dispozici v tištěném paperbackovém vydání. Máte-li o ní zájem, napište si o ni vydavatelskému spolku Themis na adresu 28. října 563, 511 01 Turnov, nebo young@themis.cz. Cena není stanovena; autor by rád podpořil mladší astronomické zájemce, pro organizace, které vedou účetnictví, stanovíme cenu dohodou. Všechna autorská práva jsou vyhrazena.
Ovládání programu
Při startu program hledá v aktuálním adresáři soubor young.ini. V něm jsou zapsané počáteční podmínky zobrazovaného pohybu. Je to jednoduchý textový soubor, intuitivně čitelný. Očekává se, že uživatel pro své pokusy edituje právě tento soubor. Pokud soubor neexistuje, program si ho sám vytvoří (pokud lze na disk zapisovat) - zobrazí se úvodní ukázková dráha. Z CMD je možné zadat jiný inicializační soubor pomocí klíče -f, např. -f=muj_ini.muj nebo -f=C:\mydir\young.ini, apod. Hodnoty počátečních podmínek je přirozené zadat též z příkazové řádky (CMD). Hodnoty zadané z CMD mají přednost před přečtenými z young.ini, přímo na CMD mají přednost hodnoty více vpravo. Kromě toho se při každém startu program pokusí zapsat aktuální počáteční podmínky do souboru young.now.
Podmínky zobrazení a výpočtu lze během něj ovlivňovat také klávesami.
a - akcelerace pohybu docílená zvětšením integračního kroku dt na dvojnásobek. Animace je tak zdánlivě rychlejší, cenou ovšem je zhoršení přesnosti výpočtu a ten se tím pádem rozpadne dříve (pokud přesnost klesne pod stanovenou mez dh, dráha se zobrazuje červeně). Default hodnota dt=0.0003. Z CMD se její počáteční hodnota stanoví např. dt=0.001 apod.
s - podobné jak 'a', jen nastane zpomalení animace. Přesnost výpočtu se tím od stisknutí klávesy zlepší.
A - zrychluje zobrazování křivky ovlivňením počtu integračních kroků mezi jednotlivým zobrazením. Tuto hodnotu řídí proměnná dtscan, defaul hodnota je dtscan=10, t.zn., že program zobrazí jem každou desátou vypočítanou polohu. Jinou hodnotu je možné z CMD, např. dtscan=20 apod. Každé stisknutí 'A' zvětší dtscan o 1.
S - podobné jako 'A', ale hodnotu dtscan snižuje.
SPACE (mezerník) - pozastaví výpočet, opětovným stisknutím se výpočet a zobrazování zase rozběhne.
+, - - zvětšuje a zmenšuje zobrazení na obrazovce. Faktor zvětšení či zmenšení je 1.2. Staré zobrazení smaže a celou křivku nakreslí znovu ze své paměti, ta je omezená na 200tis bodů. Znamená to, že program při změně velikosti obrázku vykreslí maximálně tolik posledních zapamatovaných bodů. Hodnotu zobrazovacího koeficientu lze nastavit na startu z CMD ppříkazem zoom=, např. zoom=2, apod.
r - retrográdní pohyb. Mění znaménko dt, čili výpočet začně probíhat opačným směrem (do minulosti). Samozřejmě přitom nelze očekávat, že se dráha začne vracet přesně po dříve vypočítané křivce. Retrográdní výpočet lze inicializovat z CMD volbou swR=1
RIGHT (šipka doprava) - zastaví výpočet (jako SPACE) a při dalším stisknutí provede jen jedno další zobrazení a opět čeká na další povel. Opětovné mačkání klávesy RIGHT se dosáhne krokování výpočtu a jeho detailní analýza.
LEFT (šipka doleva) - zastaví výpočet a po opětovném stisknutí couvne o jedno zobrazení zpět. Vícekrát to opakovat ale v tomto programu není umožněnno, couvat v paměti nelze pro její omezenou kapacitu.
i - swap mezi pohledy z korotující a inerciální soustavy. V korotující soustavě jsou obě primární tělesa nehybná, v inerciální se pohybují po kružnicích. Pohledy mají 3 režimy - 0,1,2 mezi kterými klávesa 'i' swapuje, režim 2 je stejný jako 1, jen tělesa za sebou nenechávají stopu a pohled vypadá tak, jako bychom je pozorovali dalekohledem. Volba z CMD je pomocí klíče swI, např. swI=1 (default je swI=0).
p - zakreslí momentální stav obrazovky do souboru young.bmp do aktuálniho adresáře (pokud lze na disk zapisovat).
P - podobné jak 'p', jen název souboru je young##.bmp. ## jsou čísla postupně probíhající 00 - 99, čili je možné tímto způsobem zaznamenat celou sekvenci pohybu. Po přetečení 99 znovu začíná od 00 bez varování. Začátek sekvence se čísluje podle nejvyššího čísla přítomného na disku.
w - zapíše do souboru young.hit v aktuálním adresáři (pokud lze zapisovat na disk) aktuální fázový vektor polohy třetího tělesa ve formátu [young.ini]. Kromě toho provede zápis i do kratšího souboru young#.phv, kde # cykluje 0 - 9.
(Pozn.: celý průběh pohybu lze zaznamenat i do textového souboru při volbě CMD '-w').
e - edituje soubor 'young.ini'. Nouzová volba jen pro případ, že nelze použít příkazový řádek nebo že uživatel není schopen editovat soubor vlastním editorem.
h - přeruší výpočet a zobrazí stručný help (nápovědu).
ESC - ukončí běh programu.

Další volby CMD (příkazového řádku)


a= ... poměr hmotností (hodnota v rozmezí <0, 1>)
x=, y=, z= ... počáteční souřadnice
u=, v=, w= ... počáteční rychlosti
dt= ... počáteční integrační krok
dhlim= ... odchylka hamiltoniánu, kterou uživatel ještě považuje za korektní (default dhlim=1e-9)
tt= ... počáteční celkový čas (default tt=0.)
dtscan ... viz. klavesová volba 'A', 'S'

Poslední úprava 26.02.2017
(cprght: Mt@themis.cz)