Exemple #1
0
    public List <TrajectorySegment> GetTrajectory(int lenght)
    {
        while (segments.Count < lenght)
        {
            segments.Add(Orbiter.CalculateTrajectorySegment(lastSegment.lastPosition, lastSegment.endVelocity));
        }

        return(segments);
    }
Exemple #2
0
    ///<summary>
    /// Calculates another step of trajectory
    ///</summary>
    public void Step()
    {
        // Robi to na zasadzie:
        // 1. Wzięcia elementu z początku listy
        // 2. Obliczenia dla niego nowych wartości (odświeżenia)
        // 3. Dodanie go na koniec listy


        TrajectorySegment segmentToRefresh = firstSegment;

        segmentToRefresh = Orbiter.CalculateTrajectorySegment(segments[segments.Count - 1].lastPosition, segments[segments.Count - 1].endVelocity);

        segments.RemoveAt(0);

        segments.Add(segmentToRefresh);
    }
Exemple #3
0
 public Trajectory(Vector2 initialPosition, Vector2 initialVelocity)
 {
     segments.Add(Orbiter.CalculateTrajectorySegment(initialPosition, initialVelocity));
 }