【发布时间】:2013-03-12 06:22:48
【问题描述】:
我正在开发一个基于种子整数和其他两个整数的 Perlin 噪声生成器:x 和 y。
到目前为止,伪随机数生成器如下所示:
private float noise(int x, int y) {
int n = x + y * seed;
return (1.0f - ((n * (n * n * 15731 + 789221) + 1376312589) & 0x7fffffff) / 1073741824f);
}
但是这种实现存在一些问题:首先,返回间隔不是恒定的(理想情况下,我希望使用 [-1, 1] 或 [0, 1])并且对于负 x 和 y值,图案变得块状,看起来根本不是有机的。 有没有办法改变我的公式(或者可能是一个全新的公式)以使其符合我的需求?
【问题讨论】:
-
请提供更多关于您想要实现的目标的信息。
-
我需要一个伪随机数生成器,它基于 3 个种子(实际种子 x 和 y,它们都是整数)工作,生成从 -1 到 1 的浮点数,并且在负输入为给定的。
-
这是 JAVA 吗?看起来像。
-
它是java,抱歉没有在问题中说出来。
标签: random numbers random-seed noise-generator