gpt4 book ai didi

processing - 使用 4D OpenSimplex 噪声而不是 2D Perlin 噪声来创建循环噪声的目的是什么?

转载 作者:行者123 更新时间:2023-12-05 02:02:57 25 4
gpt4 key购买 nike

当我学习创建循环生成艺术 GIF 的方法时,我遇到了两种不同的制作噪音循环的方法。

  1. Etienne Jacob 在他的 tutorial 中的示例代码如下使用 4D OpenSimplex 噪声。

    (float)noise.eval(scl * x, scl * y, R * cos(TWO_PI * t), R * sin(TWO_PI * t));

  2. Daniel Shiffman 在他的 tutorial 中的示例代码如下使用 2D Perlin 噪声。

    噪音(cos(a)+ 1,sin(a)+ 1);

Golan Levin's work

我的理解是,两者都是像上面的gif那样,在噪声空间中“绕圈子走”来实现循环。但是我不清楚两者之间的区别。选择 4D OpenSimplex 而不是 2D Perlin 噪声来创建循环噪声的目的是什么?

最佳答案

2D 噪声可以产生 1D 循环。 4D 噪声可以产生在两个方向上循环的 2D 平面(不同示例),或具有循环时间轴的非循环 2D 平面(本示例)。基本上,它需要两个不循环的维度来创建一个循环的维度。

4D 示例在图像上的每个 (x, y) 点生成一条循环的 1D 线,但不同之处在于您可以改变该 (x, y) 以生成本身随时间动画的 2D 图像。对于由 2D 噪声产生的循环线,您只有那条线本身。 (x, y) 来自 4D 噪声的两个额外维度。

此外,Perlin 显示出很多 45 度和 90 度的偏差。 Simplex 在这方面要好得多,我设计 OpenSimplex 也是为了满足这一点。 Perlin 适用于循环一维线,但如果您使用二维噪声生成二维结果,那么您会看到这种偏差。

不过,我建议您现在使用 OpenSimplex2而不是 OpenSimplex(无耻的插件),因为它应该在空间上更均匀。特别是OpenSimplex2S,它是 2014 OpenSimplex 的直接替代品。

关于processing - 使用 4D OpenSimplex 噪声而不是 2D Perlin 噪声来创建循环噪声的目的是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65540942/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com