从正方形网格计算坐标到像素
Compute coordinates to pixels from a square grid
我正在尝试将正方形网格坐标计算为像素坐标,但由于我无法真正理解这些东西,我想我可能需要一些帮助。我必须将六边形网格转换为正方形网格,如下所示:
我之前使用的网格是这样的:
我有将六边形网格坐标计算为像素的函数的代码:
def hex_to_pix(t):
x = t[1] * dx + (t[0] % 2) * dxh + dxh
y = t[0] * dy + hh / 2
return (x, y)
此代码已提供。该函数接收一个元组,然后计算 x 和 y 以及 return 一个元组。为每个网格坐标调用此函数。 dx 是两个相邻六边形的水平距离,dxh 是该距离的一半,dy 是两个相邻六边形的垂直距离,hh 是六边形的高度。我怎样才能将此函数转换为从正方形网格计算的函数?
正方形网格中角点的坐标就是单元格的索引乘以单元格的大小。在下面,dx
和 dy
是单元格的大小,t
是包含行和列的元组:
def squre_to_pix(t):
x = t[1] * dx
y = t[0] * dy
return (x, y)
我正在尝试将正方形网格坐标计算为像素坐标,但由于我无法真正理解这些东西,我想我可能需要一些帮助。我必须将六边形网格转换为正方形网格,如下所示:
我之前使用的网格是这样的:
我有将六边形网格坐标计算为像素的函数的代码:
def hex_to_pix(t):
x = t[1] * dx + (t[0] % 2) * dxh + dxh
y = t[0] * dy + hh / 2
return (x, y)
此代码已提供。该函数接收一个元组,然后计算 x 和 y 以及 return 一个元组。为每个网格坐标调用此函数。 dx 是两个相邻六边形的水平距离,dxh 是该距离的一半,dy 是两个相邻六边形的垂直距离,hh 是六边形的高度。我怎样才能将此函数转换为从正方形网格计算的函数?
正方形网格中角点的坐标就是单元格的索引乘以单元格的大小。在下面,dx
和 dy
是单元格的大小,t
是包含行和列的元组:
def squre_to_pix(t):
x = t[1] * dx
y = t[0] * dy
return (x, y)