Aby konwertować współrzędne heksagonalne na globalne należy:
float outerRadius = 10.0f;
float innerRadius = outerRadius * 0.866025404f;
vector2f hexToGlobal(float x, float z)
{
vector2f pos;
pos.X = x * 2.0f * innerRadius + (int(z) % 2) * innerRadius;
pos.Y = y * 1.5f * outerRadius;
return pos;
}
W jaki sposób dokonać odwrotnych obliczeń - to znaczy jak konwertować współrzędne globalne na heksagonalne ?