2009-01-31 16 views
7

Tengo un conjunto de valores de Hilbert (longitud desde el inicio del Hilbert curve hasta el punto dado).Asignación de valores de Hilbert a puntos 3D

¿Cuál es la mejor forma de convertir estos valores a puntos 3D? La curva original de Hilbert no estaba en 3D, así que creo que tengo que elegir el rango de la curva de Hilbert que necesito. Sin embargo, tengo la longitud total de la curva (es decir, el valor máximo en el conjunto).

¿Tal vez hay una implementación existente? ¿Alguna biblioteca que me permita trabajar con curvas/valores de Hilbert? El lenguaje no importa mucho.

Respuesta

3
No

una respuesta acerca de la conversión 3D, pero hay un buen algoritmo y la discusión de los valores de Hilbert aquí Two-dimensional spatial hashing with space-filling curves

De 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] 
Cuestiones relacionadas