【发布时间】:2015-04-05 18:57:20
【问题描述】:
我正在尝试实现这个我将用于值噪声的随机函数:
float random(int x, int y){
int r;
float s;
srand(y*hgrid+x+seed);
r=rand();
s = (float)(r & 0x7fff)/(float)0x7fff;
return (s);
}
正如这个函数的作者所说(https://code.google.com/p/fractalterraingeneration/wiki/Value_Noise):
需要注意的是,有些编译器有自己的 RNG,所以 这可能不适用于所有人。 Visual C++ 2008 特别是 麻烦,但是 Linux 上的 GCC 可以完美运行。
所以我在 Windows 上尝试了它,使用 mingw。输出真的很奇怪,因为它给了我从 0.0 到 1.0 的不断增长的数字。
虽然在 linux 上,但它的工作原理应该是,从 0.0 到 1.0 的随机数。
由于我使用的是 mingw,它应该类似于 gcc,所以我期待一些工作方式相同。
为什么它不起作用?有没有办法让它工作?
【问题讨论】: