Hilbert-Kurve: Raumfüllende Kurve

In der Mathematik ist die Hilbert-Kurve eine (stetige) Kurve, die, wie in der nebenstehenden animierten Abb.

1 veranschaulicht, als Grenzkurve von Polygonzügen die Fläche eines Quadrats vollständig ausfüllt. Sie ist eine sogenannte FASS-Kurve, somit eine raumfüllende Kurve (engl. space-filling curve, abgekürzt SFC) und wurde 1891 von dem deutschen Mathematiker David Hilbert entdeckt. Die Möglichkeit, mit einer stetigen eindimensionalen Kurve ein zweidimensionales Gebiet komplett abdecken zu können, war den Mathematikern des neunzehnten Jahrhunderts neu (siehe auch Monsterkurve).

Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis
Abb. 1: Hilbert-Polygone in sieben Iterationen, dazu die Hilbert-Kurve

Die Hilbert-Kurve wird durch rekursive Iteration definiert und konstruiert. Die -te Rekursionsstufe wird Hilbert-Kurve der -ten Iteration, , und der die Teilquadrate verbindende Polygonzug Hilbert-Polygon der -ten Iteration genannt. Die Hilbert-Kurven und die Hilbert-Polygone endlicher Iterationen haben denselben Grenzwert, nämlich die Hilbert-Kurve im engeren Sinn. Die euklidische Länge des Hilbert-Polygons ist , das heißt, sie wächst mit der Nummer der Iteration über alle Grenzen. Die Hilbert-Kurve hat im Limes eine Hausdorff-Dimension von exakt 2, genau wie das Quadrat.

Mithilfe der Hilbert-Kurve endlicher Iteration kann man die Teilquadrate und mithilfe des Limes die Punkte im Quadrat in eine lineare Reihenfolge bringen, die Hilbert-Ordnung genannt wird. Mit ihr lassen sich (effiziente) Verfahren, die auf einer linearen Ordnung beruhen, ins Mehrdimensionale übertragen. Dazu gehört binäres Suchen, binärer Suchbaum, Skip-Liste und andere.

Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis
Abb. 2: Farbkodierte Entfernungstabelle von Orten auf der Hilbert-Kurve der 4. Iteration

Beim direkten Zugriff steht die Hilbert-Ordnung in Konkurrenz zu einem Zugriff, bei dem die linearen Ordnungen der Dimensionen in unterschiedlicher Rangigkeit zu einer lexikographischen Ordnung hintereinander geschaltet sind – im internen Speicher über ein mehrfach indiziertes Feld resp. im externen Speicher per wahlfreien Zugriff (Random Access). Wenn sich dies gut organisieren lässt, schneidet sie etwas schlechter ab. Sie ist aber überlegen, wenn es sich um eine ungefähre Suche handelt, an die sich eine sequentielle Suche anschließt, bei der Nachbarschaftsbeziehungen (engl. clustering) vorteilhaft ausgenutzt werden können. Dies ist bei -dimensionalen Räumen , bei denen Nachbarschaft durch die euklidische Metrik definiert ist, häufig der Fall – beispielsweise, wenn auf geographische Merkmale eines Objekts über die Schlüssel Länge und Breite zugegriffen werden soll. Die Hilbert-Kurve ist beliebt aufgrund ihrer guten Nachbarschaftserhaltung. Bei der Z-Kurve ist die Rechnung geringfügig einfacher, aber die Nachbarschaftserhaltung deutlich schlechter.

Die Zuordnung der Hilbert-Kurve einer (endlichen) -ten Iteration ist umkehrbar und kann zu beliebiger Feinheit gesteigert werden. Dieses und die gute Nachbarschaftserhaltung hat eine Vielfalt von Anwendungen der Hilbert-Kurve in der Informatik eröffnet, so in der Bildverarbeitung, Datendarstellung, im Hochleistungsrechnen und in anderen Gebieten.

Konstruktion

Die Abb. 3a bis 3c aus dem definierenden Artikel zeigen die drei ersten Iterationen der Hilbert-Kurve. Bei der Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis -ten Iteration bringen Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Nummern die Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Intervalle (Teilstrecken der Linie oben in den Grafiken) und die Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Quadrate mit gleichen Nummern zur Entsprechung. Die verstärkten polygonalen Linien Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  bringen genau diese Reihenfolge der Quadrate heraus.

Eine nachfolgende Iteration verfeinert – bei Intervallen wie bei Quadraten – die Schachtelung um den Faktor 4.

Iterationsschritt

Die Konstruktion der Hilbert-Kurve als einer raumfüllenden Kurve

    Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis 

beruht auf einem rekursiven Verfahren:

  1. Das Verfahren beginnt mit dem (mehrdimensionalen Einheits-Intervall) Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  als dem zu füllenden Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis -dimensionalen Gebiet.
  2. Jedes Gebiet wird aufgeteilt in Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  kongruente Teilgebiete (Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis -dimensionale Intervalle) der halben Seitenlänge und auf der Eingabeseite ein Intervall in Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  gleich lange Teilintervalle. Das Verfahren überführt damit 1D-Schachtelungen von Intervallen in 2D-Schachtelungen von Quadraten (oder in 3D-Schachtelungen von Würfeln), ist also inklusionserhaltend.
  3. Für jedes Teilgebiet ist eine raumfüllende Kurve zu finden, die durch verkleinerte Verschiebung, Spiegelung und/oder Rotation der Vorgängerkurve gebildet wird.   (Prinzip der Selbstähnlichkeit)
  4. Die Spiegelungs- und Rotationsoperationen lassen sich so wählen, dass sich die Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Teilkurven zu einer einzigen gerichteten Kurve zusammenfügen.

Eine Hilbert-Kurve wird wesentlich durch die Reihenfolge charakterisiert, in der die Teilgebiete hintereinander aufgesucht (traversiert) werden. Mit wachsender Dimensionszahl Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  wächst die Anzahl der unterschiedlichen Hilbert-Kurven, die sich dann auch in ihrer Nachbarschaftserhaltung stark unterscheiden können.

Dieser Artikel beschränkt sich fast ausschließlich auf die Dimensionszahl Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis , also auf die Abbildung des Einheitsintervalls Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  auf das Einheitsquadrat Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis . Bei dieser Dimensionszahl treten alle einschlägigen mathematischen Phänomene bereits in Erscheinung.

Während die Hilbert-Kurve (auf der Ausgabeseite) ein „Teilquadrat“ durchläuft (füllt), soll auch der Parameter Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  auf der Eingabeseite das ihm entsprechende Teilintervall durchlaufen. Dies entspricht der Vorgabe, dass die Hilbert-Kurve in allen Bereichen »gleich schnell« voranschreitet.

Um dies sicherzustellen, wird als Intervallschachtelung auf der Parameterseite die („4-adische“) Darstellung von Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  im Quaternärsystem mit Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  gewählt. Es sei Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  gesetzt, so dass

    Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis     

ein Intervall in der Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis -ten Schachtelung des Parameters Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  ist. Auf der Seite des Quadrats (Ausgabeseite) werden die Koordinaten Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  und Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  im Binärsystem („2-adisch“) dargestellt mit Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis . Die (abbrechenden) Koordinaten Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  mit Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  und Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  stehen dabei für das Teilquadrat, das diese Koordinaten zur linken unteren Ecke hat. Und die Folge der durch Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  spezifizierten Quadrate, die die Seitenlänge Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  und die Fläche Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  haben, macht eine 2D-Intervallschachtelung in der Ebene aus. Diese Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis D-Schachtelungen seien als die „Rasterschachtelung“ Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  (der Hilbert-Kurve) bezeichnet.

Die Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis -te Iteration Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  der „Hilbert-Kurve“ ist eine geordnete Folge von Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  an genau einer Quadratseite mit dem Folgequadrat zusammenstoßenden Quadraten (oder deren linken unteren Eckpunkten resp. deren Mittelpunkten). Diese Folge wird am besten durch einen gerichteten Polygonzug von Quadratmittelpunkt

    Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis 

zu Quadratmittelpunkt (Parameter Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis ) verdeutlicht. Dieser Polygonzug Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  enthält alles Wichtige und wird häufig als das Hilbert-Polygon (engl. auch approximating curve und Hilbert pseudo curve) der Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis -ten Iteration bezeichnet (Beispiele finden sich in den Hilbert-Kurven der 1. bis 3. Iteration der obigen Abbildungen).

Polygonzug

Im Folgenden wird gezeigt, wie die Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Quadrate eines Rasters Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  sämtlich in eine Reihenfolge Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  gebracht werden, derart, dass sie bei wachsendem Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  immer kleiner werden, einander näher rücken und im Limes eine Kurve bilden.

