code: def vector_analysis(vector, coordinates, elements_vdw, increment=1.0):
      
      # Calculate number of chunks if vector length is divided by increment.
      chunks = int(np.linalg.norm(vector) // increment)
      # Create a single chunk.
      chunk = vector / chunks
      # Calculate set of points on vector's path every increment.
      vector_pathway = np.array([chunk * i for i in range(chunks + 1)])
      analysed_vector = np.array([
          np.amin(
              euclidean_distances(coordinates, i.reshape(1, -1)) - elements_vdw)
          for i in vector_pathway
      ])
      if all(i > 0 for i in analysed_vector):
          pos = np.argmin(analysed_vector)
          # As first argument we need to give the distance from the origin.
          dist = np.linalg.norm(chunk * pos)
          return np.array(
              [dist, analysed_vector[pos] * 2, *chunk * pos, *vector])
docs: Analyse a sampling vector's path for window analysis purpose.