code: def break_down_travel(p1, target, increment=5, mode='absolute'):
      
  
      heading = target - p1
      if mode == 'relative':
          heading = target
      length = heading.length()
  
      length_steps = length / increment
      length_remainder = length % increment
  
      vector_step = Vector(0, 0, 0)
      if length_steps > 0:
          vector_step = heading / length_steps
      vector_remainder = vector_step * (length_remainder / increment)
  
      res = []
      if mode == 'absolute':
          for i in range(int(length_steps)):
              p1 = p1 + vector_step
              res.append(p1)
          p1 = p1 + vector_remainder
          res.append(p1)
      else:
          for i in range(int(length_steps)):
              res.append(vector_step)
          res.append(vector_remainder)
      return res
docs: given two points p1 and target, this returns a list of
      incremental positions or relative steps