Me gustaría saber por qué ruido Perlin es todavía tan popular hoy en día después de Simplex salió. Simplex ruido fue hecho por Ken Perlin a sí mismo y se supone que debe hacerse cargo de su algoritmo anterior que era lento para dimensiones superiores y con mejor calidad (no hay artefactos visibles).

Simplex ruido salió en 2001 y durante esos 10 años sólo he visto a la gente hablar de ruido Perlin cuando se trata de la generación de mapas de altura de terrenos, creación de texturas de procedimiento, et cetera.

Podría alguien ayudarme, ¿hay alguna desventaja de Simplex de ruido? He oído rumores de que el ruido Perlin es más rápido cuando se trata de 1D y 2D de ruido, pero no sé si es verdad o no.

Gracias!

InformationsquelleAutor raRaRa | 2011-06-22

8 Comentarios

  1. 23

    «Si no está roto, no lo arregles.»

    Ver si se puede encontrar a alguien diciendo qué Simple es mejor. «Es más rápido y se extiende a múltiples dimensiones» y «simplex ruido de los intentos para reducir la complejidad de las dimensiones superiores de ruido de las funciones de» se lo que he encontrado. La mayoría de nosotros trabajamos en 2 o 3 dimensiones, tal vez 4 si tenemos la suerte de estar haciendo algo con el tiempo.

    Creo que es justo decir que existe muy poco uso en tiempo real de Perlin que es demasiado lento para manejar, que para la mayoría de los propósitos de la norma de ruido Perlin es suficiente. En la pre-renderizados (tal como se utiliza en la industria del cine) el tiempo no es realmente importante, ya que las representaciones son lentos de todos modos; y en tiempo real de las simulaciones, tenemos suficientes maneras de reducir el alcance de curso de procesamiento que es poco probable que usted va a ser la generación masiva de los mapas de ruido cada pocos nano/milisegundos — eso es solo lo básico en tiempo real optimización.

    • Supongo que es una respuesta adecuada. Pero no es sólo acerca de la velocidad y más rápido de mayores dimensiones, también tiene que ver con artefactos en el ruido Perlin que no son visibles en Simple ruido. Pero como usted dijo, ruido Perlin es lo suficientemente bueno, así que ¿por qué usar otra cosa? 🙂
    • «Es más rápido y se extiende a múltiples dimensiones» — «con mucho menos coste computacional, la complejidad es O(N) para N dimensiones en lugar de la O(2^N) del clásico de ruido«
    • 4D ruido es común que el ruido en la envoltura texturas: {X_u, X_v, Y_u, Y_v}, donde u y v son de seno/coseno pares de los «ángulos» de X y de y
  2. 22

    Yo no estaría sorprendida si fue simplemente por el nombre. Usted tiene que elegir entre el ruido Perlin y Simple ruido. El segundo es más reciente y tiene algunas ventajas. Pero, usted sabe, suena como la ‘simple’ de versión de los dos. Voy a ir con el complexer uno; el ruido se supone debe ser complejo, ¿no?

    Personas tienden a ser bastante irracional.

    • Buen punto. Eso es lo que me temía. Imagina cuántas personas están utilizando fuera de fecha lento algoritmos sólo porque el nombre de la mejor algoritmo no sonido pegadizo suficiente 🙂
    • Yo realmente no creo que esta sea la respuesta correcta.
    • Siempre he pensado que la simple ruido era más sencillo y menos de la calidad de ruido perlin. Así que, sí.
    • Este es un error común. Simple no significa método más sencillo; se refiere a la la generalización de un triángulo arbitrario dimensiones. Para ponerlo simple, Simple ruido utiliza una cuadrícula de triángulos en lugar de cuadrados.
  3. 7

    Alguna preferencia para el clásico ruido Perlin puede venir de ser capaz de utilizar la conocida valores resultantes en las características visuales, como contraposición a invertir el tiempo necesario para encontrar los parámetros de entrada necesarios para obtener un equivalente de salida utilizando simplex ruido.

    [simplex ruido] tiene una ligeramente diferente carácter visual, por lo que no siempre es directa plug-in de reemplazo para el clásico ruido. Las aplicaciones que dependen de las características detalladas de los clásicos de ruido, como el exacto tamaño de la característica, el rango exacto de los valores o de orden superior de estadística, puede ser que necesite alguna modificación para verse bien cuando el uso de simplex de ruido en su lugar.

    Stefan Gustavson del Simplex ruido desmitificado

  4. 4

    Sólo algunas anécdotas de la experiencia, la razón por la que usa el clásico ruido Perlin fue porque Ken Perlin había un Implementación en C de clásico ruido Perlin, mientras que proporciona un Implementación de Java de la mejora de ruido Perlin. Tonto que pueda parecer el clásico ruido Perlin era más fácil de copiar y pegar en mi programa, es por eso que la he usado. Siempre tuve la intención de conseguir alrededor de la portabilidad que la implementación de Java, pero clásico Perlin parecía funcionar bastante bien, así que nunca me tomé la molestia de añadir.

    Stefan Gustavson tiene algunas muy buenas C implementaciones de Simplex de Ruido, aquí

    • Gracias por la url. La página no la lista de los términos de la licencia de la aunque el código. Alguna idea de qué tipo de licencia viene con él?
    • Hasta donde yo sé, todo el mundo usa ruido Perlin sin necesidad de ningún tipo de licencia. También tenga en cuenta que Stefan Gustavson C implementaciones, que son muy buenos.
  5. 1

    No he trabajado con simplex ruido, pero puedo pensar en un par de razones:

    • Tal vez porque estamos acostumbrados a cuadrados y ángulos de 90 grados? Cuadrados, Cubos,… son mucho más natural para nosotros de triángulos, tetraeders o hyper-tetraeders.
    • Cada capa de ruido perlin es un simple mapa de bits.
    • La salida de ruido perlin son fácilmente mosaico de cuadrados. Y las texturas son a menudo azulejos cuadrados.
    • Se suele utilizar de baja dimensionalidad ruido. En mi experiencia en 2D y 3D son las más comunes.
    • Simplex ruido es simplemente más difícil de entender implementar un
    • Probablemente de los muestreadores en una tarjeta gráfica puede hacer la interpolación para ortogonal de mapas de bits, como se utiliza en ruido perlin, pero no la interpolación de 60 grados de los ángulos de mapas de bits utilizados en simple ruido. (este punto puede ser malo, no he trabajado con tarjetas gráficas de un par de años)
    • Hmm, bueno, voy a tratar de resolver esto con mis conocimientos actuales de ruido Perlin, Simplex ruido y el movimiento Browniano fraccional. Mi opinión aquí abajo tal vez mal así que por favor me corrija si algo de lo que me dices no es correcto. Declaración 1: Podría ser cierto, pero uno siempre puede modificar la salida del ruido para que se vea cuadrado con ángulos de 90 grados. Declaración 2: Afaik, fbm es el uso de ruido, ya sea de perlin, simplex o cualquier otro tipo de ruido y crea capas de octavas. Simplex y perlin es sólo un ruido y poco tiene que ver con capas. Declaración 3: lo Mismo que mi respuesta a la declaración 1
    • Yo principalmente saber ruido perlin en la textura de procedimiento de generación. Y hay que conceptualmente crear mediante la creación de mapas de bits que consta de azar píxeles en escala de grises y, a continuación, mezcla de varias capas con diferentes factores de escala. freespace.virgin.net/hugo.elias/models/m_perlin.htm se Muestra cómo crear ruido perlin simplemente mezclando un par de capas de azar de píxeles de mapas de bits.
    • Instrucción 4: Ok bueno, también se puede utilizar en 1D y 2D en modo Simple y no ofrece ningún tipo de artefactos como el ruido perlin genera. Declaración 5: no estoy de acuerdo, que fue diseñado específicamente para que sea más fácil de implementar en hardware, pero la CPU sabio no sé, fue muy fácil para mí para convertir a la misma. Instrucción 6: no sé, pero como mi respuesta a la instrucción 5, Simplex debería ser más fácil de implementar en la GPU según Ken Perlin.
    • Me he encontrado un interesante papel en Simple ruido llamado «Simplex ruido desmitificado» en webstaff.itn.liu.se/~stegu/simplexnoise/simplexnoise.pdf La principal razón por la que parece ¿por qué la gente piensa Simplex ruido es complicado es porque, me gustaría citar el papel por encima de:
    • «De lo que he aprendido, lo que confunde a las personas más es la naturaleza impenetrable de Ken Perlin de referencia de la aplicación en Java. Presenta muy compacto y sin comentar el código para demostrar el principio, pero que el código es claro que no destinado a ser leído como un tutorial. Después de un par de intentos me di por vencido en el código y leer su papel en su lugar, que era mucho más claro.»
    • Respecto a su comentario en la mezcla de varias capas juntas, que no es parte de ruido perlin, que es la fBm. fBm genera pocas capas de ruido y mezclas de ellos juntos. El mismo concepto se hace por Simple ruido. El cambio No hay 🙂
    • Hmm parece que la mayoría de artículos que he leído mal uso de la palabra ruido perlin.

  6. 1

    Me gustaría responder a la pregunta sin rodeos, yo diría que es porque el ruido Perlin es super simple para conseguir su cabeza alrededor. Simplex ruido en el otro lado es mucho más complejo y hairer bestia. Conseguir un Perlin implementación y ejecución es mucho más fácil de lo que simple y por lo tanto se hace más uso. No ayuda simplex el caso de que ambos son muy similares en los visuales (especialmente después de manipular el ruido un poco).

    Kenneth Perlin mismo diseñó el simplex algoritmo para un hardware basado en la aplicación y por lo tanto las decisiones de diseño que hacen que esto sea más fácil. Un ejemplo de esto puede ser visto en este quoute, a partir de la patente.

    Necesidad de tabla de memoria: El original de Ruido algoritmo se basaba en un número de búsquedas en una tabla, que son bastante razonables en una implementación de software, pero que en una implementación de hardware son caros y constituyen un costo cuello de botella, sobre todo cuando varias instancias de la función de Ruido son necesarios en paralelo. Idealmente, un Ruido de implementación no debe depender de la presencia de tablas de tamaño considerable.

  7. 0

    simplex ruido se ve peor en mi humilde opinión, y un montón de gente piensa que no se ve «cada vez más grave» en dimensiones superiores. Yo todavía iba a recomendar sobre perlin para la mayoría de las aplicaciones, ya que la mayoría no va a utilizar sólo raw simplex pero octavas de lo que se ve más o menos igual a las octavas de perlin y es significativamente más rápido para las octavas.

Dejar respuesta

Please enter your comment!
Please enter your name here