微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

查找第n个图块的坐标

如何解决查找第n个图块的坐标

让我们说我有一组比例为1:1的瓷砖,它们组成一个正方形。因此5x5、10x10、500x500、2000x2000等。如何找到我给定的第n个图块的坐标?假设我要在一组5x5的图块中找到第11个图块。协调将为X = 1 Y = 3,但是如何通过函数找出这一点呢?

Image illustrating which tile in a 5x5 grid

解决方法

假设您希望自上而下,从左至右的顺序,以下转换是适当的,所有从零开始计数

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。