Ruidos suaves con diferentes amplitudes (Parte 2)

Bueno, continúo esta pregunta sin respuesta Suavizar ruidos aleatorios con diferentes amplitudes) y tengo otra pregunta.

He optado por usar el contorno / sombra de una forma ¿Traducir / transformar? lista de puntos desde su centro con un desplazamiento / distancia).

Este contorno / sombra es más grande que la ruta actual. Usé este repositorio https: //github.com/n-yoda/unity-vertex-effect) para recrear la sombra. Y esto funciona bastante bien, excepto por un hecho.

Para conocer la altura de todos los puntos (obtenidos por este algoritmo de sombra Línea 13 de ModifiedShadow.cs & Línea 69 de CircleOutline.cs)) Obtengo la distancia del punto actual al centro y divido entre la distancia máxima al centro:

float dist = orig.Max(v => (v - Center).magnitude);
foreach Point in poly --> float d = 1f - (Center - p).magnitude / dist;

Where orig es la lista completa de puntos obtenidos por el algoritmo de sombra. D es la altura de la sombra.

Pero el problema es obvio, obtengo un círculo perfecto:

En rojo y negro para ver el contraste:

Y esto no es lo que quiero:

Como puedes ver, este no es un gradiente perfecto. Vamos a explicar lo que está pasando.

Uso esta biblioteca para generar ruidos:https: //github.com/Auburns/FastNoise_CShar

Nota Si desea saber qué uso para obtener ruidos con diferente amplitud: Suavizar ruidos aleatorios con diferentes amplitudes (ver primer bloque de código), para ver esto en acción,ver este repositorio

l color de fondo verde representa ruidos con una altura media de -0.25 y una amplitud de 0.3l color de fondo blanco representa ruidos con una altura media de 0 y una amplitud de 0.1 Rojo significa 1 (interpolación total para ruidos correspondientes a píxeles blancos)Negro significa 0 (interpolación total para ruidos correspondientes a píxeles verdes)

Por eso tenemos esta salida:

En realidad, he intentado comparar distancias de cada punto individual al centro, pero esto arrojó un resultado extraño e inesperado.

En realidad, no sé qué probar ...

Respuestas a la pregunta(1)

Su respuesta a la pregunta