Вам необходимо рассматривать шарик как фигуру (например прямоугольник), который вписан в ваш большой прямоугольник.
Далее необходимо обратать пересечения (если координата x и y + длина фигуры пересекается со стороной прямоугольника),
Если имеем пересечение — меняем направление в случайное.
Всё :)