2010-08-26 13 views
6

Cada implementación que he encontrado de generación de ruido perlin ha sido para la generación de terreno en 2D, etc. No encuentro un ejemplo decente de generación de rayos punto a punto en ningún lado.¿Cómo se hace un punto para apuntar "perno" de un rayo usando ruido perlin u otro algoritmo?

¿Hay muchas otras formas de generar 'rayos'? Me dijeron que esto es lo que quiero. Qué algoritmos existen para el rayo bifurcado, o árboles en 2D (podría dar la vuelta al rayo tal vez)

Trabajo en varios idiomas así que los ejemplos en pseudocódigo también están bien.

Respuesta

9

Según tengo entendido, el ruido de Perlin está diseñado para que todos sus patrones estén cerca de un solo "tamaño", pero el rayo es un fractal con patrones en todos los "tamaños". Puede haber una manera de utilizar varios sistemas de ruido Perlin en diferentes escalas de hacer un relámpago, pero tal vez uno de estos otros métodos funcionaría mejor:

El método de desplazamiento del punto medio es un algoritmo muy rápido para generar formas que se parecen mucho como un rayo. Desgraciadamente, solo genera líneas (muy dentadas) entre dos puntos, nunca se bifurca. Hay algunos códigos fuente e imágenes en http://www.krazydad.com/bestiary/bestiary_lightning.html

Los sistemas L probabilísticos se pueden usar para generar formas que parecen relámpagos. Veo que al menos una persona abandonó el ruido de Perlin y se cambió a L-systems para simular un rayo. http://www.grepart.com/showcase/content/lightning_paper.pdf

El algoritmo estocástico Lichtenberg corre un poco más lento, pero es físicamente más realista del modelo del rayo y genera un montón de horquillas. http://fisica.ciencias.uchile.cl/alejo/fractal_antenna/node7.html

¿Es este un dup de la pregunta "Best lightning generation\simulation algorithm?"?

+0

Debe agregar el enlace a esa pregunta: http://stackoverflow.com/questions/1995814/best-lightning-generation-simulation-algorithm –

+0

@ire_and_curses: Tiene razón. OK, debería estar enlazado ahora. –

Cuestiones relacionadas