Exemple #1
0
        public static PositionF MoveTowards(PositionF current, PositionF target, float maxDistanceDelta)
        {
            PositionF positionF = target - current;
            float     magnitude = positionF.Magnitude;

            if ((double)magnitude <= maxDistanceDelta || magnitude == 0.0)
            {
                return(target);
            }
            return(current + positionF / magnitude * maxDistanceDelta);
        }
Exemple #2
0
 public static float SqrMagnitude(PositionF a)
 {
     return(a.X * a.X + a.Y * a.Y);
 }