code: public static final Point move(Point p, double radians, double distance)
      {
          return new AbstractPoint(
                  p.getX() + distance*Math.cos(radians),
                  p.getY() + distance*Math.sin(radians)
                  );
      }
docs: Creates a new Point distance from p to radians direction
  @param p Start point
  @param radians Angle in radians
  @param distance Distance
  @return A new Point