Вот тут всё хорошо описано
https://habrahabr.ru/post/144921/
Множество вершин многоугольников одного цвета составить не проблематично.
UPD. Первое пришедшее в голову решение:
Берем множество всех граней этих шестиугольников. Далее проходимся по нему и удаляем все, которые лежат между шестиугольников одного цвета. В итоге имеем множество граней, необходимых для постройки необходимой фигуры.
Можно даже абстрагироваться от шестиугольников и сделать это для любых фигур.