Im Sinn des obigen Programms sei rekursiv angenommen, dass in einem Teilquadrat Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  ein Kurvenpunkt der selbstähnlichen Hilbert-Kurve berechnet ist. Es geht nun darum, diesen Punkt (resp. dieses Teilquadrat) so zu den anderen drei Teilquadraten in das Quadrat Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  zu holen, dass alle solche Punkte zusammen genommen eine zusammenhängende Kurve (resp. eine zusammenhängende Folge von Teilquadraten des Rasters Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis ) ergeben. Eine solche Transformation lässt sich zerlegen in:

    die Verkleinerung des Quadrats linear um den Faktor Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis , (Skal)
    eine (die Hilbert-Kurve charakterisierende) Parallelverschiebung und (Parv)
    eine Isometrie (= orthogonale Abbildung = Drehung und/oder Spiegelung). (Ausr)

Für die Wahl der passenden Drehungen und/oder Spiegelungen ist die Festlegung hilfreich, wo ein Quadrat einer Rasterschachtelung Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  von der Kurve betreten und wo es verlassen wird. Bei der Hilbert-Kurve sind dies die Ecken genau einer Quadratseite. Da es auch auf die Richtung und Orientierung ankommt, werde dieses Charakteristikum eines Quadrats im Raster mit dem Begriff „Ausrichtung“ (engl. orientation, state) versehen und die Ausrichtung „hoch—rechts—runter“ (in Koordinaten Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  resp. die Strecke Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  für „Eintritt links unten—Austritt rechts unten“) mit dem Buchstaben Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  gekennzeichnet.

Aber auch die bloße Platzierung des Teilquadrats hängt von der Ausrichtung ab. Ist das große Quadrat Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  (links in der Abbildung 4) gemäß Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  ausgerichtet, dann wird bei der Hilbert-Kurve das Quadrat Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  abhängig von der Quaternärziffer Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  in eines der vier Teilquadrate platziert, und zwar platziert die Quaternärstelle Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  nach links unten, Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  nach links oben, Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  nach rechts oben und Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  nach rechts unten, also nach dem „Grundmuster“ (engl. base pattern oder basic pattern) Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis . Ein Grundmuster für die 3-dimensionale Hilbert-Kurve ist Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  (s. a. den Abschnitt Ausblick auf 3 Dimensionen).

Andere Ausrichtungen (als Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis , und auch Platzierungsmuster) lassen sich durch eine vorgeschaltete Isometrie aus der Diëdergruppe Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  des Quadrats darstellen.

Die zur Herstellung des einfachen Zusammenhangs (und damit der Stetigkeit im Limes) erforderlichen Drehungen und/oder Spiegelungen sind ebenfalls Isometrien aus Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  und zusammen mit der Platzierung auszuführen. Diese Kombination wird im folgenden Abschnitt unter dem Begriff „Transformation“ beschrieben.

Transformation der rekursiven Teilquadrate auf das Einheitsquadrat

Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis 
Abb. 4: Die Einbettung des Teilquadrats der Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis -ten Iteration rechts resp. eines seiner Punkte Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  in das 4 mal so große Quadrat links – in welches Teilquadrat und wie, wird von der Quaternärziffer Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  abhängig gemacht.

Um den Wechsel der Ausrichtung von einer Iteration zur nächsten präzise zu erfassen, sei angenommen, dass beide Quadrate, das große (links in der Abbildung 4) wie das Teilquadrat (rechts) gleich, bspw. gemäß Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis , ausgerichtet sind.

Die benötigten vier Transformationen hängen von der Quaternärziffer Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  ab und seien mit Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  und Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  bezeichnet:

    Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis 

    Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis 

    Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis 

    Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis 

Alle Transformationen skalieren zunächst die übergebenen Koordinaten Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  des Punktes mit dem Faktor Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis , da die Teilquadrate die halbe Seitenlänge haben, und enthalten eine Verschiebung in das durch Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  (s. o.) bestimmte Teilquadrat. Zudem ist von einer Transformation je nach Lage ggf. eine (von Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  abhängige) Viertelrotation, Spiegelung, d. h. eine Kongruenzabbildung Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  durchzuführen:

  • Bei Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  kommt die Transformation Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  zum Zuge. Sie spiegelt ihr Argument an der »Hauptdiagonalen« (strichpunktiert in Abbildung 4), wodurch sich der Drehsinn des Quadrats ändert. Die Eintrittsecke ins Teilquadrat (links unten) bleibt erhalten.
    (Alle Übertritte von einem Quadrat zum nächsten sind in der Abbildung 7 als kurze blaugrüne Pfeile vom Grundmuster des einen Quadrats diagonal zur Austrittsecke und von der Eintrittsecke des anderen Quadrats diagonal zu dessen Grundmuster dargestellt.)
    Die Austrittsecke dieses Teilquadrats ist nachher links oben und führt zum nächsten Teilquadrat mit Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis .
  • Die Zielquadrate bei den Transformationen Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  und Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  haben dieselbe Ausrichtung Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  mit Eintrittsecke links unten und Austrittsecke rechts unten, daher ist keine Spiegelung (und keine Drehung) erforderlich. Jedoch wird die Kurve skaliert in je eines der oberen Teilquadrate verschoben.
    Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  verschiebt bei Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  die Kurve um Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  in Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis -Richtung, also ins linke obere Teilquadrat. Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  verschiebt für Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  die Kurve diagonal ins rechte obere Teilquadrat.
    Die Eintrittsecke des Teilquadrats mit Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  fällt mit der Austrittsecke von Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  und die Austrittsecke von Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  mit der Eintrittsecke von Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  zusammen.
  • Die Transformation Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  spiegelt für Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  ihr Argument an der »Nebendiagonalen« (strichpunktiert in Abbildung 4), wodurch sich der Drehsinn des Quadrats ändert. Danach wird das gespiegelte Ergebnis um Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  in Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis -Richtung, also ins rechte untere Teilquadrat verschoben, so dass die Eintrittsecke rechts oben liegt – an der Stelle der Austrittsecke des vorangehenden Teilquadrats mit Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  – und die Austrittsecke mit der Austrittsecke des Ausgangsquadrates übereinstimmt (rechts unten).

Ersichtlich sind die Punkte Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  über die sie enthaltenden Quadrate in eine Reihenfolge gebracht, die der Reihenfolge der Intervalle des Parameters Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  entspricht – sowohl bezüglich der 4 Teilquadrate Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  als auch bei den Anschlüssen zwischen zwei Quadraten Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis .

Dabei findet der Übertritt von einem Quadrat zum nachfolgenden Nachbarquadrat immer nur über eine gemeinsame Quadratseite statt (s. kurze blaugrüne Pfeile in der Abbildung 7), sodass sich beim Polygonzug Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  von Quadratmittelpunkt zu Quadratmittelpunkt ausschließlich Teilstrecken gleicher Länge, der Seitenlänge, ergeben, die alle zu den Koordinatenachsen parallel und miteinander in einer linearen Kette verbunden sind – mit der offensichtlichen Konsequenz, dass die Hilbert-Kurve im Limes stetig ist. Die Teilstrecken des Polygons erfahren dabei nur Richtungswechsel Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis .

Die Abbildung 4 zeigt darüber hinaus, dass ausgehend von der Ausrichtung Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  zwei neue (absolute) Ausrichtungen Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  (:= „rechts—hoch—links“) und Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  (:= „links—runter—rechts“) hinzukommen, und die Abbildungen 7 und 5, dass nur noch eine weitere Ausrichtung (:= „runter—links—hoch“), genannt Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis , fehlt, so dass es bei insgesamt vier Ausrichtungen bleibt. Sie seien im Folgenden in der Menge Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  zusammengefasst. Die zugehörige Gruppe Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  der benötigten Isometrien ist eine Untergruppe der Diedergruppe Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  des Quadrats, wird erzeugt von der Drehung um 180° (Spiegelung am Quadratmittelpunkt) und einer Spiegelung an einer Diagonalen, hat also die Gruppenordnung vier, den Exponenten zwei und ist isomorph zur Kleinschen Vierergruppe.

Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis 
Abb. 5: Hilbert-Polygone der ersten bis dritten Iteration.
Die Quadratmittelpunkte sind in der Reihenfolge des Hilbert-Index (Schrift gedreht) miteinander verbunden.
Der Hilbert-Index eines Teilquadrates mit Mittelpunkt Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  findet sich am Schnittpunkt von Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis -Spalte mit Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis -Zeile.
(Alle Angaben im Binärsystem)
Blass in den Quadratmitten die „absolute Ausrichtung“.
Bei 8 Punkten der finalen Hilbert-Kurve sind zugehörige Werte des Parameters Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  angegeben (grün).
Der Mittelpunkt Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  des großen (und jedes) Quadrats ist ein Tripelpunkt. Er hat Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis .

