[{"@context":"http:\/\/schema.org\/","@type":"BlogPosting","@id":"https:\/\/wiki.edu.vn\/wiki10\/2020\/12\/26\/hilbert-kurve-wikipedia\/#BlogPosting","mainEntityOfPage":"https:\/\/wiki.edu.vn\/wiki10\/2020\/12\/26\/hilbert-kurve-wikipedia\/","headline":"Hilbert-Kurve – Wikipedia","name":"Hilbert-Kurve – Wikipedia","description":"before-content-x4 Die ersten sechs Iterationen der Hilbert-Kurve Das Hilbert-Kurve (auch bekannt als die Hilbert raumf\u00fcllende Kurve) ist eine kontinuierliche fraktale","datePublished":"2020-12-26","dateModified":"2020-12-26","author":{"@type":"Person","@id":"https:\/\/wiki.edu.vn\/wiki10\/author\/lordneo\/#Person","name":"lordneo","url":"https:\/\/wiki.edu.vn\/wiki10\/author\/lordneo\/","image":{"@type":"ImageObject","@id":"https:\/\/secure.gravatar.com\/avatar\/44a4cee54c4c053e967fe3e7d054edd4?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/44a4cee54c4c053e967fe3e7d054edd4?s=96&d=mm&r=g","height":96,"width":96}},"publisher":{"@type":"Organization","name":"Enzyklop\u00e4die","logo":{"@type":"ImageObject","@id":"https:\/\/wiki.edu.vn\/wiki4\/wp-content\/uploads\/2023\/08\/download.jpg","url":"https:\/\/wiki.edu.vn\/wiki4\/wp-content\/uploads\/2023\/08\/download.jpg","width":600,"height":60}},"image":{"@type":"ImageObject","@id":"https:\/\/upload.wikimedia.org\/wikipedia\/commons\/thumb\/7\/7c\/Hilbert-curve_rounded-gradient-animated.gif\/220px-Hilbert-curve_rounded-gradient-animated.gif","url":"https:\/\/upload.wikimedia.org\/wikipedia\/commons\/thumb\/7\/7c\/Hilbert-curve_rounded-gradient-animated.gif\/220px-Hilbert-curve_rounded-gradient-animated.gif","height":"220","width":"220"},"url":"https:\/\/wiki.edu.vn\/wiki10\/2020\/12\/26\/hilbert-kurve-wikipedia\/","wordCount":5115,"articleBody":" (adsbygoogle = window.adsbygoogle || []).push({});before-content-x4 Die ersten sechs Iterationen der Hilbert-KurveDas Hilbert-Kurve (auch bekannt als die Hilbert raumf\u00fcllende Kurve) ist eine kontinuierliche fraktale raumf\u00fcllende Kurve, die erstmals 1891 vom deutschen Mathematiker David Hilbert beschrieben wurde.[1] als Variante der raumf\u00fcllenden Peano-Kurven, die 1890 von Giuseppe Peano entdeckt wurden.[2] (adsbygoogle = window.adsbygoogle || []).push({});after-content-x4Da es raumf\u00fcllend ist, ist seine Hausdorff-Dimension 2 (genau sein Bild ist das Einheitsquadrat, dessen Dimension in jeder Definition der Dimension 2 ist; sein Diagramm ist eine kompakte Menge, die hom\u00f6omorph zum geschlossenen Einheitsintervall mit Hausdorff-Dimension 2 ist). .Die Hilbert-Kurve ist als Grenze st\u00fcckweise linearer Kurven konstruiert. Die L\u00e4nge der (adsbygoogle = window.adsbygoogle || []).push({});after-content-x4n{ displaystyle n}Die Kurve ist 2n– –12n{ displaystyle textstyle 2 ^ {n} – {1 over 2 ^ {n}}}dh die L\u00e4nge w\u00e4chst exponentiell mit n{ displaystyle n}, obwohl jede Kurve in einem Quadrat mit Fl\u00e4che enthalten ist 1{ displaystyle 1}. (adsbygoogle = window.adsbygoogle || []).push({});after-content-x4Hilbert-Kurve erster OrdnungHilbert-Kurven erster und zweiter OrdnungHilbert-Kurven erster bis dritter OrdnungHilbert-Kurve, Konstruktion farbcodiertEine 3-D-Hilbert-Kurve mit FarbverlaufVariante, erste drei Iterationen[3]Foto eines David Hilbert mit der siebten Ordnung einer Hilbert-Kurve.Table of ContentsAnwendungen und Mapping-Algorithmen[edit]Darstellung als Lindenmayer-System[edit]Andere Implementierungen[edit]Siehe auch[edit]Weiterf\u00fchrende Literatur[edit]Externe Links[edit]Anwendungen und Mapping-Algorithmen[edit]Sowohl die wahre Hilbert-Kurve als auch ihre diskreten N\u00e4herungen sind n\u00fctzlich, da sie eine Abbildung zwischen 1D- und 2D-Raum ergeben, bei der die Lokalit\u00e4t ziemlich gut erhalten bleibt.[4] Dies bedeutet, dass zwei Datenpunkte, die im eindimensionalen Raum nahe beieinander liegen, nach dem Falten ebenfalls nahe beieinander liegen. Das Gegenteil kann nicht immer wahr sein.Aufgrund dieser Lokalit\u00e4tseigenschaft ist die Hilbert-Kurve in der Informatik weit verbreitet. Beispielsweise kann der von Computern verwendete IP-Adressbereich mithilfe der Hilbert-Kurve in ein Bild abgebildet werden. Code zum Erzeugen des Bildes wird von 2D auf 1D abgebildet, um die Farbe jedes Pixels zu ermitteln, und die Hilbert-Kurve wird manchmal verwendet, weil sie nahegelegene IP-Adressen im Bild nahe beieinander h\u00e4lt.Ein Graustufenfoto kann mithilfe von Schwellenwerten in ein gedithertes Schwarzwei\u00dfbild konvertiert werden, wobei der verbleibende Betrag von jedem Pixel zum n\u00e4chsten Pixel entlang der Hilbert-Kurve addiert wird. Code, um dies zu tun, w\u00fcrde von 1D nach 2D abgebildet, und die Hilbert-Kurve wird manchmal verwendet, weil sie nicht die ablenkenden Muster erzeugt, die f\u00fcr das Auge sichtbar w\u00e4ren, wenn die Reihenfolge einfach von links nach rechts \u00fcber jede Pixelreihe w\u00e4re. Hilbert-Kurven in h\u00f6heren Dimensionen sind ein Beispiel f\u00fcr eine Verallgemeinerung von Gray-Codes und werden manchmal aus \u00e4hnlichen Gr\u00fcnden f\u00fcr \u00e4hnliche Zwecke verwendet. F\u00fcr mehrdimensionale Datenbanken wurde vorgeschlagen, die Hilbert-Reihenfolge anstelle der Z-Reihenfolge zu verwenden, da sie ein besseres lokalit\u00e4tserhaltendes Verhalten aufweist. Beispielsweise wurden Hilbert-Kurven verwendet, um R-Baum-Indizes zu komprimieren und zu beschleunigen[5] (siehe Hilbert R-Baum). Sie wurden auch verwendet, um Data Warehouses zu komprimieren.[6][7]Angesichts der Vielzahl von Anwendungen ist es n\u00fctzlich, Algorithmen zu haben, um in beide Richtungen abzubilden. In vielen Sprachen sind diese besser, wenn sie eher mit Iteration als mit Rekursion implementiert werden. Der folgende C-Code f\u00fchrt die Zuordnungen in beide Richtungen aus, wobei Iterations- und Bitoperationen anstelle von Rekursion verwendet werden. Es wird ein Quadrat angenommen, das in unterteilt ist n durch n Zellen, z n eine Potenz von 2 mit ganzzahligen Koordinaten mit (0,0) in der unteren linken Ecke, (n – 1, n – 1) in der oberen rechten Ecke und in einiger Entfernung d das beginnt bei 0 in der unteren linken Ecke und geht zu n2– –1{ displaystyle n ^ {2} -1} in der unteren rechten Ecke. Dies unterscheidet sich von der oben gezeigten Animation, bei der die Kurve in der oberen linken Ecke beginnt und in der oberen rechten Ecke endet.\/\/convert (x,y) to dint xy2d (int n, int x, int y) { int rx, ry, s, d=0; for (s=n\/2; s>0; s\/=2) { rx = (x & s) > 0; ry = (y & s) > 0; d += s * s * ((3 * rx) ^ ry); rot(n, &x, &y, rx, ry); } return d;}\/\/convert d to (x,y)void d2xy(int n, int d, int *x, int *y) { int rx, ry, s, t=d; *x = *y = 0; for (s=1; s (adsbygoogle = window.adsbygoogle || []).push({});after-content-x4"},{"@context":"http:\/\/schema.org\/","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"item":{"@id":"https:\/\/wiki.edu.vn\/wiki10\/#breadcrumbitem","name":"Enzyklop\u00e4die"}},{"@type":"ListItem","position":2,"item":{"@id":"https:\/\/wiki.edu.vn\/wiki10\/2020\/12\/26\/hilbert-kurve-wikipedia\/#breadcrumbitem","name":"Hilbert-Kurve – Wikipedia"}}]}]