D3 为什么我的随机数不起作用

d3 why is my random number not working?

本文关键字:不起作用 随机数 我的 为什么 D3      更新时间:2023-09-26

particlesDepthBlur不起作用?

<canvas id="canvas"></canvas>
<script src="http://d3js.org/d3.v3.min.js"></script>
<script>
var num = 20000;
var canvas = document.getElementById("canvas");
var width = canvas.width = 960;
var height = canvas.height = 500;
var ctx = canvas.getContext("2d");
var particles = d3.range(num).map(function(i) {
  return [Math.round(width*Math.random()), Math.round(height*Math.random())];
});
var particlesDepthBlur = (function() { Math.random();})();
d3.timer(step);
function step() {
  ctx.fillStyle = "rgba(0,0,0,1)";
  ctx.fillRect(0,0,width,height);
  ctx.fillStyle = "rgba(255,255,255,particlesDepthBlur)";
  particles.forEach(function(p) {
    p[0] += Math.round(2*Math.random()-1);
    p[1] += Math.round(2*Math.random()-1) + 2;
    if (p[0] < 0) p[0] = width;
    if (p[0] > width) p[0] = 0;
    if (p[1] < 0) p[1] = height;
    if (p[1] > height) p[1] = 0;
    drawPoint(p);
  });
};
function drawPoint(p) {
  ctx.fillRect(p[0],p[1],1,1);
};
</script>
<style>
html, body { margin: 0; padding: 0; }
</style>
var particlesDepthBlur = function() {
  return Math.random();
};
ctx.fillStyle = "rgba(255,255,255," + particlesDepthBlur() + ")";