【发布时间】:2017-09-02 01:57:43
【问题描述】:
我正在制作一个抖动库。为了找到绝对点a 在由 4 个单位正方形平铺的二维平面中的相对位置,我使用rel.x = abs.x % 4; rel.y = abs.y % 4。这很好,并且产生了预期的结果。但是,如果我用加号形状(即 3 个单位)平铺飞机怎么办?如何找到绝对位置?这里显示的是瓦片形状,1 是形状的一部分,0 是空白区域。
0 1 0
1 1 1
0 1 0
例如,如果我的点a 位于x = 1, y = 1 上,那么绝对位置应该是x = 1, y = 1。但如果它打开,比如x = 4, y = 1,那么绝对位置应该是x = 1, y = 2。你看,还有另一个加号,底部是x = 1, y = 2。这在数学上是如何实现的?任何语言,伪代码也很棒。 :)
【问题讨论】:
-
如果需要我可以制作图像:)
-
加号形状的绝对位置-加号的中心坐标属于哪个点是什么意思? (是的,我意识到这种形状的紧密包装 - 有两种:右上和右下)
-
@MBo 绝对位置是以加号为中心的 3x3 正方形的绝对位置。而且他们都挤得很紧:)
-
值得指定(显示)您的坐标原点和平铺类型。 RRD平铺的图片帮助:i.pinimg.com/236x/00/20/66/002066c83fcf2efb7acd44224403b272--patterns-to-colour-textile-patterns.jpg
-
你为什么要混淆 relative 和 absolute 位置? "要找到...的相对位置,我使用
abs.x = a.x % 4..."
标签: geometry