private Point2D[] getNewSlopes()
    {
        double mX = movementVector.getX();
        double mY = movementVector.getY();
        Point2D[] newSlopes = new Point2D.Double[2];

        newSlopes[0] = movementVector;
        newSlopes[1] = movementVector;

        if (mX < 0 && mY != 0)
        {
            // Looking to the top left or bottom left
            newSlopes[0] = new Point2D.Double(mY, mX * -1);
            newSlopes[1] = new Point2D.Double(mY * -1, mX);
        }
        else if (mX > 0 && mY != 0)
        {
            // Looking to the top right or bottom right
            newSlopes[0] = new Point2D.Double(mY, mX * -1);
            newSlopes[1] = new Point2D.Double(mY * -1, mX);
        }
        else if (mX == 0 && mY != 0)
        {
            // Looking directly up or down
            newSlopes[0] = new Point2D.Double(mY, mX);
            newSlopes[1] = new Point2D.Double(mY * -1, mX);
        }
        else if (mY == 0 && mX != 0)
        {
            // Looking left or right
            newSlopes[0] = new Point2D.Double(mY, mX);
            newSlopes[1] = new Point2D.Double(mY, mX * -1);
        }

        return newSlopes;
    }