Почему вы не допускаете пустых листьев на своем дереве?
Редактировать:
Может быть, я не понимаю вопроса ^^. Ваша проблема в том, что у вас получаются не квадратные изображения, такие как 2x1, и вы хотите представить их в виде квадранода?
Когда у вас есть квадрат 2x2, как
1 2
3 4
вы бы создали Quadnode с чем-то вроде "new QuadNode (1,2,3,4)"
Я бы предложил разделить квадрат 2х1, как
1 2
с чем-то вроде "new QuadNode (1,2, null, null)"
Если у вас больше недостающих фигур, вы можете использовать ту же систему. Когда у вас есть изображение 4x2, как
1 2 3 4
5 6 7 8
вы получите «новый QuadNode (новый QuadNode (1,2,3,4), ноль, новый QuadNode (5,6,7,8), ноль)»
Это также должно работать с элементами одинакового цвета вместо пикселей.
Я понял вашу проблему и прояснил ситуацию?