Explorador de Curva de Hilbert

Explora la curva de Hilbert fractal que rellena el espacio con orden ajustable, recorrido codificado por colores y mapeo de coordenadas

Curva de Hilbert

Preservación de distancia 1D → 2D

Curvas de relleno de espacio

Una curva de relleno de espacio es una aplicación sobreyectiva continua f: [0,1] → [0,1]². David Hilbert describió su curva en 1891 como una construcción geométrica que rellena un cuadrado entero. La curva se define recursivamente: en orden 1, la curva visita una cuadrícula 2×2 en forma de U. En cada orden superior, cada celda se reemplaza por una copia rotada/reflejada del patrón U, cuadruplicando la resolución. En orden n, la curva visita todas las 2ⁿ × 2ⁿ = 4ⁿ celdas exactamente una vez. Propiedades clave: (1) Continuidad — camino continuo sin saltos. (2) Autosimilitud — cada cuadrante es una copia rotada del todo. (3) Localidad — puntos cercanos en 1D tienden a estar cerca en 2D. (4) No diferenciabilidad — la curva límite no tiene tangente en ningún punto.

Construcción recursiva

La curva de Hilbert se construye mediante reglas de reemplazo estilo Lindenmayer. En orden 1, la curva recorre cuatro cuadrantes en orden: inferior-izquierda → superior-izquierda → superior-derecha → inferior-derecha (forma de U). Para pasar del orden n al n+1, cada celda se subdivide en cuatro subceldas. El algoritmo usa dos funciones: xy2d(x, y, n) convierte coordenadas 2D a distancia 1D (0 a 4ⁿ−1), y d2xy(d, n) convierte distancia 1D a coordenadas 2D. Ambas se ejecutan en O(n). El gráfico inferior muestra la preservación de localidad: para cada par de celdas, grafica la distancia de curva |d₁−d₂| contra la distancia euclidiana 2D.

Aplicaciones

Indexación espacial: bases de datos (S2 de Google, PostgreSQL) usan curvas de Hilbert para mapear coordenadas 2D/3D a claves 1D. Procesamiento de imágenes: el escaneo por curva de Hilbert preserva localidad espacial mejor que el escaneo ráster. Visualización de datos: mapear datos de alta dimensión a curvas de Hilbert preserva clusters. Métodos numéricos: las curvas de relleno de espacio particionan dominios para computación paralela. Matemáticas: las curvas de Hilbert son una prueba constructiva de que [0,1] y [0,1]² tienen la misma cardinalidad.

Guía de uso

Use el control deslizante de Orden para cambiar la profundidad de recursión (1-7). Alterne entre vista de Curva, Mapa de calor o Ambos. El gradiente de color de azul (inicio) a rojo (fin) muestra el orden de recorrido. Ingrese coordenadas x,y y haga clic en Buscar para resaltar esa celda. También puede hacer clic directamente en el lienzo. Use Reproducir para animar el dibujo de la curva paso a paso.