Я использую шестигранную решетку с плоским верхом (согласно приведенному здесь руководству http://www.redblobgames.com/grids/hexagons/).Плоские вершины гексагональной координаты сетки координат Координаты пикселов
Мне нужно преобразовать мой куб координаты в координаты пикселей. Я прочитал Hexagonal Grid Coordinates To Pixel Coordinates, но решение, перечисленное там, требует некоторых изменений для работы с сеткой с плоской вершиной. Логика должна быть аналогична логике, описанной выше, но я не могу ее решить.
Определенно, если координаты x-координаты с плоским верхом могут использоваться в качестве координаты x пикселя. Таким образом, вычисление координаты X-пикселя из координат куба относительно просто. Предполагая, что $this->hexSize
является полной шириной гекса и $cubeCoordinate
представляет собой массив х, у, г координата х-координат пиксела будет:
$pixelCoordinate['x'] = $this->hexSize * $cubeCoordinate['x'] * 3/4;
Я не могу работать, хотя, как вычислить координаты у пикселя. Высота между соседними гексами должна быть недостаточно равна $this->hexSize
. Но как вычислить смещение, основанное на координатах куба?
Спасибо за этот пост .. Я следую за тот же руководство и работает в том же номере с моей плоской верхней сеткой. Вы используете отрицательные координаты (0,0 в центре) и как вы справляетесь с этим? Просто добавьте половину размера сетки в x и y? –