假设我们有一个m倍的矩形房间。表面覆盖有1 * 1个瓷砖,这意味着我们有m * n个方形瓷砖。每次给出一个随机点。程序应该显示放置该点的特定图块。模拟平铺曲面的最简单方法是什么?
首先我写了这个:
room_coordinates = []
for m in range(m):
for n in range(n):
room_coordinates.append((m,n))
仅给出表面上所有有序的自然数对。每个图块由四个这样的点组成,所以我想也许我可以使用像{1: [(0,0), (1,0), (0,1), (1,1)]}
这样的字典来表示一个图块,但话又说回来,我不确定如何确定一个点(0.5,0.5)实际上是在第1层内。
答案 0 :(得分:3)
我会用最左下角的坐标来表示每个图块,这样你就可以通过它的底层函数知道一个点在哪里。即
x= math.floor(x)
在点(0.5,0.5)的情况下,你可以使用floor函数得到(0,0)并使用你的映射给tile 1
这样做的一个优点是它不需要你存储瓷砖的所有四个点。 缺点是你必须决定如果一个点位于边缘会发生什么的规则。