typescript生成0-1之间的随机数,满足正太分布,期望值为0.5

正太随机分布,使用typescript语言实现

在游戏的开发过程中,尤其是大量敌人或者怪物出现的时候,希望他们能够随机,但是又不是均匀的随机。希望他们往一点,或者某个区域进行靠拢。这个时候就需要用到正太随机算法。


在使用cocos creator进行游戏开发过程中遇到的问题。
实现双发对抗的游戏过程中,一方攻击城门,一方防守城门。都往城门拥挤,但是攻击方或者防守方,挤不下的时候,需要往两边挤,但是这些出生或者移动的双方,需要随机生成,否则太假了,不符合常理。这个时候就就要,满足正太随机分布。

  1. public static getRandomNumBtw01():number{
  2. let u = Math.random();
  3. let v = Math.random();
  4. let z = Math.sqrt(-2 * Math.log(u)) * Math.cos(2 * Math.PI * v);
  5. z = (z + 3)/6;
  6. //将返回值控制到[0-1]之间
  7. return math.clamp01(z);
  8. }

经测试,该算法可用。

2023-12-21 22:41:08  user 阅读(230) 评论(0) 标签:typescript,随机数,正太随机分布 分类:typescript javascript