旋转正方形网格得到菱形网格的规律对应的数学概念是什么?
网格旋转特性的数学解释
你观察到的规律属于离散网格仿射变换的计数特性,底层可以用斜坐标系基变换、曼哈顿距离与切比雪夫距离的等价转换两个数学概念解释。
规律公式验证
你推导的对应关系可以整理为通用表达式:
设需要的菱形网格单边单元数量为n,需要准备的轴对齐正方形网格单边长度为S,则:
S = n + (n - 1) = 2n - 1
反向推导可得:
n = (S + 1) / 2
和你实测的数值完全匹配:
- S=5 对应 n=3
- S=7 对应 n=4
- S=11 对应 n=6,和你举例的5+6=11完全一致
底层逻辑说明
轴对齐正方形网格旋转45度后,原直角坐标系(x,y)会转换为菱形斜坐标系(u,v),其中:
- u = x + y
- v = x - y
如果要得到连续无断层的n×n菱形网格,需要u、v的取值刚好覆盖n个连续整数,计算下来只有当正方形边长S=2n-1时,转换后的u、v取值刚好没有多余边角、也不会缺失有效单元,完美匹配你需要的菱形网格尺寸。这个规律在桌游开发中实用性很强,你可以直接复用正方形网格的坐标计算、碰撞检测逻辑,不用单独为菱形网格开发特殊计算规则。
网格旋转效果示意图

内容的提问来源于stack exchange,提问作者user3869231
相关产品推荐
相关产品推荐

