Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
Okurkin
Člen
Avatar
Okurkin:8.6.2016 16:31

Zdravím, snažím se rozložit sílu F do sil Fx a Fy. Následně do SpeedX a SpeedY. Nemohl by někdo poradit, kde je chyba? Díky Konkrétně se jedná o počítání Newtonovy gravitace a přitahování těles (planeta a raketa [Subject1, Subject2])

public void Gravity(Subject sbjt1, Subject sbjt2) // Rozdeleni F na Fx a FY (Nejspise nekde chyba...)
        {
            double Fx = NewtonGravity(sbjt1, sbjt2) * Math.Cos(Math.PI * angleX(sbjt1,sbjt2) / 180.0);
            double Fy = NewtonGravity(sbjt1, sbjt2) * Math.Sin(Math.PI * angleY(sbjt1, sbjt2) / 180.0);

            double ax1 = Fx / sbjt1.Mass;
            double ay1 = Fy / sbjt1.Mass;
            sbjt1.SpeedX += ax1;
            sbjt1.SpeedY += ay1;

            double ax2 = Fx / sbjt2.Mass;
            double ay2 = Fy / sbjt2.Mass;

            sbjt2.SpeedX += ax2;
            sbjt2.SpeedY += ay2;
        }


public double angleX(Subject s1 ,Subject s2)
        {
            double angle;

            // vector (s1.X - s2.X, s1.Y - s2.Y)
            // vectorX (1,0)
            double radians = Math.Atan2(s1.Y - s2.Y, s1.X - s2.X);
            angle = radians * (180 / Math.PI);


            return angle;
        }
        public double angleY(Subject s1, Subject s2)
        {
            double angle;

            // vector (s1.X - s2.X, s1.Y - s2.Y)
            // vectorX (0,1)
            double radians = Math.Atan2(s1.X - s2.X, s1.Y - s2.Y);
            angle = radians * (180 / Math.PI);


            return angle;
        }
 
Odpovědět
8.6.2016 16:31
Avatar
Odpovídá na Okurkin
Luboš Běhounek Satik:8.6.2016 17:19

Proč tam ty úhly, co ti vylezou z Atan2, převádíš na stupně? Když je pak chceš použít, tak je budeš zase muset konvertovat na zpátky radiány, protože tyhle goniometrické funkce pracují s radiány... %P

Nahoru Odpovědět
8.6.2016 17:19
https://www.facebook.com/peasantsandcastles/
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 2 zpráv z 2.