3

我今天早些时候得到了这个答案,关于如何将随机数种子扭曲到范围的一个边界:

var random = Math.pow(Math.random(), 2);

但这显然会沿着指数曲线扭曲它。我怎样才能使它成为线性的?

另外,有点相关:我刚刚创建了这个简单的脚本来可视化不同类型的分布。这可能对这个问题有帮助:http: //jsfiddle.net/RTbrL/

4

2 回答 2

2

听起来您在描述单边三角形分布

如果是这样,请尝试

var random = 1.0 - Math.sqrt(Math.random());

或者

var random = Math.abs(Math.random() - Math.random());
于 2012-11-21T17:27:16.223 回答
1

像这样?

var rand = Math.ceil( Math.random() * 5 ) % 5;

rand从 0 到 4。

Javascript 中的 % 是模数

于 2012-11-19T16:01:30.863 回答