相关疑难解决方法(0)

种子比时间更好(0)?

我知道时间(0)通常用于播种随机数生成器,并且当程序每秒运行一次以上时它只会成为一个问题.我想知道在生成随机数时要考虑哪些更好的种子.我在Windows上阅读了有关GetTickCount,timeGetTime和QueryPerformanceCounter的内容.几乎所有的操作都能满足这些要求,还是有更好的播种选择?

这是一个使用boost库的快速代码示例:

#include <iostream>
#include <boost/random.hpp>
using namespace std;
using namespace boost;

int main()
{
    mt19937 randGen(42);
    uniform_int<> range(0,100);
    variate_generator<mt19937&, uniform_int<> > GetRand(randGen, range);

    for (int i = 0; i < 30; ++i)
        cout << GetRand() << endl;
}
Run Code Online (Sandbox Code Playgroud)

c++ random boost

9
推荐指数
3
解决办法
4204
查看次数

用于噪声的伪随机数发生器

我正在尝试使用Lua制作http://freespace.virgin.net/hugo.elias/models/m_perlin.htm中描述的Perlin噪声算法.但是,它不能正常工作,因为Lua不支持按位运算符,这对于该页面上的伪随机数函数是必需的.我尝试使用randomseed(),但我能想出的所有内容都只是制作了奇怪的模式.我需要一个伪随机数生成器,当给定参数x,y和随机种子时,它将生成介于-1和1之间的数字.伪代码很好.

谢谢!

random lua

1
推荐指数
1
解决办法
1589
查看次数

标签 统计

random ×2

boost ×1

c++ ×1

lua ×1