예제 #1
0
    public void PositionOverTime()
    {
        Setup();

        // For {time, x, y}, Expected (x,y) coordinates at each given time interval.
        double[,] time = new double[, ] {
            { 0, 50, 0 }, { 91.25, 0, 25 }, { 182.5, -50, 0 }, { 273.75, 0, -25 }, { 365.0, 50, 0 }
        };

        for (int i = 0; i < time.GetLength(0); i++)
        {
            Vector3d Position = Earth.GetPosition(time[i, 0]);
            Assert.AreEqual(time[i, 1], Math.Round(Position.x));
            Assert.AreEqual(time[i, 2], Math.Round(Position.y));
        }
    }
예제 #2
0
    /// <summary>
    /// Get Distance of any two vectors at N days.
    /// </summary>
    /// <param name="from"></param>
    /// <param name="days"></param>
    /// <returns></returns>
    public double GetDistance(OldBody from, double days)
    {
        Vector3d distance = GetPosition(days) - from.GetPosition(days);

        return(distance.magnitude);
    }