@phaserjs/phaser
Version:
16 lines (15 loc) • 386 B
JavaScript
export function Out(v, amplitude = 0.1, period = 0.1) {
if (v === 0) {
return 0;
} else if (v === 1) {
return 1;
} else {
let s = period / 4;
if (amplitude < 1) {
amplitude = 1;
} else {
s = period * Math.asin(1 / amplitude) / (2 * Math.PI);
}
return amplitude * Math.pow(2, -10 * v) * Math.sin((v - s) * (2 * Math.PI) / period) + 1;
}
}