我想表示以下细胞排列(称为order-5 square tiling;来自维基百科的图像; 图像下方的更多文字):
显然,对于一个简单的网格,我可以在整数坐标中通过相对于原点的(x,y)
位置唯一地引用给定的方格。要到达相邻的单元格,可以简单地增加或减少x
或y
。然而,在双曲线平面上,事情变得混乱,并且不清楚如何引用给定的单元格。
是否有更好的视觉表示方式 - 5平方的平铺,可以直观地了解如何引用单个细胞,如果没有,那么是否有一种简单的方法可以为每个细胞提供一个指数(例如欧几里德平面的(x,y)
)可以很容易找到它的邻居吗?
答案 0 :(得分:1)
这个问题与Math SE上的问题密切相关,题为Symbolic coordinates for a hyperbolic grid?使my answer there适应正方形(即常规四边形)双曲线平铺的特殊情况,我建议如下:区分一个正方形(可能是最大的)作为中心,一个方向作为起始方向。然后你可以将一条通过平铺的路径描述为一系列移动指令:向左转,向右转,直线移动,在开始时甚至可以转向。您可以将这些缩写为单个字母l,r,s,t
。所以路径是这样的字母序列,并且表示唯一的最终正方形。另一方面,有几条通向给定方格的路径,因此这条路径语法并不是唯一的。您需要添加一个标准化步骤:从所有可能的路径中,根据这些单词的某些总顺序选择最小的一个,例如:短期订单。您可以使用适当的术语重写系统自动执行此规范化,使用Knuth-Bendix程序完成。我无法想象一个视觉表现形式,这对任何一个都有很大影响。