Доброго всем времени суток.
Сабж в названии темы. Как грамотно реализовать разбивку поля на ячейки произвольно размера и формы. Сие часто можно увидеть в пошаговых стратегиях, к примеру в таких играх как Hears of Iron, Victoria и т.д.
Вот еще очень интересный пример. В голову почему-то не лезут никакие толковые мысли. В идеале нужен исходник(хорошо бы на С/C++, но и на любом другом языке тоже подойдет), буду благодарен также за любую теорию или ссылки по теме.