¿Cómo debo mapear las coordenadas en un hipercubo a coordenadas en un espacio unidimensional?

Salvapantallas de la curva de relleno del espacio de Hilbert

Se me ocurren tres formas de asignar un hipercubo a una línea. La elección depende de una declaración más exacta del requisito.

La forma más fácil de fuerza bruta para mapear cuatro coordenadas a un solo número simplemente expresando x = i + j * 10 ^ 5 + k * 10 ^ 10 + l * 10 ^ 20 + m * 10 ^ 25 donde x es la ubicación en el espacio unidimensional e i, j, k y m son las coordenadas en el hipercubo. Los exponentes fueron elegidos arbitrariamente para simplificar la expresión.

Una forma más elegante es usar el Teorema del resto chino. Esto tiene la ventaja de mapear los puntos en la línea a puntos en el hipercubo para que las ubicaciones se distribuyan de manera pseudoaleatoria. Lo único negativo para el método CRT es que las dimensiones del objeto cuatridimensional que se asigna a una línea deben expresarse como valores primos mutuos. Como no pueden ser todos iguales, la asignación requiere permitir que los puntos que no están dentro del hipercubo o escalar los valores se ajusten a los valores iguales requeridos.

La forma más exótica es utilizar una versión de mayor dimensión de la curva de relleno espacial de Hilbert. Formulación recursiva de curvas multidimensionales de relleno de espacio de Hilbert

Las propiedades que deseamos para las transformaciones que llenan el espacio son que sean:
Una función continua de relleno de espacio cuyo rango se acerca arbitrariamente a cualquier punto dado en el hipercubo de unidad n- dimensional. volúmenes iguales. isotropic las longitudes de las proyecciones alineadas a los ejes de la curva de relleno de espacio deben ser iguales.