/// <summary> /// Funktio palauttaa mustanaukon suunnan, johon pelaajaa "imetään". /// </summary> /// <param name="mustaAukko">musta-aukko</param> /// <returns>kulma, johon pelaajaa "imetään"</returns> private Angle LuoMustanAukonSuunta(PhysicsObject mustaAukko, PhysicsObject pelaaja) { if (pelaaja.X > mustaAukko.X) { return(Angle.ArcTan((pelaaja.Y - mustaAukko.Y) / (pelaaja.X - mustaAukko.X)) + Angle.StraightAngle); } else { return(Angle.ArcTan((pelaaja.Y - mustaAukko.Y) / (pelaaja.X - mustaAukko.X))); } }
public void TrigTest() { double theta = Math.PI * 1.5; var angle = new Angle(theta, AngleUnit.Radians); Assert.AreEqual(Math.Cos(theta), angle.Cos(), DELTA); Assert.AreEqual(Math.Sin(theta), angle.Sin(), DELTA); Assert.AreEqual(Math.Tan(theta), angle.Tan(), DELTA); Assert.AreEqual(Math.Cosh(theta), angle.Cosh(), DELTA); Assert.AreEqual(Math.Sinh(theta), angle.Sinh(), DELTA); Assert.AreEqual(Math.Tanh(theta), angle.Tanh(), DELTA); Assert.AreEqual(new Angle(Math.Acos(0.5), AngleUnit.Radians).Turns, Angle.ArcCos(0.5).Turns, DELTA); Assert.AreEqual(new Angle(Math.Asin(0.5), AngleUnit.Radians).Turns, Angle.ArcSin(0.5).Turns, DELTA); Assert.AreEqual(new Angle(Math.Atan(0.5), AngleUnit.Radians).Turns, Angle.ArcTan(0.5).Turns, DELTA); Assert.AreEqual(new Angle(Math.Atan2(2, 1), AngleUnit.Radians).Turns, Angle.ArcTan2(2, 1).Turns, DELTA); }