You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

行序交替时,如何将网格编号转换为坐标?

网格编号转坐标的公式推导

给定示例网格(行数rows=3,列数cols=3):

7|8|9
6|5|4
1|2|3

编号与坐标(x,y)的映射规则:

  • y从下到上递增(最下方行y=1,最上方行y=cols)
  • 奇数y列:x从左到右递增
  • 偶数y列:x从右到左递减

以下是通用推导公式,输入参数为:n(目标编号)、rows(网格总行数)、cols(网格总列数):

步骤1:计算y坐标

y表示编号所在的列(从下往上数),公式:

y = ((n - 1) // rows) + 1

说明:每列包含rows个编号,用整数除法得到列的0起始索引,加1转为1起始的y值。

步骤2:计算编号在当前列内的位置

得到y后,算出n在当前列的相对位置(从下往上数,起始为1):

pos_in_col = n - (y - 1) * rows

步骤3:计算x坐标

根据y的奇偶性确定x的方向:

  • 若y为奇数:x与列内位置一致(左到右递增)
    x = pos_in_col
    
  • 若y为偶数:x反向取值(右到左递减)
    x = rows - pos_in_col + 1
    

验证示例(rows=3, cols=3)

  • n=4:y=((4-1)//3)+1=2(偶数),pos_in_col=4-3=1 → x=3-1+1=3 → 坐标(3,2) ✔️
  • n=6:y=2(偶数),pos_in_col=6-3=3 → x=3-3+1=1 → 坐标(1,2) ✔️
  • n=7:y=((7-1)//3)+1=3(奇数),pos_in_col=7-6=1 → x=1 → 坐标(1,3) ✔️

内容的提问来源于stack exchange,提问作者mendelian22

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 23:37:45