Closed. This question needs to be more focused。它当前不接受答案。
想改善这个问题吗?更新问题,使其仅关注editing this post的一个问题。
23天前关闭。
Improve this question
可以说我有一组比例为1:1的瓷砖,它们形成一个正方形。因此5x5、10x10、500x500、2000x2000等。如何找到我给定的第n个图块的坐标?假设我要在一组5x5的图块中找到第11个图块。协调将为X = 1 Y = 3,但是如何通过函数找出呢?
想改善这个问题吗?更新问题,使其仅关注editing this post的一个问题。
23天前关闭。
Improve this question
可以说我有一组比例为1:1的瓷砖,它们形成一个正方形。因此5x5、10x10、500x500、2000x2000等。如何找到我给定的第n个图块的坐标?假设我要在一组5x5的图块中找到第11个图块。协调将为X = 1 Y = 3,但是如何通过函数找出呢?
最佳答案
假设您希望从上到下,从左到右的顺序,以下转换是适当的,所有从零开始计数:
Index n to coord:
x = n % w (w is the width of your rectangle in units)
y = n / w (rounding towards zero)
Coord to index:
n = w*y + x
如果索引从1开始,则到处都必须用n
替换n - 1
。如果您以x, y
开头的1
计数,则将x
替换为x-1
,并类似地替换为y
。您可能需要稍微求解一下所得方程,例如,如果所有索引均从1开始,则最终会得出:n - 1 = w*(y-1) + x-1
解决n = w*(y-1) + x