Distribución uniforme de una función de ruido Perlin fractal en C #

a función de ruido @My Perlin (que suma 6 octavas de 3D simplex a 0,75 persistencia) genera una matriz de matriz 2D dedouble s.

Estos números salen normalizados a [-1, 1], con una media de 0. Los aprieto para evitar excepciones, que creo que se deben a problemas de precisión de punto flotante, pero estoy bastante seguro de que mi factor de escala es lo suficientemente bueno para restringir la salida de ruido exactamente a este vecindario en el caso ideal.

e todos modos, eso es todo detalle. El punto es que aquí hay una matriz de ruido de 256 por 256:

l histograma con un ajuste normal se ve así:

Matlab'slillietest es una función que aplica la prueba de Lilliefors para determinar si un conjunto de números proviene de una distribución normal. Mi resultado fue, repetidamente, 1, lo que significa que estos números no se distribuyen normalmente.

Me gustaría una funciónf(x) de modo que, cuando se aplica a la lista de valores de mi función de ruido, los resultados aparecen distribuidos uniformemente.

Me gustaría que esta función sea implementable en C # y no demore minutos en ejecutarse.

Una vez más, no debería importar de dónde provienen los números (la pregunta es sobre la transformación de una distribución en otra, específicamente una normal a uniforme). Sin embargo, mi implementación de la función de ruido se basa enest yest. Puede encontrar la matriz de valores anterioraqu.

Respuestas a la pregunta(4)

Su respuesta a la pregunta