Digitální agentura Cognito.cz uvádí na trh pokročilý rezervační systém WediLiv, vyvinutý speciálně pro pořadatele svateb a dalších společenských a...

Když se dnes v běžné IT firmě vysloví slovo “simulovat”, vzbudí to u přítomných pravděpodobně především snahu rozpomenout se, kdy naposledy předstírali zánět slepého střeva, celkovou tělesnou slabost, případně premenstruační či postejakulační syndrom, aby pak místo nahlášeného sickday vyrazili na výlet nebo rande. V dávných dobách, když jsem ještě žil, tomu však bylo úplně jinak.
V těch temných časech, kdy monitory ještě nebyly placaté a srdce počítačů netepaly v ritmu gigahertz nýbrž v k uzoufání utahaných megahertz, se počítače nepoužívaly toliko k posílání zbytečných zpráv, psaní a čtení ještě zbytečnějších článků, natožpak k natáčení a sledování storíček, porna a seriálů. Hlavním úkolem počítačů bylo, světe div se, počítat, a to především různé fyzikální, chemické a také astronomické simulace, s jejichž pomocí jsme se snažili nakouknout do budoucnosti nebo pochopit minulost.
Obecná představa laické veřejnosti, a dnes i valné části vývojářů, o tom, jak fyzici a jiní podobní magoři dochází k výsledkům je, že prostě počítají složité rovnice, často diferenciální, integrály, matice a jiné prasárny, aby po hodinách úmorné práce získali výsledek v podobě čísla nebo nějaké funkce. Takovému přístupu k řešení matematických problémů se říká analytický, a jeho cílem je nalezení přesného, často obecného řešení rovnic pomocí algebraických operací a diferenciálního a integrálního počtu.
Matematický aparát pro tento způsob řešení fyzikálních problémů vymysleli intelektuální superhrdinové jako Descartes, Newton, Leibnitz, Euler nebo Fourier (omlouvám se všem zasloužilým zemřelým, které jsem nejmenoval, rozkládejte se v pokoji) což umožnilo Evropanům vyvinout technologie, se kterými ovládli a vybudovali moderní svět, tak jak ho dnes známe.
Jenže už Newton v 17. století věděl, že existují úlohy, na které jsou analytické metody krátké, protože vedou na příliš komplikované soustavy vzájemně propletených rovnic, pro které je nemožné najít přesné a obecné řešení. Zatímco sestavit a obecně vyřešit rovnice, které popisují soustavu dvou na sebe vzájemně gravitačně působících těles je při znalosti Newtonova gravitačního zákona snadné, udělat to stejné pro soustavu tří těles je komplikované jak ženská psychologie.
Pokud vás děsí vzorce, pusťte si tohle video a následující dva odstavce klidně přeskočte!
Newtonův gravitační zákon říká, že dvě tělesa o hmotnostech m1 a m2 se přitahují silou F, která je přímo úměrná součinu jejich hmotností a nepřímo úměrná čtverci vzdálenosti r mezi nimi, což můžeme zapsat do jednoduché rovnice:
F = G m1 m2r2
kde:
Vektorová forma:
Pro těleso m1 působící na těleso m2:
F12 = G m1 m2r2r
Pro těleso m2 působící na těleso m1:
F21 = -G m1 m2r2r
Tyto rovnice není složité vyřešit a jejich výsledkem je zjištění, že se dvě tělesa v závislosti na počátečním směru a rychlosti buď srazí nebo otáčejí okolo společného těžiště po uzavřených drahách, případně, že se od sebe začnou vzdalovat.
Jak už jsem uvedl výše, problém tří těles je složitý a obecně nemá jednoduché analytické řešení. Nicméně umíme zapsat pohybové rovnice pro každé z těles v systému, které vyjadřují vzájemné gravitační působení. Síly působící na každé těleso jsou výsledkem gravitační interakce s ostatními dvěma tělesy a pohybové rovnice pro každé těleso tedy můžeme zapsat následujícím způsobem:
Rovnice pohybu pro těleso m1:
F1 = G m1 m2|r2 - r1|3 (r2 - r1) + G m1 m3|r3 - r1|3 (r3 - r1)
Rovnice pohybu pro těleso m2:
F2 = G m2 m1|r1 - r2|3 (r1 - r2) + G m2 m3|r3 - r2|3 (r3 - r2)
Rovnice pohybu pro těleso m3:
F3 = G m3 m1|r1 - r3|3 (r1 - r3) + G m3 m2|r2 - r3|3 (r2 - r3)
Pohybové rovnice v diferenciálním tvaru:
m1d2r1dt2 = G m1m2 (r2 - r1)|r2 - r1|3 + m3 (r3 - r1)|r3 - r1|3
m2d2r2dt2 = G m2m1 (r1 - r2)|r1 - r2|3 + m3 (r3 - r2)|r3 - r2|3
m3d2r3dt2 = G m3m1 (r1 - r3)|r1 - r3|3 + m2 (r2 - r3)|r2 - r3|3
Soustava tří těles se narozdíl od té obsahující pouze dvě tělesa nechová pěkně, protože gravitační vliv třetího tělesa (v závislosti na poměru hmotností těles) do systému vnáší "chaos". Obecné a přesné analytické řešení podobné soustavy diferenciálních rovnic tedy nedokážeme najít, a proto se ke slovu dostávájí počítače a tak zvané numerické metody (neplést si s numerologií, pavědou pro nenapravitelné romantiky a idioty), které se k přibližnému výsledku (ne přesnému, ale dostatečně přesnému pro potřebu výpočtu) dostávají tak, že simulují vývoj systému krok za krokem.
Pro lepší představu dynamiky systému tří těles jsem vám připravil jednoduchý simulátor, s jehož pomocí si můžete vyzkoušet, co se stane při změně různých parametrů, ať už hmotnosti, počáteční polohy nebo rychlosti a směru pohybu těles. V kódu jsem použil Eulerovu metodu pro numerickou integraci pohybu těles, která počítá pozice a rychlosti těles pomocí malých časových kroků.
Abyste se hned nelekli vzniklého chaosu, nastavil jsem počáteční podmínky tak, aby se tělesa chovala ukázněně, třeba jako v naší sluneční soustavě. Stačí ale udělat několik malých změn a předvídatelné chování se promění v chaos. Pár zajímavých konfigurací k vyzkoušení najdete pod simulátorem.
Parametry pro hvězdu, planetu a její měsíc
Popis | Hmotnost (M☉) | Poloha X (AU) | Poloha Y (AU) | Úhel pohybu (°) | Rychlost (m/s) |
---|---|---|---|---|---|
Těleso 1 | 300 | 0 | 0 | 180 | 2 |
Těleso 2 | 1 | 0 | -0.75 | 0 | 600 |
Těleso 3 | 0.0005 | 0 | -0,77 | 2 | 400 |
Parametry pro dvě hvězdy obíhající spořádaně okolo o dva řády hmotnější hvězdy
Popis | Hmotnost (M☉) | Poloha X (AU) | Poloha Y (AU) | Úhel pohybu (°) | Rychlost (m/s) |
---|---|---|---|---|---|
Těleso 1 | 300 | 0 | 0 | 0 | 0 |
Těleso 2 | 1 | 0 | -0.5 | 0 | 750 |
Těleso 3 | 2 | 0 | 1 | -180 | 500 |
Chaotický taneček tří těles
Popis | Hmotnost (M☉) | Poloha X (AU) | Poloha Y (AU) | Úhel pohybu (°) | Rychlost (m/s) |
---|---|---|---|---|---|
Těleso 1 | 40 | 0 | -0.75 | 140 | 15 |
Těleso 2 | 0.4 | -0.5 | 1 | 0 | 150 |
Těleso 3 | 25 | 0.5 | 1 | -45 | 30 |
Další kombinace si může vyzkoušet sami, rychle zjistíte, že najít stabilní konfiguraci systému není snadné, a že se nevyhnete srážkám případně ztrátám těles vystřeleným gravitačním prakem únikovou rychlostí potřebnou k překonání gravitačního vlivu zbylých dvou těles.
Pro úplnost dodávám, že hmotnost se zadává v násobcích hmotností Slunce, poloha v astronomických jednotkách (1AU = 150 mil. km) přičemž střed má souřadnice x=0 a y=0, rychlost v tisících m/s.
Než se z naší soustavy stal v podstatě nudný a zapadlý kousek galaxie, ve kterém dochází ke kataklyzmatickým událostem typu srážek velkých těles sotva jednou za desetiletí, bylo to tady docela peklo. Země i ostatní planety, respektive jejich zárodky se srážely, padaly na ně planetky, větší či menší šutry, o kometárních jádrech a kovových meteoritech nemluvě. Nakonec se stačí podívat na krátery posetý povrch Měsíce, a o pohnuté historii naší planetární soustavy budete mít jasno.
Dnes tady máme relativně klid, ale i tak jednou za pár miliónů let schytáme zásah kometou či skálou o velikosti krajského města, což zapříčiní, že skoro všechno chcípne a Zemi ovládne nějaký nový druh.
Je tedy logické, že se lidstvo snaží sledovat dráhy těles ve sluneční soustavě a předpovídat, jak budou vypadat v budoucnosti, případně identifikovat potenciálně nebezpečné křižiče zemské dráhy, které by nás mohly všechny ubezdušit a umést tak delfínům cestičku k ovládnutí planety. A to se neobejde bez simulací a numerických metod, díky kterým můžeme nahlédnout do budoucnosti.
Numerické metody jsou potřeba všude tam, kdy rovnice nemají přesné řešení nebo jsou příliš složité na řešení tradičními matematickými postupy. Bez numerických metod si na počítači například nespočítáte výši hypotéky nebo průsečík dvou funkcí, třeba y=sin(x) a y=x, o výpočtu soustavy lineárních rovnic nemluvě. Nakonec, pokud se k nám chystáte na pohovor na pozici vývojáře, a objevím se tam já, připravte se, že na jednu z níže uvedených numerických metod přijde řeč.
Metody pro řešení nelineárních rovnic:
Metody pro řešení soustav lineárních rovnic:
Interpolace a aproximace:
Numerická integrace a derivace:
Řešení obyčejných diferenciálních rovnic (ODR):
Řešení parciálních diferenciálních rovnic (PDR):
Nedivte se, že je naše generace tak odolná, když přežila i tohle...
Digitální agentura Cognito.cz uvádí na trh pokročilý rezervační systém WediLiv, vyvinutý speciálně pro pořadatele svateb a dalších společenských a...
Zatímco o významu poměru čísel 90:60:90 pro vývoj lidstva pochybuje málokdo, skutečnost, že život, vesmír a vůbec řídí konstanty jako 9.81, 6.674 ...
Marketing je divoká jízda plná změn, které přicházejí a odcházejí rychleji než nadšení pro nové sociální trendy. Co fungovalo včera, dnes už nemus...