En 1983, Ken Perlin inventó un tipo especial de ruido llamado ruido Perlin. Este tipo de ruido tiene una amplia gama de aplicaciones en gráficos de computadora, especialmente al generar escenas naturales y animaciones, donde puede ayudar eficazmente a crear efectos físicos realistas. El ruido Perlin se puede utilizar para generar terreno, proporcionar cambios pseudoaleatorios a las variables y actualizar texturas de imágenes. Esta publicación profundizará en los antecedentes, los usos y la importancia del ruido Perlin.
La inspiración de Ken Perlin para la creación surgió de su frustración con la sensación mecánica de las imágenes generadas por computadora (CGI) en ese momento. En 1985, publicó formalmente un artículo titulado "Un sintetizador de imágenes" en la conferencia SIGGRAPH, que detallaba el ruido de Perlin. Su desarrollo se inspiró en parte en su trabajo en la película de ciencia ficción animada por computadora de Disney de 1982, Tron. Tras el desarrollo de su técnica, Perlin recibió un premio de la Academia en 1997 por sus contribuciones al arte de crear texturas de aspecto natural en superficies generadas por computadora.
“Desde el desarrollo del ruido Perlin, los artistas gráficos por computadora han podido representar de manera más realista la complejidad de los fenómenos naturales”.
El ruido Perlin es un elemento de textura procedimental que se utiliza como un ruido de gradiente que aumenta gradualmente el realismo de los gráficos de computadora. Aunque esta característica tiene una naturaleza pseudoaleatoria, todos los detalles visibles son de tamaño consistente. Esta propiedad hace que su funcionamiento sea muy controlable; los artistas pueden incorporar múltiples copias escaladas de ruido Perlin en expresiones matemáticas para crear una amplia variedad de texturas procedimentales. Las texturas sintéticas generadas con ruido Perlin se utilizan a menudo en CGI para ayudar a que los elementos visuales generados por computadora, como superficies, fuego, humo o nubes, se vean más naturales.
El ruido de Perlin generalmente se implementa en dos, tres o cuatro dimensiones, pero en realidad se puede definir en cualquier dimensión. La implementación generalmente implica tres pasos: definir una cuadrícula de vectores de gradiente aleatorios, calcular el producto escalar de los vectores de gradiente con sus desplazamientos e interpolar entre estos valores.
Defina una cuadrícula n-dimensional donde cada intersección de cuadrícula esté asociada con un vector de gradiente de longitud unitaria aleatorio n-dimensional. Esta aleatorización ayuda a crear un efecto de textura natural.
Para calcular el valor de cualquier punto candidato, primero encontramos la celda de cuadrícula única donde se ubica el punto, luego identificamos las 2^n esquinas de la celda y sus vectores de gradiente asociados, y luego calculamos el vector de desplazamiento para cada esquina y calculamos el Vector de gradiente para cada esquina. El producto escalar del vector de gradiente en cada esquina se calcula con el vector de desplazamiento. La influencia de cada esquina de la cuadrícula aumenta con la distancia, lo que significa que la operación de normalización en el vector de desplazamiento puede introducir cambios bruscos significativos, por lo que es más importante tener en cuenta la distancia en el paso de interpolación.
El paso final es interpolar estos productos escalares. Esto se hace usando una función que tiene derivadas de primer orden cero en 2^n nodos de la cuadrícula, por lo que cerca de cada nodo de la cuadrícula la salida se aproximará al producto escalar del vector de gradiente del nodo y el vector de sesgo.
Complejidad"El ruido Perlin se caracteriza por el hecho de que pasa por 0 en cada nodo, lo que le da su apariencia distintiva".
Para cada evaluación de la función de ruido, se debe calcular el producto escalar de la posición y el vector de gradiente en cada nodo que contenga una celda de la cuadrícula. Por lo tanto, la complejidad del ruido de Perlin es O(2^n) a medida que aumenta la dimensión y aumenta el contexto. Si bien el ruido Perlin todavía tiene su lugar en la computación, han surgido nuevas alternativas como Simple Noise y OpenSimplex Noise que brindan resultados similares con una eficiencia computacional mejorada.
La invención del ruido Perlin no sólo cambió la forma en que se crean los efectos visuales, sino que continúa influyendo en nuestra comprensión de las imágenes generadas por computadora. En el futuro, ¿cómo mejorará aún más la tecnología nuestra capacidad de recrear fenómenos naturales en el mundo digital?