Mag*_*igo -2 java random simplex
所以我发现这个有用的网站有很多代码和解释perlin和单纯形噪声.但是,代码是用不同的语言编写的.我能够为java重写大部分内容,但是有一个函数1.我不明白,而且2.我不知道如何在java中编写它.代码是:
function IntNoise(32-bit integer: x)
x = (x<<13) ^ x;
return ( 1.0 - ( (x * (x * x * 15731 + 789221) + 1376312589) & 7fffffff) / 1073741824.0);
end IntNoise function
Run Code Online (Sandbox Code Playgroud)
同样,我不知道它是用什么语言编写的.但是,作者声明该函数返回-1到1之间的随机数.有人可以解释&符号的确切含义吗?为什么有一堆看似随机的数字呢?有没有一种简单的方法将其转换为java?
内部部分对数字进行哈希处理,&并将/此哈希值转换为0到2之间的数字,因此当您执行1 - (..)-1到1之间的数字时.
获取-1和1之间的随机数的Java方法是
return Math.random() * 2 - 1;
Run Code Online (Sandbox Code Playgroud)
或者如果你需要使用种子
return new Random(x).nextDouble() * 2 - 1;
Run Code Online (Sandbox Code Playgroud)