我正在尝试提出一个迭代函数,为六边形网格生成xyz坐标.使用起始十六进制位置(简单来说就是0,0,0),我想计算六边形的每个连续"环"的坐标,如下所示:

到目前为止,我已经设法提出的是这个(例如在javascript中):
var radius = 3
var xyz = [0,0,0];
// for each ring
for (var i = 0; i < radius; i++) {
var tpRing = i*6;
var tpVect = tpRing/3;
// for each vector of ring
for (var j = 0; j < 3; j++) {
// for each tile in vector
for(var k = 0; k < tpVect; k++) {
xyz[0] = ???;
xyz[1] = ???;
xyz[2] = ???;
console.log(xyz);
}
}
}
Run Code Online (Sandbox Code Playgroud)
我知道每个环包含比前一个多6个点,每个120°向量包含从中心开始的每个步骤的一个附加点.我也知道x + y …