我有一个问题,我需要在图表中通过它们的中心(我称之为节点)在图块上表示六边形。给定六边形图块,如何连接两个六边形x
和y
?
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.
}
答案 0 :(得分:2)
让我们假设六边形编号为012345(顶行0),0123456(中间行1),012345(底行2):当它们是
时它们会触摸在相同的行中,索引相差+/- 1或
行数相差+/- 1,索引相等或相差+1或-1,具体取决于行奇偶校验。