3

我有一个问题,我需要在我的图表中通过它们的中心(我将其称为节点)来表示瓷砖上的六边形。给定一块六边形,我怎样才能找到两个六边形xy是否连接?

在此处输入图像描述
(来源:domathtogether.com

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

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

1 回答 1

2

让我们假设六边形的编号为 012345(顶行 0)、0123456(中间行 1)、012345(底行 2):当它们接触时

  • 在同一行中不同 +/-1 的索引处,或

  • 在相差 +/-1 的行中,并且索引等于或相差 +1 或 -1,具体取决于行奇偶校验。

于 2014-03-27T11:25:54.547 回答