0

我有一个像这样的矩形网格,在此处输入图像描述我想获得这些点的索引,这些点形成这样的六边形网格在此处输入图像描述

鉴于我只想绘制完整的六边形,如何“六边形化”矩形网格?

编辑:

我添加了另一张图片,显示了我想要实现的目标在此处输入图像描述

4

2 回答 2

1

您可以创建两个网格,一个尺寸为 N/2xN/2,其中 N=20,另一个为 (N-1)/2+1x(N-1)/2+1。如果调用的索引是奇数,则转到图形中长度为 N-1 的内部单元格,否则转到长度为 N 的外部单元格。

我想这将是最经济/优化的方式。

于 2013-09-18T21:45:02.543 回答
0

您的图片水平每 2 个单位重复,垂直每 4 个单位重复。因此,您需要查看 x mod 2 和 y mod 4,并据此确定线。


明确地说:

(x mod 2,y mod 4) connections
(0,0)             top left to bottom right
(1,0)             bottom left to top right
(0,1)             bottom left to top left
(1,1)             bottom right to top right
(0,2)             bottom left to top right
(1,2)             top left to bottom right
(0,3)             bottom right to top right
(1,3)             bottom left to top left


从您的评论来看,这些数字似乎没有分配给正方形,它们被分配给紧挨着下方或左侧的线(并且您首先列出了 y 坐标)。

首先列出 x,以下站点在第一个六边形中,但不是第二个:
(1,0),(1,3),(0,2),(0,1)
以下站点不在六边形中
:( 0,0),(1,1),(1,2),(0,3)

如果您查看 (x mod 2,y mod 4),则会将您的网站分成您需要的两个列表。

于 2013-09-19T01:15:07.293 回答