我一直在努力学习有关产生噪声的问题,并发现我理解了它的大部分,但是我对脚本有点麻烦。JavaScript噪声函数问题
我用this page作为编写this script in JavaScript的指南,其最终目的是在画布上创建一些噪音。
这绝对是在创造一些东西,但是它一直塞到左边。此外,刷新页面似乎一遍又一遍地创建相同的模式。
- 我做错了什么,图像的“嘈杂”部分是在左边?我怎样才能让它看起来更像是多云的珀林噪音?
- 我真的不明白为什么它每次都不会产生新的模式。每次脚本运行时,为了接收一个随机模式,我需要更改哪些内容?
谢谢你的帮忙!
/* NOISE—Tie it all together
*/
function perlin2d(x,y){
var total = 0;
var p = persistence;
var n = octaves - 1;
for(var i = 0; i <= n; i++) {
var frequency = Math.pow(2, i);
var amplitude = Math.pow(p, i);
total = total + interpolatenoise(x * frequency, y * frequency) * amplitude;
}
return total;
}
我没有看到代码中的哪个位置正在改变算法的输入,例如随机数。你的算法是确定性的 - 也就是说,在给定相同的输入的情况下,它们总会给出一致的结果。不知道你的噪音的“smushy”部分。 – Matt
同意马特。在哪里定义了持久性和八度音。如果它总是相同的,那么它总是会返回相同的结果。 – nycynik