code: public static Force fromVector(double ox, double oy, double x, double y)
      {
          // Distance calculation
          final double dh = x - ox;
          final double dv = y - oy;
  
          // Search vector and number of search steps
          final double norm;
          if (dh > dv)
          {
              norm = Math.abs(dh);
          }
          else
          {
              norm = Math.abs(dv);
          }
          final double sx;
          final double sy;
          if (Double.compare(norm, 0.0) == 0)
          {
              sx = 0;
              sy = 0;
          }
          else
          {
              sx = dh / norm;
              sy = dv / norm;
          }
  
          final Force force = new Force(sx, sy);
          force.setVelocity(norm);
  
          return force;
      }
docs: Create a force from a vector movement.
  
  <p>
  The created force will describe the following values:
  </p>
  <ul>
  <li>horizontal normalized speed ({@link #getDirectionHorizontal()}),</li>
  <li>vertical normalized speed ({@link #getDirectionVertical()}),</li>
  <li>normal value ({@link #getVelocity()}).</li>
  </ul>
  
  @param ox The old horizontal location.
  @param oy The old vertical location.
  @param x The current horizontal location.
  @param y The current vertical location.
  @return The tiles found.