コード例 #1
0
        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));
        }
コード例 #2
0
ファイル: Vykreslovanie.cs プロジェクト: KatDan/SolarSystem
        //prenasobi skutocne hodnoty konstantou
        public void preskaluj(Sustava sus)
        {
            for (int i = 0; i < pozicie_pix_zakl.Length; i++)
            {
                pozicie_pix_zakl[i] = Vektor.vynasob_skalarom(sus.objekty[i].pozicia, k);

                pozicie_pix_zakl[i].x = Math.Round(pozicie_pix_zakl[i].x);
                pozicie_pix_zakl[i].y = Math.Round(pozicie_pix_zakl[i].y);
            }
        }
コード例 #3
0
        public void nastav_pociatocny_stav()
        {
            objekty[0].pozicia = new Vektor(0, 0);

            for (int i = 1; i < objekty.Length; i++)
            {
                objekty[i].pozicia = objekty[i].pociatocna_pozicia;
                objekty[i].sila    = new Vektor(0, 0);
                objekty[i].hybnost = Vektor.vynasob_skalarom(new Vektor(0, -1), objekty[i].hmotnost * objekty[i].zisti_init_rychlost());
            }
        }
コード例 #4
0
ファイル: Vykreslovanie.cs プロジェクト: KatDan/SolarSystem
        public void helio()
        {
            double p   = 1 - sustava.objekty[last_index].excentricita;
            Vektor pom = new Vektor(sustava.objekty[last_index].hl_poloos * p, 0);

            for (int i = 0; i < sustava.objekty.Length; i++)
            {
                posun[i]    = Vektor.vynasob_skalarom(pom, k);
                posun[i].x += 50;
                posun[i].y  = panel.Size.Height / 2;
            }


            pretypuj_polohove_vektory();
        }
コード例 #5
0
 public static void update_hybnost(Teleso a)
 {
     //Console.WriteLine("hybnost: " + a.hybnost.x.ToString() + " " + Vektor.vynasob_skalarom(a.sila, dt).x.ToString());
     a.hybnost = Vektor.scitaj_vektory(Vektor.vynasob_skalarom(a.sila, dt), a.hybnost);
 }
コード例 #6
0
 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));
 }
コード例 #7
0
 public void zisti_init_hybnost()
 {
     hybnost = Vektor.vynasob_skalarom(new Vektor(0, -1), hmotnost * zisti_init_rychlost());
 }