2009-01-31 6 views
7

J'ai un ensemble de valeurs de Hilbert (longueur depuis le début du Hilbert curve jusqu'au point donné).Mappage de valeurs Hilbert à des points 3D

Quelle est la meilleure façon de convertir ces valeurs en points 3D? La courbe originale de Hilbert n'était pas en 3D, donc je suppose que je dois choisir par moi-même le rang de la courbe de Hilbert dont j'ai besoin. J'ai cependant la longueur totale de la courbe (c'est-à-dire la valeur maximale de l'ensemble).

Peut-être existe-t-il une implémentation existante? Une bibliothèque qui me permettrait de travailler avec les courbes/valeurs de Hilbert? La langue n'a pas beaucoup d'importance.

Répondre

3

Pas une réponse sur la conversion 3D, mais il y a un algorithme agréable et la discussion des valeurs de Hilbert ici 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] 
Questions connexes