z 阶曲线中的下一次迭代
Next iteration in z-order curve
我正在使用这篇维基百科文章中描述的技术构建一个四叉树。我将坐标存储在 2 或 3 天数组中。
boost::array<unsigned int, 2 /* 3 */> coord;
我需要一种方法来按 z 顺序计算下一个框的坐标。它将通过交错位,增加一个而不是去交错来工作,但这变得非常复杂。我希望有一个类似于文章中的 cmp_zorder(...) methon 的实现,它无需交错位即可工作。
好的,
这里是"残缺"加法算法,x
和y
是输入和输出,假设交错坐标中的最低阶位将是x
(与维基百科文章中相同)
int carry = 1;
do
{
int newcarry = x & carry;
x ^= carry;
carry = newcarry;
newcarry = (y & carry) << 1;
y ^= carry;
carry = newcarry;
} while (carry != 0);
我确实测试了它,但只是一点点。
相关文章:
- 在一次迭代中从 txt 文件中读取多行
- 高级选择排序 - 在一次迭代中搜索两个元素
- foor 循环的最后一次迭代中的指针更改
- 循环中本地对象的析构函数是否保证在下一次迭代之前被调用?
- ifstream不会在下一次迭代中打开文件
- C++如何使用lambda表达式来捕获上一次迭代的值
- 如何强制循环执行另一次迭代到零并关闭循环
- C 一次迭代所有仿制药
- 具有两个变量的"for"循环,一个变量每次迭代递增,每隔一次迭代递增
- while(getline(myReadFile, temp, ':')) 执行一次迭代太多导致向量越界
- 如何在C++中的while循环中存储上一次迭代
- 如何将while循环的每一次迭代都分配给线程
- 为什么用于解析我读取的行的内部循环每隔一次迭代就会通过外部读取循环跳过
- 有没有办法在一次迭代中进行任意数量的正则表达式替换
- z 阶曲线中的下一次迭代
- OpenCV神经网络一次训练一次迭代
- While循环在一次迭代后终止
- c++为下一次迭代保留索引
- 在while循环的下一次迭代中重写Const char *
- 通过一次迭代删除字符串中的所有逗号、句点和小写字母