将希尔伯特值映射到3D点 [英] Mapping Hilbert values to 3D points
问题描述
我有一组希尔伯特值(从希尔伯特曲线开始的长度给定点).
I have a set of Hilbert values (length from the start of the Hilbert curve to the given point).
将这些值转换为3D点的最佳方法是什么?原始的希尔伯特曲线不在3D中,因此我想我必须自己选择所需的希尔伯特曲线等级.我确实有总的曲线长度(即集合中的最大值).
What is the best way to convert these values to 3D points? Original Hilbert curve was not in 3D, so I guess I have to pick by myself the Hilbert curve rank I need. I do have total curve length though (that is, the maximum value in the set).
也许有一个现有的实现?一些可以让我使用希尔伯特曲线/值的库?语言无关紧要.
Perhaps there is an existing implementation? Some library that would allow me to work with Hilbert curve / values? Language does not matter much.
推荐答案
不是有关3D转换的答案,但是这里有一个很好的算法和关于希尔伯特值的讨论带有空间填充曲线的二维空间散列
Not an answer about 3D conversion, but there is a nice algorithm and discussion of Hilbert values here Two-dimensional spatial hashing with space-filling curves
来自 MIT
4 algorithms for the n-dimensional Hilbert Space-Filling Curve
* A. R. Butz, "Alternative Algorithm for Hilbert's Space-Filling Curve",
IEEE Trans. Comp., April, 1971, pp 424-426. [Butz 1971]
* S. W. Thomas, "hilbert.c" in the Utah Raster Toolkit circa 1993,
http://web.mit.edu/afs/athena/contrib/urt/src/urt3.1/urt-3.1b.tar.gz
* D. Moore, Fast Hilbert Curves in C, without Recursion
* J.K.Lawder, Calculation of Mappings Between One and n-dimensional Values Using the Hilbert Space-filling Curve, [JL1_00]
这篇关于将希尔伯特值映射到3D点的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!