d3 数学方法(伪随机数生成器 )

一、正态(高斯)分布(normal (Gaussian) distribution)的随机数

 /*
            var nomarlRandmo = d3.random.normal();
            console.log(nomarlRandom);
                function(){
                    var e,r,i;
                    do 
                    e=2*Math.random()-1,r=2*Math.random()-1,
                    i=e*e+r*r;
                    while(!i||i>1);
                    return n+t*e*Math.sqrt(-2*Math.log(i)/i)
                 }
         */

二、对数分布(log-normal distribution)的随机数

var logRandom = d3.random.logNormal();
        console.log(logRandom);
       /* function(){return Math.exp(n())}*/

三、贝茨分布(Bates distribution)的随机数

var batesRandom = d3.random.bates(count);  //count 指定自变量的个数。

四、欧文霍尔分布 Irwin–Hall distribution的随机数。count指定自变量的个数。

var irwinHallRandom = d3.random.irwinHall(count)

五、d3.transform(string)

/*
         依照SVG的变换属性(transform attribute)的定义,解析给定的2D仿射变换字符串.。
  分解这个字符串为一个由 平移、旋转、X偏移和缩放组成的标准表示。 # transform.rotate 返回此变换的旋转角θ,以度为单位。 # transform.translate 返回此变换的[dx,dy]平移,局部坐标(通常为像素)的两元素数组。 # transform.skew 返回此变换的x的偏移φ ,单位为度。 # transform.scale 返回变换的[kx, ky]缩放,一个两元素数组。 # transform.toString() 返回此转换的字符串表示形式,其形式为 "translate(dx,dy)rotate(θ)skewX(φ)scale(kx,ky)"。
*/

六、数学方法,感觉有点抽象难懂。一时半会理解不了其真谛啊。

原文地址:https://www.cnblogs.com/createGod/p/7289441.html