问题标签 [z-order-curve]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - 我怎样才能有效地洗牌?
我需要对 16 位无符号整数进行洗牌,使偶数索引位于低字节,奇数索引位于高字节。
我的代码现在看起来像这样:
我想知道是否有比简单地提取和移动每个位更优雅的解决方案?
z-order-curve - 如何在范围搜索中使用莫顿阶(z阶曲线)?
如何在范围搜索中使用 Morton Order?来自wiki,在“使用一维数据结构进行范围搜索”段落中,
它说
“被查询的范围(x = 2, ..., 3, y = 2, ..., 6)用虚线矩形表示。它的最高Z值(MAX)是45。在这个例子中,值在 Z 值递增方向搜索数据结构时遇到 F = 19。......BIGMIN(示例中为 36)......仅在 BIGMIN 和 MAX 之间的区间内搜索......"
我的问题是:
1)为什么F是19?为什么F不应该是16?
2) 如何获得BIGMIN?
3) 是否有任何网络博客演示如何进行范围搜索?
c - 2D morton 代码编码/解码 64 位
如何将给定 [x, y] 的 morton 代码(z 顺序)编码/解码为 32 位无符号整数,生成 64 位 morton 代码,反之亦然?我确实有 xy2d 和 d2xy 但仅适用于 16 位宽的坐标,产生 32 位莫顿数。在网上搜了很多,但没有找到。请帮忙。
c - Bit Twiddlings 64bits 的 2D 空间填充曲线
是否有任何空间填充曲线可以用 Bit Twiddling 计算(索引),不同于中性(简单移位)、Morton(二进制幻数)和 Hilbert(来自 Morton)?任何带有 encode(xy2d)/decode(d2xy) 的例子?
c - 2d Morton 码 64bits 解码功能
第一个函数将 [x, y] 编码为 64 位宽的莫顿代码,其中 x 和 y 是使用二进制幻数交错位的 32 位宽整数。
什么是反向功能?
c - 2D Morton 解码功能 64bits
第一个函数将 [x, y] 编码为 64 位宽的莫顿代码,其中 x 和 y 是使用二进制幻数交错位的 32 位宽整数。
什么是反向功能?
c - 3D 中的 Morton 排序使用 unit64_t 作为输入
我正在尝试使用 Morton 代码为给定的 (x,y,z) 生成唯一编码,其中 x,y,z 是双精度浮点数。我假设我可以使用类型转换将浮点数转换为整数并对这些整数运行 Morton 排序。例如考虑以下C++
代码。(我现在不知道如何做同样的事情C
)
扩孔也是如此x,y
。一旦我有了“重新解释”的值,我想将它们用作 Morton 编码的子程序。
我检查了上面的类型转换,它反向工作正常
我设法找到了一些 Morton 编码的代码,甚至在这个论坛上找到了一些代码,但没有一个用于int64_t
3D。因此,我将需要论坛上专家的帮助,了解如何对int64_t
整数进行编码和解码。
我设法对以下代码进行了逆向工程。不幸的是,有一些错误,当我运行解码部分时,我没有得到正确的数字。我将不胜感激任何帮助找出问题所在。
我这样做是因为我不想将坐标存储为 3D 点 (x,y,z),而是存储为单个长整数并在需要时对其进行解码。通过这样做,我会将坐标存储数组的大小减小 3 倍。
arrays - 莫顿编码 Z 索引空间使用
我有点困惑,因为我测试了几种算法来计算 z 索引,对于 (8, 8, 8) 我得到 3584,对于 (7, 7, 7) 我得到 511,这是正确的。问题是 8*8*8 = 512,但 z-index 是 3584。这意味着如果我使用一维数组按 z-index 存储东西,我不会使用更多空间并且会有空阵列中的插槽?类似地,7*7*7 = 343,小于 511。如果您在维基百科页面上查看 z-indexing/Morton 编码,您会发现一个二维示例,它是 8*8,x 和 y 的索引从 0到 7。但是,最大的 z-index 是 111111,即 63,从 0 开始编号时正好是第 64 个元素,因此它不会使用超过存储 64 个元素所需的空间。这里有什么问题吗?
谢谢