In der Abbildung 5 ist das große Quadrat, das Quadrat der Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis -ten Iteration (= Quadrat des Rasters Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis ), gemäß Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  ausgerichtet – und dementsprechend in seiner Mitte gekennzeichnet. Die relativen Ausrichtungen der Quadrate höherer Iterationen sind rekursiv von Iteration zu Iteration den Regeln dieses Abschnitts entsprechend entwickelt und die Ergebnisse als absolute Ausrichtungen im Zentrum der Quadrate eingetragen. Als solche sind sie auf die initiale (absolute) Ausrichtung, hier Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis , des Ausgangsquadrates bezogen. Die absolute Ausrichtung eines Quadrats ist also die Akkumulation (Komposition, Verkettung) der relativen Ausrichtungen aller seiner rekursiven Vorgänger mit der initialen Ausrichtung am Rekursionsanfang.

Bemerkung 1

Weil im vorstehenden Abschnitt das Quadrat der Iteration Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  »zeitlich« vor dem großen Quadrat Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  als »vorhanden« angesehen wird, könnte man anzunehmen versucht sein, dass die (Ausrichtungen der) großen Quadrate (links) der höherwertigen Ziffern durch diejenigen späterer Iterationen (rechts) beeinflusst würden. Das Gegenteil ist jedoch der Fall:

  • Die absolute Ausrichtung des großen Quadrats beeinflusst (zusammen mit der Quaternärziffer Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis ) direkt die absolute Ausrichtung des Teilquadrats.

