2016-05-02 3 views
1

Я хочу создать гексагональную решетку, но она должна быть сосредоточена в основном по всей решетке - это центральный шестиугольник, а затем слои шестиугольника вокруг, как показано на рисунке. (может быть, мое описание - путаница, но сейчас я так и вижу).Генерирующая центрированная гексагональная решетка

Поэтому я хочу сгенерировать координаты для решетки ниже. Я нашел много алгоритмов для создания квадратной решетки шестиугольников, но я хочу спросить, есть ли алгоритм для следующей решетки.

enter image description here

ответ

0

Примечание:

N-й слой состоит из 6N клеток.

Первая ячейка этого слоя в вашем представлении имеет координату SHIFT

(N*A*Sqrt(3)/2, N*A*3/2), where A is edge length. 

Первая ячейка этого слоя имеет номер

2+3*N*(N-1)      //(you have missed 14) 

Вы можете начать с первой ячейки N-го слоя, сделать N более ячейки влево, N-ячеек влево-вниз и так далее ...

+0

Эй, @MBo, спасибо за ответ. но я смущен. что вы подразумеваете под «первой ячейкой этого слоя». Также «Первая ячейка этого слоя»? Я довольно смущен описанием. Был бы признателен, если бы вы могли немного разобраться в этом? –

+0

Номер ячейки 2 - первая ячейка первого слоя (она содержит ячейки 2..7), номер ячейки 8 - первая ячейка во втором слое (8..19). – MBo