自定义行数列数左上右上右下坐标求出所有坐标
时间: 2023-05-26 16:02:56 浏览: 132
首先,我们可以根据行数和列数来得出总共的格子数,然后就可以根据左上角的坐标和每个格子的边长来确定每个格子的四个顶点坐标。具体而言,设左上角的坐标为 $(x_0,y_0)$,每个格子的边长为 $l$,则:
- 第 $i$ 行第 $j$ 列格子的左上角坐标为 $(x_0+(j-1)l, y_0+(i-1)l)$;
- 第 $i$ 行第 $j$ 列格子的右上角坐标为 $(x_0+jl, y_0+(i-1)l)$;
- 第 $i$ 行第 $j$ 列格子的右下角坐标为 $(x_0+jl, y_0+il)$;
- 第 $i$ 行第 $j$ 列格子的左下角坐标为 $(x_0+(j-1)l, y_0+il)$。
因此,我们可以用两重循环来遍历每个格子,计算出它的四个顶点坐标,并将这些坐标存入一个二维列表中。具体代码实现如下:
```python
def get_coords(row, col, x0, y0, l):
coords = []
for i in range(1, row+1):
for j in range(1, col+1):
left_top = (x0+(j-1)*l, y0+(i-1)*l)
right_top = (x0+j*l, y0+(i-1)*l)
right_bottom = (x0+j*l, y0+i*l)
left_bottom = (x0+(j-1)*l, y0+i*l)
coords.append([left_top, right_top, right_bottom, left_bottom])
return coords
```
其中,`row` 和 `col` 分别表示行数和列数,`x0` 和 `y0` 分别表示左上角的 $x$ 坐标和 $y$ 坐标,`l` 表示每个格子的边长。返回的 `coords` 是一个二维列表,每个元素表示一个格子的四个顶点坐标。
阅读全文