守得云开见月明 首页 关于

《代码本色》之随机数

2018-05-01 / Juexe / 懒得分类

《代码本色》这本书其实是讲关于模拟自然规律的算法,以 Processing 作为编程语言进行了算法的编写和介绍,非常炫酷有趣,本次仅摘出随机数部分的“精髓”内容记录。

另外,我觉得游戏开发和数据可视化非常值得看下此书。

伪随机数

// 返回一个 0.0 ~ 4.0 的浮点数
random(4);

随机并控制一定概率

float a = random(4);
if(a < 1.0){
    // 四分之一概率
}else{
    // 四分之三概率
}

正态分布随机数

正态分布也称高斯分布

// 返回一个大约在 (-3,3) 之间的浮点数
// 而且返回结果大部分在 0 附近
float h = randomGaussian();

柏林噪声

一维空间

float t;
void draw(){
    // 总是返回一个 0.0~1.0之间的随机数,具有一定连贯性
    float n = noise(t); 
    t+=0.01; // t变化越小,噪声越平滑,反之波动越大
}

二维空间

noise(t1,t2);

Perlin 噪声应用广泛。

 

(完)

添加评论

Powered by Typecho and Theme by Juexe © 2018 Juexe