“蝉原则”与CSS3随机多背景随机圆角 阅读笔记

“蝉原则”:以质数作为循环周期来增加“自然随机性”的策略
使用场景:最小成本实现更自然的随机效果

质数

质数定义为在大于1的自然数中,除了1和它本身以外不再有其他因数的数称为质数

image

1
2
3
4
5
6
7
8
9
function isPrime(n) {
if (n <= 3) { return n > 1; }
if (n % 2 == 0 || n % 3 == 0) { return false; }
for (var i = 5; i * i <= n; i += 6) {
if (n % i == 0 || n % (i + 2) == 0) { return false; }
}
return true;
}

模拟素数

1
2
3
4
5
6
2n+1;
3n+2;
5n+3;
7n+5;
11n+7;
13n+11;

案例

随机多背景

CSS3 border-radius随机圆角效果