public void Simulate(double interval)
        {
            partialTimeStepInterval += interval;
            List<PointD> list = PredictNextPositions(1);

            if (partialTimeStepInterval > 1)
            {
                partialTimeStepInterval -= 1;
                if (list != null)
                {
                    AddNewPosition(list[0]);
                    Train();
                    position = list[0];
                }
            }
            else
            {
                List<PointD> prev = GetPreviousPositions();
                if ((prev != null) && (list != null))
                {
                    PointD last = prev[prev.Count - 1];
                    position.X = last.X * (1 - partialTimeStepInterval) + list[0].X * partialTimeStepInterval;
                    position.Y = last.Y * (1 - partialTimeStepInterval) + list[0].Y * partialTimeStepInterval;
                }
            }
        }
        public FinishState(PointD position, double angle)
        {
            this.position = new PointD(0, 0);
            this.orientation = new PointD(1, 0);

            this.Position = position;
            this.Angle = angle;
        }
        public FinishState(PointD position, PointD orientation)
        {
            this.position = new PointD(0, 0);
            this.orientation = new PointD(1, 0);

            this.Position = position;
            this.Orientation = orientation;
        }
        public FinishState(double[] arg)
        {
            this.position = new PointD(0, 0);
            this.orientation = new PointD(1, 0);

            this.Position = new PointD(arg[0], arg[1]);
            this.Orientation = new PointD(arg[2], arg[3]);
        }
 public void SetPosition(PointD point)
 {
     positionPredictor = null;
     this.position = point;
 }
 public void AddNewPosition(PointD point) 
 {
     this.position = point;
     if (positionPredictor == null) positionPredictor = new PositionPredictor(45, 10);
     positionPredictor.AddPoint(point);
 }
 public PredictablePosition(PointD point)
 {
     this.position = point;
     partialTimeStepInterval = 0;
 }
 public PredictablePosition()
 {
     this.position = new PointD(0,0);
     partialTimeStepInterval = 0;
 }
Beispiel #9
0
 public ObstacleState(PointD position, double radius)
 {
     pp          = new PredictablePosition(position);
     this.radius = radius;
 }
 public ObstacleState(PointD position, double radius)
 {
     pp = new PredictablePosition(position);
     this.radius = radius;
 }       
Beispiel #11
0
 public FinishModel(PointD position, double angle)
 {
     state  = new FinishState(position, angle);
     finish = NavigationSimulator.Properties.Resources.finish;
 }
 public ObstacleModel(PointD position, double radius)
 {
     state = new ObstacleState(position, radius);
 }