Das kann man übrigens schon beim Zeichnen von Hilbert-Polygonen zweier aufeinander folgender Iterationen feststellen, spielt für die Umkehrbarkeit der Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  (s. Abschnitt #Hilbert-Polygon) eine große Rolle und wirkt sich auf die (Art der) Stetigkeit von Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  (s. Abschnitt #Hilbert-Kurve) aus. Diese Abhängigkeit ist in der tabellarischen Abbildung 7 und im gleichwertigen Übergangsdiagramm der Abbildung 8 für alle vier vorkommenden Varianten (= Ausrichtungen) herausgearbeitet. Eine darauf basierende explizite Rekursionsformel für Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  wird im entsprechenden Abschnitt vorgestellt.

Diskrete Mathematik

In diesem Kapitel wird mit Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  die endliche Iterationsstufe bezeichnet, die Einheitsintervalle Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  und Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  sind oben halboffen, und für Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis , bspw. Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  oder Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis , ist

    Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis 

eine diskrete Menge von Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Elementen.

Hilbert-Polygon

Die Zuordnung der Hilbert-Kurve Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  der Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis -ten Iteration ist

    Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis 

Das Bild Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  ist eine diskrete Menge, und zwar ist

    Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis .

Die Koordinaten Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  stehen dabei für linke untere Ecken von Quadraten des Rasters Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis . In graphischen Darstellungen wird die Reihenfolge der Quadrate, deretwegen ja der ganze Aufwand getrieben wird, am einfachsten durch Verbindungsstrecken zwischen den Quadraten sichtbar gemacht. Am deutlichsten wird diese Reihenfolge, wenn man statt der Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Ecken die Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Quadratmittelpunkte

    Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis 

nimmt, weil die Verbindungsstrecken verschiedener Iterationsstufen dann getrennt bleiben und Symmetrien klarer herauskommen. Dieser Polygonzug in der Ebene von Quadratmittelpunkt zu Quadratmittelpunkt wird häufig als das Hilbert-Polygon Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  der Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis -ten Iteration bezeichnet.

Die diskrete Funktion Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis , d. i. die Einschränkung von Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  auf die diskrete Menge Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis , ist umkehrbar und hat die Umkehrfunktion Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis , die im Abschnitt Hilbert-Index behandelt wird. Nach Konstruktion ist ferner

    Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis 

woraus die Implikation

    Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis 

(und im Limes die gleichmäßige Stetigkeit) folgt.

Abb. 6: Hilbert-Polygon der 6. Iteration

Das Hilbert-Polygon Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  ist eine einfache Kurve mit Anfang, Ende und ohne Berührungen oder Überschneidungen. Wie in der Einleitung erwähnt, hat es die euklidische Länge Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis , die also mit Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  über alle Grenzen wächst. Alle Hilbert-Polygone derselben Iteration Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  sind einander ähnlich.

Die Animation der nebenstehenden Abb. 6 gibt einen Eindruck, wie lang die Wege in höheren Iterationen werden. Sie deutet auch an, wie das Hilbert-Polygon nach und nach den ganzen Ersten Quadranten der Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis -Ebene ausfüllen könnte: Wenn ein Quadrat fertig ist, dann ist der Polygonzug in der Richtung weg vom Ursprung fortzusetzen.

Die Bild- und die Definitionsmenge von Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  lassen sich aufgrund ihrer Diskretheit in einfacher Weise so skalieren, dass sie ganzzahlig werden.

Bei den beiden folgenden Algorithmen t2xyR und t2xyI und beim Algorithmus xy2tR erfolgt die Auswertung (Hintereinanderausführung) der verketteten Transformationen wie bei Operatoren üblich rechts-assoziativ, also von rechts nach links. Innerhalb des Programms findet die Auswertung im rekursiven Aufstieg – also »auf dem Rückweg« (im hinteren Abschnitt) – statt, weshalb die Auswertungsrichtung als »fein zu grob« zu charakterisieren ist. Damit sich bei dieser Auswertungsrichtung überhaupt etwas ergibt, muss der »Hinweg« abgebrochen werden. Beim wie immer gearteten Abbruchkriterium (im Pseudocode t2xyR formuliert mit der Genauigkeitsvariablen eps) wird der Punkt Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis , wie in der Abb. 4 dargestellt, in dasjenige Rasterquadrat gebracht, das dem eingegebenen Teilintervall von Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  entspricht, und dieses Vorgehen wird wiederholt bei jedem iterativen Schritt zurück.

Bemerkung 2

Wie weiter oben schon bemerkt, suggeriert die Abb. 4 eine solche Auswertungsrichtung. Gleichwohl existiert eine Abhängigkeit des Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis -ten Quadrats von Teilen der Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis -sten oder höherer Iterationsstufe überhaupt nicht, weder hinsichtlich der Ziffern Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  (mit Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis ) des Parameters Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  noch hinsichtlich der Ziffern Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  der Koordinaten Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  noch hinsichtlich der Ausrichtung der Quadrate. Wenn es eine Rekursion gibt, dann kann sie in der Richtung von »grob zu fein« aufgesetzt werden, bei der die Auswertung im rekursiven Abstieg erfolgt. Die hieraus hervorgehende Rekursionsformel hat den Vorteil, dass ein »Abbruchkriterium« nicht gebraucht wird. (Ein Ergebnis liegt bei einem Abbruch unmittelbar vor – einschließlich einer Angabe über die möglicherweise eingegangene Ungenauigkeit.) Sie zählt damit zu den potentiell unendlichen Verfahren und wird im Abschnitt #Explizite Rekursionsformel beispielhaft vorgestellt. Der einzige erkennbare Nachteil ist, dass die Eigenschaft der Ausrichtung eines Quadrats explizit gemacht werden muss und nicht in den Formeln für die Transformationen versteckt werden kann.

Rekursiver Algorithmus

Der nachfolgende Pseudocode t2xyR implementiert rekursiv die Abb. 4 mit Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  als Ausrichtung für Zwischen- wie Endergebnis. Er nimmt als Argument einen Parameter Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  und eine Begrenzung epsHilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  der Iterationstiefe. Zurückgegeben werden die Koordinaten der linken unteren Ecke eines Quadrates der Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis -ten Iteration.

Eingabe: Parameter Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis 
Ausgabe: Koordinaten Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis 
Auswertungsrichtung:   fein zu grob
 function t2xyR(t, eps) begin    if eps > 1 then      return (0, 0); // im Ergebnisquadrat die linke untere Ecke    else      q = floor(4*t);      // Die Quaternärstelle q ∈ {0, 1, 2, 3} bestimmt,      //   in welches Teilquadrat der Punkt gehört      //   und wie er zu transformieren ist.      r = 4*t  q;      (x,y) = t2xyR(r, eps*2); // r ∈ I ↦ (x,y) ∈ Q      switch q do        case 0: return (y/2,         x/2);        case 1: return (x/2,         y/2 + 1/2);        case 2: return (x/2 + 1/2,   y/2 + 1/2);        case 3: return (1eps  y/2, 1/2eps  x/2);      end switch    end if  end function 
Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis 
Abb. 7: Die 4 Übersetzungs-
tabellen vom 4-adischen Parameter Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  zu den zwei 2-adischen Koordinaten Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis 
– und zurück.
Pro „Ausrichtung“ eine Tabelle.

Iterativer Algorithmus mit ganzzahligen Ein-/Ausgabewerten

Bei der folgenden iterativen Lösung ist Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  die Nummer der Iteration und Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  die Anzahl der 1D-Teilintervalle. Zurückgegeben wird die linke untere Ecke eines Quadrats. Der folgende Pseudocode t2xyI hat ganzzahlige Ein-/Ausgabe (d. h. es wird nicht auf Einheitsintervall oder -quadrat skaliert).

Eingabe: Parameter Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis 
Ausgabe: Koordinaten Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis 
Auswertungsrichtung:   fein zu grob
 function t2xyI(t, p) begin    (x, y) = (0, 0); // im Ergebnisquadrat die linke untere Ecke    for (m = 1; m < p; m *= 2) do // m wächst exponentiell      rx = 1 & t/2;      // Binärziffer[1]: 0=links/1=rechts      ry = 1 & (t ^ rx); // Binärziffer[0]      (x, y) = rot(x, y, rx, ry, m);      x += m * rx;      y += m * ry;      t /= 4; // zur nächsten Quaternärziffer    end for  return (x, y);  end function  // Drehspiegelung eines Quadrates  function rot(x, y, rx, ry, p) begin    if (ry == 0) then      if (rx == 1) then        x = p1  x;        y = p1  y;      end if      // vertausche x und y      z = x;      x = y;      y = z;    end if  return (x, y);  end function 

Hierbei kommen die C-Operatoren ^ für bitweises XOR, & für bitweises UND, += für Inkrementieren, *=2 für Verdoppeln und /=2 für Halbieren zum Einsatz.

In der Funktion t2xyI bedeutet die Variable rx das Übereinstimmen des vorletzten Bits bei x und t; analog für ry und y mit dem letzten Bit.

Die Funktion (und ihre Umkehrung s. u.) benutzen die Funktion rot, um die Koordinaten x und y in einem Teilquadrat so zu spiegeln und zu drehen, dass die Teilstücke konsekutiv (stetig) zusammengefügt werden.

Explizite Rekursionsformel

Eingabe: Parameter Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis 
Ausgabe: Koordinaten Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis 
Auswertungsrichtung:   grob zu fein

Ist Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  eine 4-adische Darstellung des Parameters, dann lässt sich die (unendliche) Folge Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  auch als Rekursion über die Quadratmittelpunkte

    Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis 

und die „absolute“ Ausrichtung Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  mit dem Rekursionsanfang

    Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  und
    Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  und
    Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Ausrichtung am Rekursionsanfang (= initiale Ausrichtung)

und dem Rekursionsschritt

    Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  (RFh_ξ),
    Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  (RFh_η) und
    Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  (RFh_a)

für Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  schreiben. Die drei (4×4)-Matrizen

    Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis 

sind äquivalent zu den vier Übersetzungstabellen der Abbildung 7. Sie werden an ihrem ersten Index, dem Zeilenindex, durch die absolute Ausrichtung Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  indiziert. Das Ergebnis ist bei Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis , Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  und Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  jeweils eine vierstellige Zeile, die zusammen genommen eine der Übersetzungstabellen darstellen. Jede Stelle (Spalte) einer solchen Zeile wird durch die Quaternärziffer Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  indiziert. Daraus resultiert (Gl.n RFh_ξ und RFh_η) das neue Ziffernpaar Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  für den Punkt Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  und (Gl. RFh_a) die neue absolute Ausrichtung.

Die Folge Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  der Quadratmittelpunkte mit Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  und Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis , steht für die 2D-Intervallschachtelung

    Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis 

die Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  zum Limes hat.

Beweis der Rekursionsformel  

Die Gleichung RFh_a akkumuliert – wie in der Erläuterung zur Abb. 7 ausgeführt – die relativen Ausrichtungen (Teil Ausr) zwischen Viertelquadrat und großem Quadrat und implementiert damit (zusammen mit der 2D-Intervallschachtelung (Teil Skal) der Gl.n RFh_ξ und RFh_η) die Transformationen Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  und Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  (Teil Parv) des Abschnitts #Transformation der rekursiven Teilquadrate auf das Einheitsquadrat.

Erläuterungen zu den Abbildungen 7 und 8  

Die oberste der vier Graphiken der Abb. 7, die für die Ausrichtung Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis , ist ein Auszug aus der Abb. 4.

Aus der Abb. 5 kann man die Daten zur zweiten und vierten Ausrichtung Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  und Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  direkt ablesen; für die dritte Ausrichtung Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  ergeben sie sich durch Übergang zum 4. Iterationsschritt in der Abb. 5.

Da die Abb. 5 anhand der Regeln des Abschnitts #Transformation der rekursiven Teilquadrate auf das Einheitsquadrat erstellt ist, werden diese Regeln auch von der Abb. 7 (und von den Matrizen Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  (s. o.) und den Hypermatrizen Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  (s. u.)) eingehalten.

Die vier Graphiken unterscheiden sich hinsichtlich des Charakteristikums Ausrichtung durch eine der Isometrien aus der Gruppe Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis .

Anmerkungen

  • Die Abbildung zeigt bei jeder der vier Ausrichtungen nur einen einzigen Rekursionsschritt. Das Zusammenfassen mehrerer Rekursionsschritte zu einem Schritt, also das Verbreitern der Ein- und Ausgabe auf mehr als eine Ziffer (bei beiden, 4-adischem Parameter und 2-adischen Koordinaten), ist eine reine Fleißaufgabe, durch die die Matrizen entsprechend vergrößert werden. Es bleibt aber bei der Anzahl vier hinsichtlich der Übersetzungstabellen, die der Anzahl Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  der Ausrichtungen entspricht. Das Verfahren bezeichnet M. Bader als recursion unrolling (dt. etwa Ab/Entrollen der Schleife). Es kann die Algorithmen wesentlich beschleunigen, weil weniger Schleifenkontrollanweisungen, Speicherzugriffe und/oder Programmaufrufe zu absolvieren sind. (Abgesehen davon können Bit-Shift-Operationen, die auf vielen Maschinen erforderlich wären, durch geschickte Wahl der Ziffernzahl eingespart werden.)
    Exemplarisch für 2 Iterationen:
    Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  00 01 01 00 00 00 01 01 10 10 11 11 11 10 10 11 Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  ←   Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis 
    11 11 10 10 01 00 00 01 01 00 00 01 10 10 11 11 ←   Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis 
    11 10 10 11 11 11 10 10 01 01 00 00 00 01 01 00 ←   Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis 
    00 00 01 01 10 11 11 10 10 11 11 10 01 01 00 002 ←   Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis 
    Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  00 00 01 01 10 11 11 10 10 11 11 10 01 01 00 00 Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  ←   Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis 
    11 10 10 11 11 11 10 10 01 01 00 00 00 01 01 00 ←   Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis 
    11 11 10 10 01 00 00 01 01 00 00 01 10 10 11 11 ←   Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis 
    00 01 01 00 00 00 01 01 10 10 11 11 11 10 10 112 ←   Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis 
    Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  ←   Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis 
    Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  ←   Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis 
    Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  ←   Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis 
    Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  ←   Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis 
    00 01 02 03 10 11 12 13 20 21 22 23 30 31 32 334       Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis 
  • Die Abbildung 8 ist eine leichte Abwandlung der Fig. 4.1 aus J. Lawder. Sie zeigt im Wesentlichen dieselbe Information wie die Abbildung 7 – in der Art eines Zustandsübergangsdiagramms, bei dem der Übergang in die nächste Iterationsstufe (zum nächsten Viertelquadrat) als »Zustandsänderung« aufgefasst wird.
  • Zum besseren Rechnen werden die Ausrichtungen als Restklassen Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  modulo 8 geschrieben, und zwar
      Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis 
    Nur die primen Restklassen Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  kommen als Ausrichtung vor. Zum Rechnen werden auch hier beide Verknüpfungen Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  sowie Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  des Rings Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  gebraucht.
  • Die Gruppe Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  lässt sich als Matrizengruppe mit
      Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  als Identität Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  (Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis ),
      Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  als Punktspiegelung Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  (Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis ),
      Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  als Spiegelung an der Hauptdiagonalen Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  (Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis ) und
      Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  als Spiegelung an der Nebendiagonalen Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  (Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis )

    schreiben. Rechts vom Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis -Zeichen ist die Multiplikation mit einer primen Restklasse aufgeführt, die offensichtlich ein Ergebnis liefert, das der Anwendung der Matrix gemäß (Ausr) auf die Ausrichtung entspricht.

  • Ferner ergibt sich
      Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis 
      Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis 
      Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis 
      Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis 
      Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis 
      Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis 

    als neues Erscheinungsbild der Matrix Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis . Die (Gl. RFh_a) ist dann gleichbedeutend mit der Formel

      Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis    für   Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis 
      Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis    für   Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis 
      Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis    für   Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis 
      Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis    für   Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis 

    was bedeutet, dass die Ausrichtung Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  des dem Parameter Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  in der Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis -ten Iteration zugeordneten Quadrates nur

    1. von der Ausrichtung Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  und
    2. von der Quaternärziffer Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis 

    abhängt, und dass es keine weitere, insbesondere keine umgekehrte Abhängigkeit gibt, also dass Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  von Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  abhinge, wie man aus der Herleitung in Abschnitt #Transformation der rekursiven Teilquadrate auf das Einheitsquadrat schließen könnte.

  • Anhand der neuen Darstellung der Matrix Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  verifiziert man leicht, dass
      Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  (Sym1)

    für Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  und Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  gilt. Daraus folgt für Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  und Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  mit Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis :

      Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  (Sym2).

    Denn der Induktionsanfang ist Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  und Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis . Ferner ist nach der Induktionsannahme Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  und nach (Sym1)

      Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  .

    Aus (Sym2) und durch Inspektion der Matrix Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  ergibt sich

      Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis 

    und genauso bei Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis 

      Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis .
  • Symmetrieeigenschaft: Für jedes Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  ist Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis    und   Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis .
    Induktionsanfang: Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis    und   Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis .
    Induktionsschritt:
      Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis 
      Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis 

Hilbert-Index

Die Funktion Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  hat die Definitionsmenge Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis , die Einschränkung Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  die Definitionsmenge Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis , beide haben die Bildmenge Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis , die eine diskrete Menge ist. Die Funktion Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  ist umkehrbar mit der Umkehrfunktion

    Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis 

welche Hilbert-Index genannt wird. Sie hat ihrerseits die Bildmenge Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis . Unter den Einschränkungen auf die diskreten Mengen Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  resp. Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  sind die Funktionen Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  wie Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  umkehrbar eindeutig und es gilt Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  und Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis .

Werden ihre Argumente Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  und Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  gleichermaßen als Binärbrüche entwickelt, dann kann man auch beliebige (Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis -stellige) Koordinaten Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  und Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  zulassen, in der zu definierenden Funktion Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  als erstes die Stellen rechts ab der Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis -ten Stelle abschneiden, sodann Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  ausführen, die Einschränkung auf die diskrete Menge Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  wieder aufheben und somit das ganze Einheitsquadrat Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  zur Definitionsmenge der Funktion

    Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis 

erklären, so dass deren Einschränkung Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  der Funktion Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  vom Eingang des Abschnitts entspricht. Somit ergibt sich für alle Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  sowohl

    Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis 

wie

    Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis 

Die Rückabwicklung der Transformationen Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  und Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  ist in den nachfolgenden Algorithmen im Einzelnen ausgeführt.

Rekursiver Algorithmus

Die Auswertungsrichtung des Algorithmus xy2tR ist entgegen der Intervallschachtelung.

Eingabe: Koordinaten Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis 
Ausgabe: Parameter Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis 
Auswertungsrichtung:   fein zu grob
 function xy2tR(x, y, eps) begin    if eps > 1 then      return 0; // im Ergebnisintervall der linke Rand    end if    eps *= 2;    if x < 1/2 then      if y < 1/2 then        return ( 0 + xy2tR(2*y, 2*x, eps) )/4;      else        return ( 1 + xy2tR(2*x, 2*y  1, eps) )/4;      end if    else      if y >= 1/2 then        return ( 2 + xy2tR(2*x  1, 2*y  1, eps) )/4;      else        return ( 3 + xy2tR(1eps  2*y, 2eps  2*x, eps) )/4;      end if    end if  end function 

Iterativer Algorithmus mit ganzzahligen Ein-/Ausgabewerten

Auch diese Aufgabe lässt sich iterativ programmieren. Die iterative Funktion xy2tI arbeitet in Richtung Schachtelung, in der Binär- oder Quaternärdarstellung also von hochrangigen Ziffern zu niedrigrangigen, geometrisch von einem großen Quadrat zu einem der 4 Teilquadrate. Sie benutzt die bei t2xyI eingeführte Unterfunktion rot.

Ist Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  die Nummer der Iteration, dann ist Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  die Anzahl der 1D-Teilintervalle.

Eingabe: Koordinaten Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis 
Ausgabe: Parameter Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis 
Auswertungsrichtung:   grob zu fein
 function xy2tI(x, y, p) begin    t = 0; // Summationsanfang    for (p /= 2; p >= 1; p /= 2) do      rx = (x & p) > 0;      ry = (y & p) > 0;      t += p * p * ((3 * rx) ^ ry);      (x, y) = rot(x, y, rx, ry, p);    end for    return t;  end function 
Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis 
Abb. 8: Die Ausrichtung Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  bestimmt den großen Kasten. In jedem 4 kleine Kästen, wo sich Quaternärziffer Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  des Parameters und Binärziffern Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  der 2 Koordinaten gegen­über­stehen; eines ist Schlüssel, das andere Wert. Der Schlüssel bestimmt den kleinen Kasten und damit den Wert und die nächste Ausrichtung.
Die runden Pfeile verweisen auf den großen Kasten mit dieser Ausrichtung.

Rekursionsformel für den Hilbert-Index

Eingabe: Koordinaten Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis 
Ausgabe: Parameter Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis 
Auswertungsrichtung:   grob zu fein

Sind Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  und Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Darstellungen der Koordinaten Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  im Binärsystem, dann lässt sich die (unendliche) Folge Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  auch als Rekursion mit dem Rekursionsanfang

    Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  und
    Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  (Start mit der initialen Ausrichtung Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis )

und dem Rekursionsschritt

    Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  (RFk_τ)
    Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  (RFk_a)

für Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  schreiben. Die zwei (4×2×2)-Hypermatrizen

    Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis 

sind zusammen genommen äquivalent zu den vier Übersetzungstabellen der Abbildung 7. Sie werden an ihrem ersten Index durch die absolute Ausrichtung Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  indiziert. Das Ergebnis ist bei Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  wie bei Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  eine (2×2)-Untermatrix. Jedes solche Paar von Untermatrizen stellt eine Übersetzungstabelle dar. Eine Untermatrix wird durch das Binärziffernpaar Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  indiziert. Daraus resultiert (Gl. RFk_τ) die neue Quaternärziffer Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  für den Parameter Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  und (Gl. RFk_a) die neue absolute Ausrichtung Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis .

Beweis der Rekursionsformel für die Umkehrfunktion Hilbert-Index  

Das kleine Quadrat (rechts in der Abb. 4) bekommt gemäß (Gl. RFk_τ) im großen Quadrat eine Nummer Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis , die der (absoluten) Ausrichtung Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  des großen Quadrats sowie der Lage des kleinen Quadrats im großen Quadrat, nämlich den Ziffern Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis , entspricht. Erstere legt fest, welche der 4 Übersetzungstabellen in Abb. 7 anzuwenden ist, und letztere legen fest, ob das kleine Quadrat ins linke untere (bei Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis ), ins linke obere (bei Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis ) etc. Teilquadrat gehört, woraus die Ziffer Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  resultiert.
Dies geschieht in Einklang mit den Transformationen Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  bis Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  aus dem Abschnitt #Transformation der rekursiven Teilquadrate auf das Einheitsquadrat, denn die Gleichung (RFk_a), die die absolute Ausrichtung rekursiv festlegt, ist eine Akkumulation der relativen Ausrichtungen, die durch jene Transformationen bewirkt werden.

Analysis

Im Limes, also bei exakt Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis , kommt – wie ein Blitz aus heiterem Himmel – ein neues Problem auf, nämlich der plötzliche Verlust der umkehrbaren Eindeutigkeit sowohl bei der 4- wie bei der 2-adischen Darstellung.

Darüber hinaus müssen wegen der Limites   Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis    anstelle der halboffenen Intervalle Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  und Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  ihre abgeschlossenen Hüllen Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  und Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  betrachtet werden.

Hilbert-Kurve

Mit den Hilbert-Kurven Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  (und den Hilbert-Polygonen Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis ) lässt sich zu jedem positiven Abstand Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  eine Iterationsstufe Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  angeben, so dass es zu jedem Punkt Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  des Einheitsquadrats einen Punkt Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  des Rasters Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  gibt, der einen kleineren Abstand Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  hat. Das bedeutet aber nicht die vollständige Füllung des Quadrats. Diese kann nur durch den Übergang zum Limes erreicht werden. Der Limes

    Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis 

existiert immerhin, da er aus der 2D-Intervallschachtelung

    Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis 

hervorgeht. Die Konvergenz ist eine gleichmäßige im folgenden Sinn: Für jedes Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  ist Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  so, dass für alle Parameter Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  und alle Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  mit Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis 

    Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis 

gilt.

Eigenschaften

  1. Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  ist rechtseindeutig, somit wohldefiniert und eine Funktion.
  2. Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  ist surjektiv.
  3. Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  ist nicht injektiv.
  4. Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  ist stetig, definiert also eine Kurve. Die Stetigkeit ist eine gleichmäßige.
  5. Die Bilder des durch 3 geteilten Rasters Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  sind genau die Eckpunkte Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  der entsprechenden Rasterquadrate.
  6. Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  .
  7. Ist Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  die initiale Ausrichtung, dann ist Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  symmetrisch zur Geraden Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis :
          Für jedes Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  ist Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis    und   Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis .
    Bei Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  als initialer Ausrichtung wäre es die Gerade Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis 
          und Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis    und   Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis .
  8. Ist Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis , dann ist
          Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis .
  9. Ist Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  rational, dann ist seine 4-adische Darstellung periodisch, bspw. Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  mit der Periodenlänge Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis . Die Koordinaten Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  von Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  sind dann beide ebenfalls rational mit einer 2-adischen Periodenlänge Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis , wobei Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  die Mächtigkeit der Menge Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  der Ausrichtungen ist.
  10. Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  ist nirgends differenzierbar.
  11. Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  ist Maß-erhaltend: Für jede Punktmenge Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  mit ein-dimensionalem Lebesgue-Maß Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  hat das Bild Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  das Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis -dimensionale Lebesgue-Maß Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis . Das bedeutet auch, dass jedes Intervall Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  in eine zusammenhängende (möglicherweise unendliche) Folge Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  von Quadraten der Rasterschachtelung abgebildet wird.
Beweise der Eigenschaften  
Zu Eigsch. 1:   Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  ist Funktion.

In der Tat ist Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  nicht von vorne herein wohldefiniert, weil beim Übergang von einer reellen Zahl zu ihrer Quaternärentwicklung eine Weggabelung existiert: Zu einem gekürzten Bruch mit Zweierpotenz im Nenner, also zu einem Element Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis , gibt es zwei Möglichkeiten der Darstellung. Beispielsweise hat der Bruch Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  die Darstellung mit einem periodischen 04. …0-Ende

    Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis 

(die als die »abbrechende Darstellung« bezeichnet wird, weil sie auch als endliche 4-adische Summe geschrieben werden kann) und die mit einem 04. …3-Ende

    Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  .

Diese Wahlmöglichkeit (Gleichheit) ist bei endlicher Stellenzahl (entspricht hier der Iterationsstufe) nicht gegeben, wo zwei verschiedene Ziffernfolgen immer verschiedene Werte haben; sie stellt aber im Fall Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  die Forderung der Rechtseindeutigkeit an die Relation Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  in Frage. Im Folgenden wird aber gezeigt, dass sie sich nicht auf das Ergebnis von Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  auswirkt.

  1. Wegen Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  muss gelten:
          Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis .
    In der Tat ist Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  wegen Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  eine 2D-Intervallschachtelung mit dem für alle Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  existierenden Limes Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis .
  2. Für Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  muss wegen Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  (mit Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  als der Ziffer mit dem Wert Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis ) gelten:
          Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis ,
    damit Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  sein kann.
    Zunächst ist Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  wegen Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  eine 2D-Intervallschachtelung mit dem für alle Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  existierenden Limes Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis .
    Schließlich ist
        Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  ,
        Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  und
        Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis .
Zu Eigsch. 2:   Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  ist surjektiv.

Da bei jeder Iterationsstufe aus jedem Teilquadrat genau vier kleinere Teilquadrate gemacht werden, überdecken die Teilquadrate einer Iterationsstufe immer das ganze Ausgangsquadrat. Das Teilquadrat wird im Limes zum Kurvenpunkt. Somit füllt die Menge der Kurvenpunkte das ganze Ausgangsquadrat aus.
Etwas ausführlicher:
Zu einem Punkt Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  gibt es zwei 1D-Intervallschachtelungen Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  und Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis . Für die Hilbert-Indizes Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis    gilt   Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis , so dass Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  eine 1D-Intervallschachtelung für einen Parameter Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  ist. Für diesen gilt

    Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis 
Zu Eigsch. 3:   Dennoch ist Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  nicht injektiv.

(Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  kann als surjektive und stetige (s. u.) Funktion von 1D nach 2D nach dem Satz von der Invarianz der Dimension nicht injektiv sein.) Die oben gebildeten zwei 1D-Intervallschachtelungen sind genau dann mehrdeutig, wenn eine der beiden Koordinaten in Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  liegt. Beispielsweise ist

    Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  (Doppelpunkt),
    Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  (Tripelpunkt),
    Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  (Tripelpunkt), und
    Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  (Quadrupelpunkt)

Jedes Teilquadrat enthält einen Tripel- und einen Quadrupelpunkt und damit abzählbar unendlich viele. Die Menge der Doppelpunkte ist überabzählbar.

Zu einem Punkt Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  gibt es maximal vier verschiedene Parameterwerte Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  mit Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis .

Zu Bildpunkten Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  gibt es nur ein Urbild.

Zu Eigsch. 4:   Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  ist stetig.

Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  ist sogar Hölder-stetig (was die gleichmäßige Stetigkeit einschließt), und zwar zum Exponenten Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  mit Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  als der Dimension des Zielraums Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis . Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  bildet zwei benachbarte Intervalle stets auf zwei benachbarte Quadrate (mit gemeinsamer Seite) ab. Und da alle Quadrate späterer Iterationen den früheren treu bleiben (s. Abb. 4), folgt die gleichmäßige Stetigkeit.

Zu Eigsch. 5:   Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis .

Die Drittelwerte von Ganzzahlen haben in ihrer 4-adischen Darstellung 04.0-, 04.1- oder 04.2-Enden. Durch den Algorithmus Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  werden daraus 02.0- oder 02.1-Enden, also ganze Zahlen. Die Division durch exakte Zweierpotenzen ändert an den periodischen Enden der Darstellungen nichts.

Zu Eigsch. 6:   Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis .

Ist Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis , dann ist Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  ein abbrechender 4-adischer Bruch. Folglich sind auch die Koordinaten Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  zwei abbrechende 2-adische Brüche. Nimmt man für Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  die nicht-abbrechende 4-adische Darstellung mit 0-Ende, dann werden gemäß Abb. 7 bei den Koordinaten auch nur Nullen angehängt, da die Ausrichtungen zwischen Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  und Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  alternieren und bei beiden Ausrichtungen aus der Ziffer Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  die Koordinatenziffern Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  resultieren. Damit ist Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis 

Zu Eigsch. 7:   Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis    und   Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis .

Schon für alle Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  gilt aus Symmetriegründen Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis ; genauso Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis . (S. a. den Beweis für denselben Sachverhalt im Abschnitt #Explizite Rekursionsformel.)

Die Eigsch. 8:   Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis 

ist eine direkte Folge der Transformation Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis . Iteriert ergibt sich Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis .

Zu Eigsch. 9:   Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis .

Der Pseudocode t2xyQ nimmt den ganzzahligen Zähler und Nenner tn,td eines rationalen Parameters Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis tn/td mit 0 ≤ tn ≤ td und produziert die ganzzahligen Zähler und Nenner xn,xd, yn,yd der 2 Koordinaten Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis (xn/xd,yn/yd)Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis tn/tdHilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis . Er ist eine Erweiterung des Pseudocodes b_adic im Artikel Stellenwertsystem – in der folgenden Hinsicht, dass abhängig vom Rest tn nicht nur die Ziffern des Parameters Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis , sondern aus diesen und der Ausrichtung a sofort die 2-adischen Ziffern der Koordinaten Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  und Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  gebildet werden. (Die letzteren beiden Darstellungen werden am Ende wieder in Brüche umgeformt.)

Die Wiederkehr einer Konstellation (a,tn) wird mittels des assoziativen Datenfeldes occurs festgestellt.

Die Datenfelder X, Y und A stehen für die obigen Matrizen Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  und Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis . Der Doppelstern ** ist das Zeichen für Potenzierung.

function t2xyQ(tn,td) begin // 0 ≤ tn ≤ td (> 0)   if tn = td then return (1,1, 0,1); end if   // Ab hier ist stets 0 ≤ tn < td.   pos = 0;   xp = 0; yp = 0;   a = 0; // initiale Ausrichtung   key = a+tn*4; // die Konstellation (a,tn) als Schlüssel   while not defined(occurs[key]) do     occurs[key] = pos; // die Nummer der Stelle mit (a,tn)     ti = floor(tn*4/td); // Quaternärziffer ti: 0 ≤ ti ≤ 3     tn = tn*4 − ti*td;   // 0 ≤ tn < td     xp = xp*2 + X[a,ti]; // obige Matrix X     yp = yp*2 + Y[a,ti]; // obige Matrix Y     a = A[a,ti];         // obige Matrix A     key = a+tn*4;     pos += 1;   end while   pl = pos−occurs[key]; // Vielfaches der beiden 2-adischen                         // Periodenlängen von x und y   pot = 2**pl;   per = pot−1;   xd = per * 2**(pos−pl); // Nenner von x und y   xn = xp div pot; // Vorperiode von x   xp = xp−xn*pot;  // Periode von x   xn = xn*per+xp;  // Zähler von x   yn = yp div pot; // Vorperiode von y   yp = yp−yn*pot;  // Periode von y   yn = yn*per+yp;  // Zähler von y   return (xn,xd, yn,xd); end function 

Einige Zahlenbeispiele

Parameter Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis 
Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis 
Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis 

Mehrfachpunkte

Parameter Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis 
Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis 
Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis 

Umkehrfunktion

Da Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  im Limes nicht injektiv ist, ist es auch nicht umkehrbar. Dies ist so, obwohl die diskreten Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  für alle endlichen Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  umkehrbar sind und sowohl Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  wie Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  gilt. Die Nicht-Umkehrbarkeit drückt sich auch darin aus, dass der Limes

    Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis 

nicht existiert an den Punkten, wo eine der beiden Koordinaten Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  oder Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  eine abbrechende Binärdarstellung hat, also in

    Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis 

liegt. Nach der im Beweis der Nicht-Injektivität von Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  gemachten Bemerkung hat Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  genau an diesen Stellen mehr als ein Urbild.

Eine Art Umkehrung Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  kann jedoch auch an diesen Stellen definiert werden durch die Vorschrift, dass die betreffende(n) Koordinate(n) Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  oder/und Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis , wenn sie bei einem Rekursionsschritt genau auf die Mitte eines Intervalls der Schachtelung fallen,

    der rechten (der oberen) Intervallhälfte zuzuschlagen und damit als 02. …0-Ende (Vorschrift „+“ oder Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis )

oder

    der linken (der unteren) Intervallhälfte und somit als 02. …1-Ende (Vorschrift „−“ oder Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis )

zu behandeln sind. Da Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  stetig ist, erfüllen die so konstruierten Urbilder Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  die Beziehung Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis . Es gibt somit (mindestens) vier verschiedene Funktionen

  1. Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  ,
  2. Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  ,
  3. Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  und
  4. Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  ,

die sich an den Stellen unterscheiden, an denen eine der beiden Koordinaten in Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  liegt. An diesen Stellen sind die Funktionen Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  auch nicht stetig.

Eine solche Funktion Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  wird als Rechtsinverse (auch „Koretraktion“) von Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  bezeichnet. Sie erfüllt die Beziehung

    Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  ,

die gleichbedeutend ist mit der Implikation

    Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  .

Eigenschaften

  1. Alle Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  sind Funktionen.
  2. Die Lösungsmenge Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  zu einem Punkt Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  ist
          Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis .
    Alle Elementeanzahlen, 1, 2, 3 und 4, kommen vor.
  3. Alle Funktionen Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  sind injektiv.
  4. Eingeschränkt auf Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  ist Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  eindeutig, also
          Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  für Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis 
  5. Die Urbilder der Eckpunkte
          Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis 
    der Rasterquadrate liegen im entsprechenden linearen Raster geteilt durch 3.
  6. Keine der Funktionen Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  ist stetig. Die Unstetigkeitsstellen sind Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis 
  7. Keine der Funktionen Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  ist surjektiv.
  8. Sind die Koordinaten Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  beide rational mit den beziehentlichen 2-adischen Periodenlängen Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis , dann ist
          Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis 
    ebenfalls rational mit einer 4-adischen Periodenlänge Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  wo Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  die Mächtigkeit der Menge Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  der Ausrichtungen ist.
Beweise der Eigenschaften  
Zu Eigsch. 1:   Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  ist eine Funktion.

Der Limes der #Rekursionsformel für den Hilbert-Index definiert die Funktion Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis .

Zu Eigsch. 2:   Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  hat maximal 4 Urbilder.

S. Beweis von: Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  ist nicht injektiv.

Zu Eigsch. 3:   Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  ist injektiv.

Eine Rechtsinverse ist injektiv.

Zu Eigsch. 4:   Die Punkte Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis 

haben nur ein Urbild Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis .

Zu Eigsch. 5:   Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis .

(Die Argumentation ist analog zur Eigsch. 5 der Hilbert-Kurve.)

Zu Eigsch. 6:   Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  ist nicht stetig.

An den Mehrfachpunkten unterscheiden sich mindestens 2 der Funktionen Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis , d. h. linksseitiger oder/und rechtsseitiger Grenzwert. Also ist keine der Funktionen dort stetig.

Zu Eigsch. 7:   Kein Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  ist surjektiv.

Wie gezeigt, gibt es mehrere Rechtsinversen Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis . Gemäß Abschnitt Rechtsinverse ist davon keine surjektiv.

Zu Eigsch. 8:   Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  .

(Die Argumentation ist analog zur Eigsch. 9 der Hilbert-Kurve.)

Der folgende Pseudocode xy2tQpp nimmt die ganzzahligen Zähler und Nenner xn,xd, yn,yd eines rationalen Punktes Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  (xn/xd, yn/yd) und produziert Zähler und Nenner tn,td des Parameters Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis tn/tdHilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis xn/xd, yn/ydHilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis . Die Wiederkehr einer Konstellation (a,xn,yn) und damit die 4-adische Periodenlänge von Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  wird mittels des assoziativen Datenfeldes occurs festgestellt. Auf diese Weise kommt der Pseudocode auch mit einem möglichen 04. …3-Ende des Ergebnisses zurecht.

Die Datenfelder T und A beziehen sich auf die obigen Hypermatrizen Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  und Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis . Der Doppelstern ** ist das Zeichen für Potenzierung.

function xy2tQpp(xn,xd, // 0 ≤ xn ≤ xd (> 0)                  yn,yd) // 0 ≤ yn ≤ yd (> 0) begin   pos = 0;   tp = 0;   a = 0; // initiale Ausrichtung   key = a+4*(xn+xd*yn);  // die Konstellation (a,xn,yn) als Schlüssel   while not defined(occurs[key]) do     occurs[key] = pos;   // die Nummer der Stelle mit (a,xn,yn)     xi = floor(xn*2/xd); // Binärziffer xi: 0 ≤ xi ≤ 2     if xi > 1 then xi = 1; end if     xn = xn*2 − xi*xd;   // 0 ≤ xn ≤ xd     yi = floor(yn*2/yd); // Binärziffer yi: 0 ≤ yi ≤ 2     if yi > 1 then yi = 1; end if     yn = yn*2 − yi*yd;   // 0 ≤ yn ≤ yd     tp = tp*4 + T[a,xi,yi]; // obige Hypermatrix T     a = A[a,xi,yi];         // obige Hypermatrix A'     key = a+4*(xn+xd*yn);     pos += 1;   end while   pl = pos−occurs[key]; // die 4-adische Periodenlänge von t   pot = 4**pl;   per = pot−1;   td = per * 4**(pos−pl); // Nenner von t   tn = tp div pot; // Vorperiode von t   tp = tp−tn*pot;  // Periode von t   tn = tn*per+tp;  // Zähler von t   return (tn,td); end function 

Ersetzt man in diesem Pseudocode die 2 Zeilen

    xi = floor(xn*2/xd); // Binärziffer xi: 0 ≤ xi ≤ 2     if xi > 1 then xi = 1; end if 

(die bei xn == xd/2 zu xi = 1 führen) durch

    xi = ceil(xn*2/xd−1); // Binärziffer xi: −1 ≤ xi ≤ 1     if xi < 0 then xi = 0; end if 

(die bei xn == xd/2 zu xi = 0 führen – bei sonst gleichem Ergebnis), dann erhält man die Funktion Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  bspw. als xy2tQmp(xn,xd, yn,yd). Auf ähnliche Weise kommt man zu den Funktionen Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  und Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis .

Einige Zahlenwerte

Punkt Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis 
Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis 
Parameter Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis 

Mehrfachpunkte

Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis 
Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis 
Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis 
Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis 
Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis 
Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis 
Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis 
Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis 
Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis 
Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis 
Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis 
Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis 
Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis 
Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis 
Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis 
Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis 
Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis 
Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis 
Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis 
Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis 
Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis 
Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis 

Darstellung als Lindenmayer-System

Die Hilbert-Kurve kann als Termersetzungssystem (Lindenmayer-System) formuliert werden.

    Variablen: A, B, C, D
    Terminale: ↑, →, ↓, ←
          (blaugrüne Pfeile in der Abb. 7)
    Startsymbol: A
    Ersetzungsregeln:
      A ⇒ D ↑ A → A ↓ B
      B ⇒ C ← B ↓ B → A
      C ⇒ B ↓ C ← C ↑ D
      D ⇒ A → D ↑ D ← C

Die Ersetzungsregeln legen fest, welche Ausrichtung (welche Variable) in der nächsten Iteration durch welche Ausrichtung verbunden durch welche Pfeile (Terminale) ersetzt werden sollen.

Weiter gefasste Konstruktionsprinzipien

Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis 
Abb. 9: Moore-Polygon der ersten bis dritten Iteration.
Die Bits im Index (Schrift gedreht) auf gerader Stelle in blau, auf ungerader in rot.
Der Moore-Index eines Quadrates mit Mittelpunkt Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  findet sich am Schnittpunkt von Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis -Spalte mit Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis -Zeile. (Alle Zahlen im Binärsystem)

Die Hilbertkurve ist (bis auf Spiegelungen und Rotationen) die einzige zweidimensionale FASS-Kurve des Quadrats mit Start und Ende an zwei Ecken („vertex-gated“).

Die Hilbert-Kurve nach Moore, kurz: die Moore-Kurve (engl. Moore curve) ist eine geschlossene Form der Hilbert-Kurve. Sie hat dasselbe Grundmuster wie diese. Die Übergänge zwischen den Quadraten wenden sich jedoch sowohl nach außen als auch nach innen. Sie ist genauso raumfüllend und hat sehr ähnliche Nachbarschaftseigenschaften wie die Hilbert-Kurve. Bei den Transformationen kommen alle acht Isometrien Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  vor.

Weitere Kurven auf ähnlicher Konstruktionsbasis wurden gefunden.

Die Konstruktionsprinzipien können noch weiter – unter Aufrechterhaltung der stetigen Raumfüllung – gelockert werden. Insbesondere die Aufgabe der Selbstähnlichkeit eröffnet eine Abundanz an Möglichkeiten. Hinweise dazu finden sich im Artikel Raumfüllende Kurve.

Ausblick auf den 3-dimensionalen Fall

Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis 
Abb. 10: 3D-Hilbert-Kurve beta mit dem Grundmuster Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  (türkis)

Die nebenstehende Abbildung 10 zeigt Grundmuster und erste Iteration der Hilbert-Kurve beta – eines von vielen Beispielen einer Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis -dimensionalen Hilbert-Kurve.

Wie im 2-dimensionalen Fall stehen die verschiedenen Ausrichtungen über Isometrien des Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  in Beziehung zueinander. Wie dort bilden diese Isometrien eine Gruppe, und zwar hier: eine Untergruppe der 48-elementigen Würfelgruppe. Das Beispiel der Abb. 10 zeigt eine Variante mit einer 24-elementigen Isometriengruppe, die zur symmetrischen Gruppe Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  isomorph ist.

Es gibt im 3-dimensionalen Fall signifikant mehr Möglichkeiten für die Konstruktion einer Hilbert-Kurve, die sich durch die „Traversierung“ (engl. traversal, grün in der Abb.) charakterisieren lassen. H. Haverkort klassifiziert alle 3-dimensionalen Hilbert-Kurven und zählt 920 „face-continuous“ (deutsch etwa: Zellen-stetig), bei denen zwei aufeinanderfolgende Nachbarwürfel ein Quadrat (eine Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis -dimensionale Zelle) gemeinsam haben, und insgesamt 10 694 807 verschiedene 3-dimensionale Hilbert-Kurven (p. 20), wobei er auch Grundmuster zulässt, bei denen sich die Nachbarwürfel nur an einer Kante oder Ecke berühren (Figure 13). Er weist auch darauf hin, dass es (wie im 2-dimensionalen Fall) unendlich viele Hilbert-Kurven gibt, wenn man auf Selbstähnlichkeit verzichtet.

In der Abb. 10 ist das Grundmuster des Ausgangswürfels durch den Polygonzug in der Farbe türkis dargestellt. Dieses Grundmuster bringt in der ersten Iterationsstufe die 8 Teilwürfel innerhalb des Ausgangswürfels in eine zusammenhängende Reihenfolge.

In der zweiten Iterationsstufe wiederholt sich zwar dieses Grundmuster pro Teilwürfel, für die Traversierung der Teil-Teilwürfel der zweiten Stufe bleiben dennoch sehr viele Freiheitsgrade, die die Hilbert-Kurve als Ganze charakterisieren. Im Beispiel werden sie durch den grünen Polygonzug festgelegt. Die für die Traversierung erforderlichen Drehungen, Kippungen und/oder Spiegelungen an den 7 inneren Übergangsstellen des Grundmusters kann man anhand der Abb. verifizieren. (Nachbarschaften werden durch die bei der rekursiven Einbettung anfallenden Isometrien nicht geändert.) Bei den Übergängen zwischen den Teilwürfeln (den „gates“ S. 13) gibt es weitere Wahlmöglichkeiten. H. Haverkort klassifiziert die gezeigte Hilbert-Kurve beta als „facet-gated“ (deutsch etwa: Zellen-verbunden), weil die (Übergänge an den) Enden der Teilwürfel 0 und 7 im Innern einer Quadratseite liegen. Es gibt aber auch „edge-gated“ (deutsch etwa: Kanten-verbundene) und „vertex-gated“ (deutsch etwa: Ecken-verbundene) Hilbert-Kurven.

In der Abb. 10 ist in den Teilwürfeln die Transformation eingetragen, die einen Würfel, der gleich wie der Ausgangswürfel ausgerichtet ist, abhängig von der Oktalziffer Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  in den Teilwürfel der Nummer Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  einbettet. Diese Transformation hat vier Komponenten, die Isometrie (gezeigt als Funktion der Koordinaten Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis ), einen additiven Vektor, der die Parallelverschiebung, also das Zentrum des Teilwürfels der Ziffer Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  angibt, die Skalierung um den Faktor Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  und eine Angabe, in welcher Richtung Hilbert-Kurve: Konstruktion, Diskrete Mathematik, Analysis  das Grundmuster bei dieser Ziffer einzusetzen ist.

Nach H. Haverkort hat die Hilbert-Kurve beta als (die einzige) Zellen-verbundene (engl. facet-gated curve) hervorragende Nachbarschafts-erhaltende Eigenschaften. Bei 3 von Haverkorts 6 Kriterien („metrics“) steht sie auf Platz eins, bei den anderen 3 auf Platz zwei und ist ≤4 % vom Optimum entfernt (section 7.3 Locality-preserving properties).

Die Faltung des Genoms ähnelt einer dreidimensionalen Hilbert-Kurve.

Erweiterungen

Hilbert-Kurven lassen sich auch effizient für Räume, die nicht Quadrate sind, implementieren. Durch Variation der »Geschwindigkeit« können unterschiedliche Dichten berücksichtigt werden.

Auch in höheren Dimensionen lassen sich Hilbert-Kurven generieren.

Siehe auch

Literatur

Commons: Hilbert-Kurve – Album mit Bildern, Videos und Audiodateien

Einzelnachweise

Tags:

Hilbert-Kurve KonstruktionHilbert-Kurve Diskrete MathematikHilbert-Kurve AnalysisHilbert-Kurve Darstellung als Lindenmayer-SystemHilbert-Kurve Weiter gefasste KonstruktionsprinzipienHilbert-Kurve Ausblick auf den 3-dimensionalen FallHilbert-Kurve ErweiterungenHilbert-Kurve Siehe auchHilbert-Kurve LiteraturHilbert-Kurve WeblinksHilbert-Kurve EinzelnachweiseHilbert-Kurve1891AnimationDavid HilbertDeutschlandFASS-KurveMathematikMathematikerMonsterkurveStetige FunktionWeg (Mathematik)

🔥 Trending searches on Wiki Deutsch:

Ludwig van BeethovenSchleswig-HolsteinBMW E46Speed (1994)Praxis mit MeerblickBettina RedlichKleopatra VII.SüdtirolBipolare StörungMoulin RougeLars EidingerDua LipaNina ChubaKommunismusBayerischer RundfunkWladimir Wladimirowitsch PutinMercedes-Benz Baureihe 205Generation ZLeopard 2Anna LehmannCunnilingusTschechenigelBDSMShenzhenDeutsche SpracheListe der Länder nach BruttoinlandsproduktTansaniaBud SpencerBerliner MauerMellotronElton (Moderator)Kapverdische InselnSephardimDr. NicePablo PicassoO. J. SimpsonTom CruiseAsperger-SyndromTina BordihnSigmund FreudAntifaschismusTschechienMeTooUwe OchsenknechtRingelrötelnSexGuilty Chinese Scholar TreeSOKO StuttgartHenriette Amalie LieserEntartete KunstMultiple Launch Rocket SystemFC EvertonPeter HahneQing-DynastieÄskulapstabIsabella LeongTokugawa IeyasuEuropäisches ParlamentJana PareigisMarwa EldessoukyDeutsche Demokratische RepublikABBAJosefine PreußVulvaEchte MehlbeereIndienMaibaumChallengers – RivalenFunk (Medienangebot)Tina TurnerPornhubBerliner FernsehturmHans ZimmerSeppukuXVideos🡆 More