C ++上的C ++连接六边形

时间:2014-03-27 11:02:47

标签: c++ hexagonal-tiles

我有一个问题,我需要在图表中通过它们的中心(我称之为节点)在图块上表示六边形。给定六边形图块,如何连接两个六边形xy

http://domathtogether.com/wp-content/uploads/2012/10/hexagons.png

以下内容适用于六边形及其在二维空间中的位置,但我想用整数坐标(0, 1), (0, 2), (0, 3), (1, 1), (1, 2), (1, 3) etc表示它们的位置。

if (n1->getPoint().getEuclideanDistance(n2->getPoint()) < diameter)
{
    // The two are connected.
}

1 个答案:

答案 0 :(得分:2)

让我们假设六边形编号为012345(顶行0),0123456(中间行1),012345(底行2):当它们是

时它们会触摸
  • 在相同的行中,索引相差+/- 1或

  • 行数相差+/- 1,索引相等或相差+1或-1,具体取决于行奇偶校验。