Это генерирует все плитки r*(r-1)*3+1
шестиугольного спирали. Недостатком метода является то, что он предполагает, что вы размещаете фигуру в (0,0).
public void makeHoneyComb(int radius){
makeCell(ta, 0, 0);
for (int r = 0; r > -radius; r--)
for (int q = -r - 1; q > -radius - r; q--)
makeCell(q, r);
for (int r = 1; r < radius; r++)
for (int q = 0; q > -radius; q--)
makeCell(q, r);
for (int q = 1; q < radius; q++)
for (int r = -q; r < radius - q; r++)
makeCell(q, r);
}
Это основано на том факте, что форму, подобную этой кулачке, можно разделить на 3 аналогичных Rectagles и на центральную часть.