Tag: prng

这个GLSL rand()单线程的起源是什么?

我已经看到这个伪随机数发生器用于在这里和那里提到的着色器周围的networking : float rand(vec2 co){ return fract(sin(dot(co.xy ,vec2(12.9898,78.233))) * 43758.5453); } 它被称为“规范”,或者“我在网上find的一行代码”。 这个function的起源是什么? 这些不变的价值观是否随意,或者是否有一些艺术可供select? 有没有关于这个function的优点的讨论? 编辑:这个function的最古老的引用,我已经遇到这个从2008年2月的档案 ,原来的网页现在正在从网上消失。 但是除此之外,没有更多的讨论。

真随机数发生器

对不起,这不是一个“真正的”问题,但有时候我记得在这里看到一个post,随机随机随机随机生成真正的随机数字,而不只是伪随机。 我没有看到它,如果我search它。 有人知道那篇文章吗?

可逆的伪随机序列发生器

我想要一些方法来创build一个相当长的随机数字序列 ,我可以翻转来回 。 就像一台带有“下一个”和“上一个”button的机器,它会给你随机的数字。 像10位分辨率(即在从0到1023的范围内的正整数)就足够了,并且一个> 100k数字的序列就足够了。 这是一个简单的游戏types的应用程序, 我不需要encryption强度随机性或任何东西,但我希望它感觉相当随机。 虽然我有一个有限的内存 ,所以我不能只生成一大块随机数据,并通过它。 我需要在“互动时间”中得到这些数字 – 我可以轻松地花几个小时来思考下一个数字,但是不能轻松得多。 最终它会运行在某种微控制器上,可能只是一个Arduino。 我可以用一个简单的线性同余发生器(LCG)来完成。 向前走是简单的,为了倒退,我不得不caching最近的数字,并间隔存储一些点,所以我可以从那里重新创build序列。 但也许有一些伪随机发生器,让你去前锋和前锋? 应该可以连接两个线性反馈移位寄存器(LFSR)以便在不同的方向上滚动,否? 或者,也许我可以通过使用某种哈希函数篡改索引号? 我要先尝试一下。 任何其他的想法?

获取Java中的随机数字

可能重复: Java:在一个范围内产生随机数 我想在Java中得到1到50之间的随机值。 我怎么可以在Math.random();的帮助下做到这一点Math.random(); ? 如何限制Math.random()返回的值?