public static Vektor gravitacna_sila(Teleso a, Teleso b) { Vektor r = Vektor.odcitaj_vektor(a.pozicia, b.pozicia); Vektor r_jednotkovy = Vektor.vydel_skalarom(r, Vektor.velkost_vektora(r)); double grav_sila_velkost = G * a.hmotnost * b.hmotnost / Math.Pow(Vektor.velkost_vektora(r), 2); //Console.WriteLine("jednotkovy vektor: " + r_jednotkovy.x.ToString() + " " + r_jednotkovy.y.ToString()); //Console.WriteLine("gravitacna sila: " + Vektor.vynasob_skalarom(r_jednotkovy, grav_sila_velkost).x.ToString()+" " + Vektor.vynasob_skalarom(r_jednotkovy, grav_sila_velkost).y.ToString()); return(Vektor.vynasob_skalarom(r_jednotkovy, -grav_sila_velkost)); }
public static void update_pozicia(Teleso a) { a.pozicia = Vektor.scitaj_vektory(a.pozicia, Vektor.vynasob_skalarom(Vektor.vydel_skalarom(a.hybnost, a.hmotnost), dt)); }