我需要从它的 2 个坐标 x,y 计算平面上一个点的 Z-Index (Morton)。
传统上,这只是通过比特交错来解决。
但是我有边界,我希望该点的 z-index 仅在其位于活动区域内时增加 morton 计数,而在外部时跳过计数。
需要明确的是,4x4 正方形中的典型 z 顺序是:
| 0 1 4 5 |
| 2 3 6 7 |
| 8 9 12 13 |
| 10 11 14 15 |
但是,如果我有一个 3x3 的活动区域,我希望索引计算如下:
| 0 1 4 x |
| 2 3 5 x |
| 6 7 8 x |
| x x x x |
如您所见,00-11 四边形已满,02-13 跳过了落在活动区域之外的 2 个点的计数,对于 20-31 和 22-33 也是如此。
重要提示:我想在不迭代的情况下执行此操作。
这个问题有已知的解决方案吗?