相关疑难解决方法(0)

为什么这个random()分布看起来不对称?

截图

编辑:这是使用谷歌Chrome 36

我正在弄乱html5画布,生成随机分布在立方体内的点并将其投影到2D画布上.令人惊讶的是,结果看起来并不十分对称,我怀疑Javascript的Math.random()让我感到沮丧.

谁能告诉我为什么会这样?有可能让它看起来实际上是随机的,而不是让它变慢吗?

var ctx = canvas.getContext('2d');

for (var i = 0; i < 10000000; i++) {
    var x = Math.random()*2-1, y = Math.random()*2-1, z = 2+Math.random()*2-1;
    x = (.5 + .5*x/z) * canvas.width;
    y = (.5 + .5*y/z) * canvas.height;
    ctx.fillRect(Math.floor(x), Math.floor(y), 1, 1);
}
Run Code Online (Sandbox Code Playgroud)

http://jsfiddle.net/y10tvj26/(加载需要一段时间)

javascript random google-chrome canvas prng

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

标签 统计

canvas ×1

google-chrome ×1

javascript ×1

prng ×1

random ×1