Next ->
Arg A : ^&ExtraData, Position : Integer

Let Position >= 2, ERR_PARAMETER

A.
 If Abs (Values.Position.X - Values.(Position - 1).X) > `MAX_DELTA_X |
    Abs (Values.Position.Y - Values.(Position - 1).Y) > `MAX_DELTA_Y then
  Result.Position.X = Result.(Position - 1).X
  Result.Position.Y = Result.(Position - 1).Y
 Else
  Result.Position.X = F Values.Position.X Result.(Position - 1).X Position
  Result.Position.Y = F Values.Position.Y Result.(Position - 1).Y Position
 ;
;

/

F Next ->
Arg Next, Prev : Float : +-, I : Integer

K = 1 / I

F = Prev * K + 
    Next * (1 - K)

F

/