2009-01-31 5 views
7

Ich habe eine Reihe von Hilbert-Werte (Länge von Anfang der Hilbert curve bis zum gegebenen Punkt).Mapping Hilbert Werte auf 3D-Punkte

Was ist der beste Weg, um diese Werte in 3D-Punkte zu konvertieren? Die ursprüngliche Hilbert-Kurve war nicht in 3D, also muss ich mir den Hilbert-Kurvenrang aussuchen, den ich brauche. Ich habe jedoch die Gesamtkurvenlänge (dh den Maximalwert in der Menge).

Vielleicht gibt es eine bestehende Implementierung? Eine Bibliothek, die mir erlauben würde, mit Hilbert-Kurven/-Werten zu arbeiten? Sprache spielt keine große Rolle.

Antwort

3

keine Antwort zu 3D-Konvertierung, aber es ist ein schöner Algorithmus und Diskussion von Hilbert Werte hier Two-dimensional spatial hashing with space-filling curves

Von 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]