我遇到的perlin噪声生成的每个实现都是用于生成2D地形等。我找不到任何地方点对点闪电生成的好例子。
还有很多其他形式的“闪电”吗?有人告诉我这就是我想要的。分叉闪电或二维树存在什么算法(我可以将其颠倒为闪电)
我使用多种语言,因此伪代码中的示例也可以。
答案 0 :(得分:9)
我的理解是,Perlin噪声的设计使其所有模式都接近一个“大小”,但闪电是一个分形,每个“大小”都有模式。 可能有一种方法可以使用不同比例的几种Perlin噪声系统来制造闪电,但也许这些其他方法中的一种可以更好地工作:
中点位移法是一种非常快速的算法 用于生成看起来很像闪电的形状。 唉,它只在两点之间产生(非常锯齿状)线,从不叉。 有一些源代码和图片在 http://www.krazydad.com/bestiary/bestiary_lightning.html
概率L系统可用于生成看起来像闪电的形状。 我看到至少有一个人放弃了Perlin噪音并切换到L系统以模拟闪电。 http://www.grepart.com/showcase/content/lightning_paper.pdf
随机Lichtenberg算法运行速度稍慢, 但它更具有物理逼真的闪电模型并产生大量的叉子。 http://fisica.ciencias.uchile.cl/alejo/fractal_antenna/node7.html