それぞれ32ビットの3つの値で構成される3D位置を変換する可能性のある方法は、32ビットの単一の値で、ハッシュテクニックを使用することです。ハッシュ関数は、入力データのセットを取得し、固定長の出力値にする数学的関数です。

3D位置を32ビットの値に変換するには、32ビットの3つの値を入力として取得し、32ビットの単一値を返すハッシュ関数を使用できます。使用できる可能性のあるハッシュ関数は、ハッシュSHA-1関数です。これは広く使用され、多くのプログラミング言語で利用可能です。

SHA-1関数を使用して3D位置を32ビットの値に変換するプロセスは、次のことです。

単一のバイトチェーンで3つの32ビット値を連結します。
SHA-1関数をBYTESチェーンに適用します。
SHA-1関数の最初の4バイトを32ビット値として使用します。
逆プロセス、つまり、32ビットの値を3D位置に変換すると、元の3D位置を正確に取得することはできません。これは、ハッシュ関数が無制限の量のデータを入力として取得し、固定長の出力値に削減するためです。つまり、同じ出力値を生成できるいくつかの可能な入力があるためです。

ただし、ハッシュ関数を使用した32ビットの値が生成された場合、おおよその3D位置を生成するのと同じハッシュ関数を生成できます。たとえば、SHA-1関数を適用する前に32の元のビットの値が特定の順序で連結されていることがわかっている場合、32の同じ値を生成するものを見つけるまで、入力値の異なる組み合わせをテストできます。ビット。
Una posible manera de convertir una posición 3D, compuesta por 3 valores de 32 bits cada uno, en un único valor de 32 bits es utilizar la técnica de hash. Una función hash es una función matemática que toma un conjunto de datos de entrada y los convierte en un valor de salida de longitud fija.

Para convertir una posición 3D en un valor de 32 bits, podríamos utilizar una función hash que tome los tres valores de 32 bits como entrada y devuelva un único valor de 32 bits. Una posible función hash que podríamos utilizar es la función de hash SHA-1, que es ampliamente utilizada y se encuentra disponible en muchos lenguajes de programación.

El proceso para convertir una posición 3D en un valor de 32 bits utilizando la función SHA-1 podría ser el siguiente:

Concatenar los tres valores de 32 bits en una sola cadena de bytes.
Aplicar la función SHA-1 a la cadena de bytes.
Tomar los primeros 4 bytes del resultado de la función SHA-1 como el valor de 32 bits resultante.
Para el proceso inverso, es decir, convertir el valor de 32 bits en una posición 3D, no es posible obtener la posición 3D original de forma precisa. Esto se debe a que la función hash toma una cantidad ilimitada de datos como entrada y los reduce a un valor de salida de longitud fija, lo que significa que hay varias entradas posibles que pueden producir el mismo valor de salida.

Sin embargo, si se conoce la forma en que se generó el valor de 32 bits utilizando la función hash, se podría utilizar la misma función hash para generar una posición 3D aproximada. Por ejemplo, si sabemos que los valores de 32 bits originales se concatenaron en un orden específico antes de aplicar la función SHA-1, podemos probar diferentes combinaciones de valores de entrada hasta que encontremos una que produzca el mismo valor de 32 bits.