Planet Moves manu´al
Michal Hruˇseck´ y 15. z´aˇr´ı 2004
Obsah I
Uˇ zivatelsk´ a pˇ r´ıruˇ cka
1
´ 1 Uvod
2
2 Instalace 2.1 Minim´aln´ı poˇzadavky . . . . . . . . . . . . . . . . . . . . . . . 2.2 Vlastn´ı instalace . . . . . . . . . . . . . . . . . . . . . . . . . 2.3 Spuˇstˇen´ı . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3 3 3 4
3 Ovl´ ad´ an´ı 3.1 Planety . . . . . . . . . . . . . . 3.1.1 Pˇrid´an´ı planety . . . . . . 3.1.2 Zmˇena vlastnost´ı planety . 3.1.3 Odebr´an´ı planety . . . . . 3.2 Dalˇs´ı nastaven´ı a funkce . . . . . 3.2.1 Nastaven´ı . . . . . . . . . 3.2.2 Dalˇs´ı nastaven´ı . . . . . . 3.3 Simulace . . . . . . . . . . . . . . 3.3.1 Zapnut´ı/vypnut´ı simulace 3.3.2 Z´akony . . . . . . . . . . .
II
Pˇ r´ıruˇ cka program´ atora
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
5 5 5 7 8 8 8 10 11 11 11
12
´ 4 Uvod
13
5 TUniverse 14 5.1 Metody . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 5.1.1 AddPlanet . . . . . . . . . . . . . . . . . . . . . . . . . 14
1
5.1.2 AddTime . . 5.1.3 DestroyPlanet 5.1.4 GetPlanet . . 5.1.5 Refresh . . . 5.1.6 ZDeform . . . 5.2 Vlastnosti . . . . . . 5.2.1 Constants . . 5.2.2 Look . . . . . 5.2.3 Obraz . . . . 5.2.4 Planets . . . . 5.2.5 Sit . . . . . . 5.2.6 Time . . . . . 6 TPlanet 6.1 Metody . . . . . . 6.1.1 AddTime . 6.1.2 Aktualize . 6.1.3 Iteraguj . . 6.1.4 GetMass . . 6.1.5 GetPosition 6.1.6 GetRadius . 6.1.7 GetVelocity 6.1.8 SetMass . . 6.1.9 SetPosition 6.1.10 SetRadius . 6.1.11 SetVelocity 6.2 Vlastnosti . . . . . 6.2.1 F . . . . . . 6.2.2 m . . . . . . 6.2.3 name . . . . 6.2.4 owner . . . 6.2.5 pos . . . . . 6.2.6 r . . . . . . 6.2.7 Track . . . 6.2.8 v . . . . . .
. . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . .
14 14 15 15 15 15 15 16 16 16 17 17
. . . . . . . . . . . . . . . . . . . . .
18 18 18 18 18 19 19 19 19 19 19 19 20 20 20 20 20 20 20 20 21 21
7 Vektor 7.1 Metody . . . . . . . 7.1.1 add . . . . . . 7.1.2 GetNorm . . 7.1.3 GetZXAngle . 7.1.4 GetZYAngle . 7.1.5 MultiplyBy . 7.1.6 MultipliedBy 7.1.7 negative . . . 7.1.8 null . . . . . . 7.1.9 SetNorm . . . 7.2 Vlastnosti . . . . . . 7.2.1 X, Y, Z . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
22 22 22 22 22 23 23 23 23 23 23 23 23
ˇ ast I C´ Uˇ zivatelsk´ a pˇ r´ıruˇ cka
1
Kapitola 1 ´ Uvod Program Planet Moves je urˇcen k simulaci pohybu planet. Pom´ah´a urˇcit, jak se budou planety vz´ajemnˇe ovlivˇ novat p˚ usoben´ım gravitace. M˚ uˇze pomoci i k odhad˚ um pˇri re´aln´e pr´aci, ale prim´arnˇe je urˇcen pro ilustraˇcn´ı u ´ˇcely k uˇcivu fyziky na z´akladn´ıch a stˇredn´ıch ˇskol´ach. Aby si stundenti mohli v praxi sami “vyzkouˇset”, jak se gravitace ve skuteˇcnosti chov´a. Pom˚ uˇze pochopit, jak z´avis´ı v´ ysledn´e pohyby planet na jejich hmotnosti a vzd´alenosti. Tak´e student˚ um pˇribl´ıˇz´ı, v jak velk´ ych rozmˇerech se teprve zaˇc´ın´a gravitace v´ yznamnˇeji projevovat. Snad se tomuto programu bude daˇrit v jeho posl´an´ı a pom˚ uˇze mnoha student˚ um pˇri jejich pronik´an´ı do taj˚ u fyziky. Michal Hruˇseck´y
2
Kapitola 2 Instalace Nejdˇr´ıve zkontrolujte, zda v´aˇs poˇc´ıtaˇc splˇ nuje minim´aln´ı poˇzadavky.
2.1
Minim´ aln´ı poˇ zadavky
Program Planet Moves poˇzaduje ke sv´emu bˇehu poˇc´ıtaˇc, na kter´em je nainstalov´an operaˇcn´ı syst´em Windows 95 nebo vyˇsˇs´ı a minim´aln´ı rozumn´e rozliˇsen´ı je 800 × 600. Pˇri niˇzˇs´ım rozliˇsen´ı lze sice program i nad´ale pouˇz´ıvat, ale nˇekter´e ovl´adac´ı prvky budou na prvn´ı pohled skryty a plocha, na kter´e se vykresluj´ı planety bude znaˇcnˇe mal´a. Pro prohl´ıˇzen´ı n´apovˇedy je nutn´e m´ıt nainstalovan´ y nˇejak´ y prohl´ıˇzeˇc pdf-soubor˚ u1
2.2
Vlastn´ı instalace
Vlastn´ı instalace programu je velmi jednoduch´a. Ve sv´em obl´ıben´em souborov´em manaˇzeru2 poklepejte na soubor PlanetMoves.exe a objev´ı se v´am instalaˇcn´ı 1 2
napˇr. Adobe Acrobat Reader nebo GhostView napˇr. Pr˚ uzkumn´ık
3
KAPITOLA 2. INSTALACE
4
Obr´azek 2.1: Instalaˇcn´ı dialog
dialog(viz. obr. 2.1). Zde si m˚ uˇzete zvolit, kam se m´a program nainstalovat. D´ale kliknˇete na tlaˇc´ıtko Install a neobjev´ı-li se ˇza´dn´a chybov´a hl´aˇska, program je nainstalov´an.
2.3
Spuˇ stˇ en´ı
Po instalaci pˇribude v nab´ıdce Start/Programy sloˇzka Planet Moves . V t´eto podsloˇzce naleznete z´astupce pro spuˇstˇen´ı samotn´eho programu a z´astupce pro n´apovˇedu.
Kapitola 3 Ovl´ ad´ an´ı Po spuˇstˇen´ı programu se objev´ı hlavn´ı okno cel´eho programu(obr. 3.1). Na zaˇca´tku nejsou definov´any ˇza´dn´e planety a vˇsechny parametry jsou nastaveny na v´ ychoz´ı hodnoty(viz. tabulka 3.1).
3.1 3.1.1
Planety Pˇ rid´ an´ı planety
Chceme-li pˇridat planetu, zaˇcneme t´ım, ˇze vypln´ıme panel Planet Info.
Zad´ av´ an´ı parametr˚ u planety Do pol´ıˇcka s n´azvem Name vep´ıˇseme n´azev planety. Ve zbytku budeme postupnˇe vyplˇ novat dalˇs´ı parametry, kter´e budou uˇz jen ˇc´ıseln´e. Tyto parametry se zad´avaj´ı podle n´arodn´ıch nastaven´ı(napˇr 5,25E-5 pro 5, 25 × 10 −5 ) a zad´av´aj´ı se v pˇrednastaven´ ych jednotk´ach, jeˇz se daj´ı pˇredem zmˇenit(viz. ˇca´st 3.2.1). Jejich v´ ychoz´ı hodnoty najdete v tabulce 3.1. 5
´ AN ´ ´I KAPITOLA 3. OVLAD
6
Obr´azek 3.1: Hlavn´ı okno cel´eho programu po jeho startu
U n´apis˚ u Position a Velocity jsou vˇzdy tˇri pol´ıˇcka k vyplnˇen´ı. Prvn´ı ud´av´a X-ovou, druh´e Y-ovou a tˇret´ı Z-ovou ˇca´st zad´avan´e veliˇciny. Do pol´ıˇcek s n´azvem Position se zad´av´a pozice planety, kterou chceme pˇridat. Poˇca´tek souˇradnic je pˇritom um´ıstˇen do m´ısta, z nˇehoˇz se d´ıv´ame. Velocity ud´av´a poˇca´teˇcn´ı rychlost, kterou se planeta pohybuje. N´asleduj´ı pol´ıˇcka Mass pro zad´an´ı hmotnosti planety a Radius pro zad´an´ı polomˇeru planety. Po kliknut´ı na tlaˇc´ıtko Color se objev´ı dialog, v nˇemˇz lze zadat barvu planety. Nezad´ate-li ˇza´dnou barvu, pouˇzije se barva posledn´ı vybran´e planety(po spuˇstˇen´ı programu b´ıl´a).
Samotn´ e pˇ rid´ an´ı Po vyplnˇen´ı vˇsech parametr˚ u v panelu Planet Info staˇc´ı kliknout myˇs´ı na tlaˇc´ıtko Add a pokud jste vˇsechny parametry zadali spr´avnˇe, planeta bude
´ AN ´ ´I KAPITOLA 3. OVLAD
7
Obr´azek 3.2: Hlavn´ı okno s jednou existuj´ıc´ı vybranou planetou.
pˇrid´ana(obr. 3.2). V opaˇcn´em pˇr´ıpadˇe se objev´ı zpr´ava “Invalid value(s) in input field(s)”, kter´a znaˇc´ı, ˇze v nˇekter´em z pol´ıˇcek jsou nepovolen´e znaky.
3.1.2
Zmˇ ena vlastnost´ı planety
Vybr´ an´ı planety Chceme-li zmˇenit nˇekter´e parametry planety, zjistit jejich hodnoty, ˇci planetu odebrat, mus´ıme si planetu nejdˇr´ıve zvolit. To lze prov´est tˇremi r˚ uzn´ ymi zp˚ usoby. Kter´ y z nich pouˇzijeme z´avis´ı od toho, co o dan´e planetˇe v´ıme. • Nev´ıme-li nic, staˇc´ı kliknout na ˇsipeˇcku vedle pol´ıˇcka Name a rozbal´ı se seznam jmen existuj´ıc´ıch planet.
´ AN ´ ´I KAPITOLA 3. OVLAD
8
• Zn´ame-li jm´eno planety, m˚ uˇzeme toto jm´eno zapsat do pol´ıˇcka Name a pokud planeta s t´ımto jm´enem existuje, bude vybr´ana. • Pokud planetu vid´ıme, staˇc´ı na ni kliknout. Je-li planeta spr´avnˇe vybr´ana, zmˇen´ı se tlaˇc´ıtko Add na tlaˇc´ıtko Save a aktivuj´ı se tlaˇc´ıtka Sit on, Look at a Delete (obr. 3.2)
Zmˇ ena parametr˚ u M´ame-li planetu vybranou a nebˇeˇz´ı-li zrovna simulace, m˚ uˇzeme mˇenit libovoln´e parametry vybran´e planety kromˇe jej´ıho jm´ena. Zmˇen´ıme je jednoduˇse t´ım, ˇze do pˇr´ısluˇsn´eho pol´ıˇcka zap´ıˇseme novou hodnotu(viz. ˇca´st 3.1.1). Aˇz budou vˇsude vyplnˇeny novˇe poˇzadovan´e hodnoty, stiskneme tlaˇc´ıtko Save a zmˇeny se uloˇz´ı a provedou.
3.1.3
Odebr´ an´ı planety
Chceme-li planetu odebrat, je nutno ji nejdˇr´ıve vybrat(viz. ˇca´st 3.1.2). Aˇz bude planeta vybr´ana, staˇc´ı jen stisknout tlaˇc´ıtko Delete a planeta bude odstranˇena.
3.2 3.2.1
Dalˇ s´ı nastaven´ı a funkce Nastaven´ı
Vˇetˇsina nastaven´ı prostˇred´ı, v nˇemˇz se pohybuj´ı planety, se d´a mˇenit v nab´ıdce Preferences(obr. 3.3). Lze ji vyvolat kliknut´ım na talˇc´ıtko Preferences na panelu Simulation v hlavn´ım oknˇe(obr. 3.1).
´ AN ´ ´I KAPITOLA 3. OVLAD
9
Obr´azek 3.3: Nab´ıdka Preferences. N´azev Distance Mass Show 1N as
Velocity Time
Standartn´ı hodnota Popis 108 m Jednotka pro vzd´alenosti (souˇradnice, polomˇer planet, ...) 22 10 kg Jednotka pro hmotnost 0 m Jak dlouh´a ˇca´ra se m´a nakreslit pro zn´azornˇen´ı s´ıly 1N (standartnˇe doporuˇceno 10−7 ) 1 m/s Jednotka pro rychlost 1 den Jednotka urˇcuj´ıc´ı, kolik ˇcasu uplyne bˇehem simulace za 1s (urˇcuje podrobnost simulace)
Tabulka 3.1: V´ yznam a standartn´ı hodnoty jednotek.
Nab´ıdka Preferences V nab´ıdce Preferences je nˇekolik pol´ıˇcek, jeˇz slouˇz´ı ke vkl´ad´an´ı jednotek, pouˇz´ıvan´ ych pˇri zad´av´an´ı parametr˚ u planet. Zadan´e jednotky se vyn´asob´ı jednotkami a aˇz pak se pouˇz´ıvaj´ı ve fyzik´aln´ıch rovnic´ıch, jeˇz urˇcuj´ı pohyby planet. Pro zad´av´an´ı jednotek plat´ı stejn´a pravidla jako pro zad´av´an´ı parametr˚ u planet(viz. ˇca´st 3.1.1) pouze s t´ım rozd´ılem, ˇze pro zjednoduˇsen´ı je u vˇetˇsiny jednotek moˇzno zadat mocninu des´ıtky, kterou se m´a jednotka vyn´asobit. Tato mocnina mus´ı b´ yt cel´e(nejl´epe kladn´e) ˇc´ıslo. U ˇcasu takov´ato moˇznost nen´ı, ale ˇcas lze zadat ve dnech, hodin´ach, minut´ach a vteˇrin´ach. Podrobnˇejˇs´ı informace o v´ yznamu pol´ıˇcek a o standartn´ım nastaven´ı jednotek poskytuje tabulka 3.1. Po zad´an´ı nov´ ych jednotek staˇc´ı kliknout na tlaˇc´ıtko Ok. Pokud nechcete zmˇeny uloˇzit, kliknˇete na tlaˇc´ıtko Cancel.
´ AN ´ ´I KAPITOLA 3. OVLAD
3.2.2
10
Dalˇ s´ı nastaven´ı
Stopa Pˇri simulaci lze zapnout moˇznost zobrazov´an´ı “stopy”. Staˇc´ı do pol´ıˇcka Track ´ lenght napsat, jak dlouh´a m´a b´ yt. Udaj se ud´av´a ve vteˇrin´ach. Podle zapsan´e hodnoty se zaˇcne zaznamen´avat pohyb planet v minulosti a bude se pˇri simulaci vykreslovat.
Sledov´ an´ı pohybu planety Lze tak´e nastavit, aby byla neust´ale sledov´ana nˇejak´a planeta. Staˇc´ı planetu vybrat(viz. ˇca´st 3.1.2) a pot´e kliknout na tlaˇc´ıtko Look at. Vybran´a planeta bude po spuˇstˇen´ı simulace udrˇzov´ana ve stˇredu zobrazovac´ı plochy. Stane se tak pootoˇcen´ım pohledu(nezmˇen´ı se vzd´alenost a budou zachov´any vˇsechny vz´ajemn´e vztahy planet). Nach´az´ıte-li se bl´ızko pozorovan´ ych planet, m˚ uˇzete takto ztratit z dohledu ostatn´ı planety. Pro zruˇsen´ı sledov´an´ı planety je tˇreba opˇet vybrat planetu, jiˇz moment´alnˇe sledujeme a kliknout na tlaˇc´ıtko Fixed Look, kter´e nahrad´ı tlaˇc´ıtko Look at. T´ımto se pohled pˇrestane mˇenit a setrv´a ve st´avaj´ıc´ı poloze. Chcete-li pouze zmˇenit smˇer sv´eho pohledu, staˇc´ı pozastavit simulaci, vytvoˇrit planetu(klidnˇe s nulovou hmotnost´ı(aby neovlivˇ novala bˇeh simulace)) a nechat pozorovatele sledovat ji.
Pohled z planety Dalˇs´ı moˇznost´ı je nastavit, ˇze “pozorovatel se d´ıv´a” z nˇejak´e planety. Lze toho doc´ılit tak, ˇze se nejprve zvol´ı planeta(viz. ˇca´st 3.1.2) a pot´e se klikne na tlaˇc´ıtko Sit on. T´ım se nastav´ı planeta, ze kter´e se ostatn´ı planety pozoruj´ı. S kaˇzd´ ym pohybem planety se zmˇen´ı i pohled. Pro ukonˇcen´ı pozorov´an´ı z planety je tˇreba nejdˇr´ıve ji znovu vybrat a pot´e kliknout na tlaˇc´ıtko Get off, kter´e nahrad´ı tlaˇc´ıtko Sit on. Tato funkce se d´a t´eˇz pouˇz´ıt pro pˇresouv´an´ı pozorovatele. Staˇc´ı stvoˇrit planetu s nulovou hmotnost´ı a na n´ı pozorovatele um´ıstit. Tak pozorovatel nebude ovlivˇ novat pr˚ ubˇeh simulace a uˇzivatel si s n´ım m˚ uˇze libovolnˇe pohybovat.
´ AN ´ ´I KAPITOLA 3. OVLAD
3.3 3.3.1
11
Simulace Zapnut´ı/vypnut´ı simulace
Pro spuˇstˇen´ı simulace staˇc´ı kliknout na tlaˇc´ıtko Start na panelu Simulation. T´ım se uvede do chodu simulace a tlaˇc´ıtko Start se zmˇen´ı v tlaˇc´ıtko Stop. Po kliknut´ı na tlaˇc´ıtko Stop se simulace opˇet zastav´ı. Simulace bude tak´e zastavena, pokud je vyvol´ana nab´ıdka Preferences.
3.3.2
Z´ akony
Simulace se ˇr´ıd´ı podle Newtonov´ ych fyzik´aln´ıch z´akon˚ u. Pro lepˇs´ı pˇredstavu, zde jsou vzorce, jeˇz ˇr´ıd´ı pohyb planet pˇri simulaci:
F =κ
M1 M2 r2
a=
F M
v = at
Pro bliˇzˇs´ı objasnˇen´ı, F je p˚ usob´ıc´ı s´ıla, κ gravitaˇcn´ı konstanta, r vzd´alenost planet, M1 , M2 jsou hmotnosti planet, a znaˇc´ı zrychlen´ı a t oznaˇcuje ˇcas.
ˇ ast II C´ Pˇ r´ıruˇ cka program´ atora
12
Kapitola 4 ´ Uvod Program se zkl´ad´a z nˇekolika hlavn´ıch ˇca´st´ı. Podle toho jsou dˇeleny i unity. Unita Universe obsahuje objekty TPlanet a TUniverse. TPlanet je objekt popisuj´ıc´ı planety a TUniverse popisuje vesm´ır ve kter´em se planety pohybuj´ı. D´ale je tu pomocn´a unita vector, kter´a obsahuje popis objektu vektor a kter´a umoˇzn ˇ uje nˇekter´e operace s vektory, jeˇz se vyuˇz´ıv´aj´ı pˇri simulaci. Zbytek unit obstar´av´a uˇzivatelsk´e rozhran´ı, jehoˇz popisu se moc vˇenovat nebudu. Pokus´ım se ale trochu popsat ty nejd˚ uleˇzitˇejˇs´ı objekty.
13
Kapitola 5 TUniverse Tento objekt charakterizuje prostˇred´ı, v nˇemˇz se planety pohybuj´ı. Je souˇca´st´ı unity Universe
5.1 5.1.1
Metody AddPlanet
Pˇrid´a novˇe vytvoˇrenou planetu mezi ostatn´ı. Pˇrid´a se na plochu, do spojov´eho seznamu planet(viz. ˇca´st 5.2.4) a do PlanetListu.
5.1.2
AddTime
Jak jiˇz n´azev pˇripom´ın´a, tato metoda m´a za u ´ kol pˇridat ˇcas. Provede to tak, ˇze nech´a vˇsechny planety na sebe vz´ajemnˇe p˚ usobit(viz ˇca´st 6.1.3) a pak zavol´a u vˇsech planet metodu AddTime(viz ˇca´st 6.1.1, kter´a planety posune s ohledem na s´ıly vznikl´e vz´ajemn´ ym p˚ usoben´ım.
5.1.3
DestroyPlanet
Odstran´ı planetu zadan´eho jm´ena.
14
KAPITOLA 5. TUNIVERSE
5.1.4
15
GetPlanet
Vr´at´ı ukazatel na planetu zadan´eho jm´ena.
5.1.5
Refresh
Pˇrekresl´ı vesm´ır. D´ale se zjist´ı, zda je ˇreˇceno, na kter´e planetˇe je um´ıstˇen pozorovatel(viz. ˇca´st 5.2.5). Pokud ano, posunou se souˇradnice vˇsech planet tak, aby pozorovatel i nad´ale z˚ ustal v bodˇe [0, 0, 0]. D´ale se zjist´ı, zda pozorovatel sleduje nˇejakou urˇcitou planetu(viz. ˇca´st 5.2.2 a pokud ano, tak se vˇsechny planety pootoˇc´ı(vˇcetnˇe aktu´aln´ı rychlosti a stopy) tak, aby vyhl´ıdnut´a planeta mˇela i nad´ale X-ovou a Y-ovou souˇradnici nulovou.
5.1.6
ZDeform
Urˇcuje, jak se budou zmenˇsovat vzd´alenosti mezi planetami a planety sami s pˇrib´ yvaj´ıc´ı Z-ovou souˇradnic´ı. T´ımto ˇc´ıslem se dˇel´ı vˇsechny vzd´alenosti(viz ˇca´st 6.1.2).
5.2
Vlastnosti
5.2.1
Constants
Record obsahuj´ıc´ı d˚ uleˇzit´e konstanty. Vˇetˇsinou jednotky. f Promˇenn´a urˇcuj´ıc´ı, jak velk´a bude zobrazovan´a s´ıla. h Gravitaˇcn´ı konstanta - κ.
KAPITOLA 5. TUNIVERSE l Jednotka d´elky. m Jednotka hmotnosti. t Jednotka ˇcasu. TrackLenght D´elka zobrazovan´e stopy. Kolik bod˚ u m´a obsahovat. v Jednotka rychlosti.
5.2.2
Look
Ukazatel na planetu na n´ıˇz se pozorovatel d´ıv´a.
5.2.3
Obraz
Plocha na n´ıˇz se kresl´ı stopy.
5.2.4
Planets
Spojov´ y seznam vˇsech planet.
16
KAPITOLA 5. TUNIVERSE
5.2.5
Sit
Ukazatel na planetu, na n´ıˇz se nach´az´ı pozorovatel.
5.2.6
Time
ˇ kter´ Cas y ubˇehl od zaˇca´tku simulace.
17
Kapitola 6 TPlanet 6.1 6.1.1
Metody AddTime
Pˇrid´a ˇcas. Z p˚ usob´ıc´ı s´ıly(viz. ˇca´st 6.2.1), hmotnosti(viz. ˇca´st 6.2.2) a zadan´eho ˇcasu se pomoc´ı vzorce F ∆v = t m spoˇcte zmˇena rychlosti. D´ale se spoˇc´ıt´a nov´a rychlost a pozice.
6.1.2
Aktualize
Je-li Z-ov´a pozice kladn´a, posune planetu na souˇradnice urˇcen´e jej´ı pozic´ı a funkc´ı Universe.ZDeform(ˇca´st 5.1.6). Vykresl´ı p˚ usob´ıc´ı s´ılu(je-li nenulov´a). Je-li zapnuto, pˇrid´a bod do stopy a vykresl´ı ji. Pˇr´ıpadnˇe odstran´ı pˇrebyteˇcn´e z´aznamy ve stopˇe(viz. ˇca´st 6.2.7 a 5.2.1).
6.1.3
Iteraguj
Nech´a na sebe p˚ usobit dvˇe planety, pokud se nepˇrekr´ yvaj´ı. Velikost p˚ usob´ıc´ı s´ıly se spoˇc´ıt´a podle vzorce m1 m2 F =κ 2 r 18
KAPITOLA 6. TPLANET
6.1.4
19
GetMass
Vr´at´ı hmotnost v zadan´ ych jednotk´ach(viz. ˇca´st 5.2.1).
6.1.5
GetPosition
Vr´at´ı pozici planety v zadan´ ych jednotk´ach(viz. ˇca´st 5.2.1). Verze se tˇremi promˇen´ ymi typu double je v´ ychoz´ı a ostatn´ı slouˇz´ı jen pro snadnˇejˇs´ı konverzi.
6.1.6
GetRadius
Vrati polomer planety v zadanych jednotkach(viz. ˇca´st 5.2.1).
6.1.7
GetVelocity
Vr´at´ı rychlost v zadan´ ych jednotk´ach(viz. ˇca´st 5.2.1) s ohledem na to, jestli se pozorovatel pohybuje. Verze s vektorem jen convertuje v´ ysledky nevektorov´e verze.
6.1.8
SetMass
Nastav´ı hmotnost na zadanou hodnotu(× jednotky(viz. ˇca´st 5.2.1).
6.1.9
SetPosition
Nastav´ı pozici planety na zadanou hodnotu(× jednotky(viz. ˇca´st 5.2.1). Verze se tˇremi promˇen´ ymi typu double je v´ ychoz´ı a ostatn´ı slouˇz´ı jen pro snadnˇejˇs´ı konverzi.
6.1.10
SetRadius
Nastavi polomer planety na zadanou hodnotu(× jednotky(viz. ˇca´st 5.2.1).
KAPITOLA 6. TPLANET
6.1.11
20
SetVelocity
Nastav´ı rychlost na zadanou hodnotu(× jednotky(viz. ˇca´st 5.2.1) s ohledem na to, jestli se pozorovatel pohybuje.
6.2
Vlastnosti
Hodnoty se zde ukl´adaj´ı ve standartn´ıch jednotk´ach(m, kg, s, N, . . . )
6.2.1
F
V´ yslednice vˇsech sil p˚ usob´ıc´ıch na planetu.
6.2.2
m
Hmotnost planety.
6.2.3
name
Jm´eno Planety.
6.2.4
owner
Ukazatel na vesm´ır.
6.2.5
pos
Pozice planety.
6.2.6
r
Polomˇer planety.
KAPITOLA 6. TPLANET
6.2.7
21
Track
Spojov´ y seznam minul´ ych pozic planety(vˇzdy zmˇena oproti novˇejˇs´ı pozici).
6.2.8
v
Aktu´aln´ı rychlost.
Kapitola 7 Vektor Definice vektoru obsaˇzen´a v unitˇe vector. V simulaci se ˇcasto pouˇz´ıv´a t´eto implementace vektoru.
7.1 7.1.1
Metody add
Pˇriˇcte k vektoru zadan´ y vektor.
7.1.2
GetNorm
Vr´at´ı velikost vektoru.
7.1.3
GetZXAngle
Um´ıst´ıme-li vektor do poˇca´tku souˇradnic, a prom´ıtneme-li ho do roviny definovan´e osami Z a X, pak tato funce vrac´ı u ´ hel, jeˇz toto prom´ıtnut´ı sv´ır´a s kladnou poloosou Z.
22
KAPITOLA 7. VEKTOR
7.1.4
23
GetZYAngle
Um´ıst´ıme-li vektor do poˇca´tku souˇradnic, a prom´ıtneme-li ho do roviny definovan´e osami Z a Y, pak tato funce vrac´ı u ´ hel, jeˇz toto prom´ıtnut´ı sv´ır´a s kladnou poloosou Z.
7.1.5
MultiplyBy
N´asoben´ı vektoru jin´ ym vektorem po sloˇzk´ach, nebo vyn´asoben´ı cel´eho vektoru skal´arem.
7.1.6
MultipliedBy
To sam´e, co pˇredchoz´ı, akor´at vrac´ı vyn´asobenou hodnotu a samotn´ y vektor se nemˇen´ı.
7.1.7
negative
Vr´at´ı opaˇcn´ y vektor.
7.1.8
null
Vynuluje vektor.
7.1.9
SetNorm
Nastav´ı velikost vektoru na zadanou hodnotu. Byl-li vektor nulov´ y, pouˇzije se vektor [1, 1, 1] a jeho velikost se nastav´ı na zadanou hodnotu.
7.2 7.2.1
Vlastnosti X, Y, Z
Jednotliv´e sloˇzky vektoru.