当我学习创建循环生成艺术 GIF 的方法时,我遇到了两种不同的制作噪声循环的方法。
Etienne Jacob 在其教程中的示例代码使用 4D OpenSimplex Noise,如下所示。
(float)noise.eval(scl * x, scl * y, R * cos(TWO_PI * t), R * sin(TWO_PI * t));
Daniel Shiffman 在其教程中的示例代码使用 2D Perlin 噪声,如下所示。
噪声(cos(a)+ 1,sin(a)+ 1);
我的理解是,两者都是通过在噪声空间中“绕圈行走”来实现循环的,如上面的 gif 所示。但我不清楚两者之间的区别。选择 4D OpenSimplex 而不是 2D Perlin Noise 来创建循环噪声的目的是什么?