我需要创建一个十六进制瓷砖地图,最多使用19种颜色,其中每种颜色必须保持至少3瓷砖的距离。然而,我不需要使用所有19种颜色。如果有一种算法可以用少于19种颜色来解决这个距离限制,这是完全可以的。
贝克曼-夸尔斯定理[1]看起来是相关的,有一个7色瓷砖图显示了相同颜色的瓷砖彼此之间保持2的距离。
但是我很难找到一个可以理解的描述,甚至是构建距离为3的十六进制贴图的实现。
[1]http://de.wikipedia.org/wiki/Satz_von_Beckman_und_Quarles
让我们建立一个坐标系,其中坐标为 (i,j)
的十六进制与 (i-1,j), (i-1,j 1), (i,j-1), (i,j 1), (i 1,j-1), (i 1,j)相邻
。
(0,3) (2,2) (4,1)
(1,2) (3,1)
(0,2) (2,1) (4,0)
(1,1) (3,0)
(0,1) (2,0)
(1,0)
(0,0)
我将应用剪切变换,以便用ASCII艺术简洁地绘制十六进制网格。转换后的七进制区域如下所示。
**
***
**
你要做的是用下面的19色布局平铺飞机。
ABC
DEFG
HIJKL
MNOP
QRS
这些瓷砖可以这样拼在一起。
111
1111
00011-11
00001111333
00-001113333
000022233-33
00022223333555
22-223335555
222244455-55
22244445555
44-44555
4444
444
我用-
标记了图块中心。它们形成了一个由两个向量生成的格子:(5,-3)
和(3,2)
。给定十六进制坐标(i, j)
,我们可以(也许不优雅地)求解矩阵方程
[5 -3] [u] [i]
[3 2] [v] = [j]
在rational变量< code>u,v中,然后,分别尝试将< code>u和< code>v的所有四个整数舍入到附近的整数< code>u*和< code>v*,确定< code>(i,j)位于哪个图块中,并在图块中心处应用适当的颜色
[5 -3] [u*]
[3 2] [v*].
我要做的是找出在一个六角网格上,两点之间有多少个六边形。我试着在网上搜索一个公式,但我无法找到一个匹配类型的十六进制网格我正在使用。
我有一个六边形网格,就像图中的一样,我试图找到最简单的方法(也许是一个公式)来计算这个网格内两个六边形之间的距离。当然,我的网格的大小比这更大,但是当我们计算规则网格(有水平和垂直轴)中两个节点之间的距离时,我试图找到一个类似于欧几里得距离公式的公式。 我读了一些方法,但他们都说Y轴应该是60度,然后他们提供了一些公式(六角网格中瓷砖之间的曼哈顿距离)。是否有一种方法来计算距离使用“坐标系”相同,
改变这个.. 对此..
我有一个多边形类型的几何体,我正在计算一个点的最小距离可能在多边形几何体内部(由360个点组成,作为闭合几何体)或多边形几何体外部。使用postgis的ST_distance方法,当点在几何体外部时,我得到精确的距离,但如果点在几何体内部,则得到0作为距离,我想要与多边形几何体最近点的点之间的最小距离,无论该点位于几何体内部还是外部。
我想让我的libgdx地图滚动,但我不知道代码使地图滚动,请大家帮助我,我想让地图滚动像flappy bird游戏,这是我的代码,显示在屏幕上的地图 }