我正在使用平顶六边形网格(按照此处列出的手册 http://www.redblobgames.com/grids/hexagons/)。
我需要将我的立方体坐标转换为像素坐标。我已经阅读了Hexagonal Grid Coordinates To Pixel Coordinates,但那里列出的解决方案需要进行一些修改才能与平顶网格一起使用。逻辑必须类似于上面链接的问题中描述的那样,但我无法解决它。
对于平顶六边形而言,x坐标可用作x像素坐标。因此,从立方体坐标计算X像素坐标相对容易。假设$this->hexSize
是六边形的总宽度,$cubeCoordinate
是一个由x、y和z坐标组成的数组,则x像素坐标将是:
$pixelCoordinate['x'] = $this->hexSize * $cubeCoordinate['x'] * 3/4;
我不知道如何计算y像素坐标。相邻六边形之间的高度应该是
$this->hexSize
,但如何根据立方体坐标计算偏移量呢?