我正在进行一个非常基本的进度百分比计算,目前这是一个线性计算:
0 -> 0%
max/10 -> 10%
max -> 100%
计算结果如下:
$max = 4000;
$current = 1450;
$percent = ceil($current/$max*100);
轻松如。
但我需要它让它看起来好像进度条在开始时增加得更快,基本上提升了最初的视觉进度。
我真的应该知道,但我的大脑并没有找回旧的数学(我责怪过多的咖啡)。
我想这是我所追求的一种缓和;我怎样才能改变这个 - 非常简单 - 公式对进展曲线产生不同的影响?
注意:这显然是php,但在任何语言中都应该相同。
答案 0 :(得分:3)
您可以使用小参数($sf
)进行二次调整。
这与$sf=0
的相同。但是你可以通过调整$ sf来获得你想要的行为。
$sf=0.2;
$p = $current/$max;
$percent = ceil($p + $sf * ($p *(1-$p) )) * 100);
答案 1 :(得分:0)
一条这样的曲线是正弦曲线。
<?php $k = 3.1415/2; $max = 100; print sin(0 / $max * $k) . "\n"; print sin(50 / $max * $k) . "\n"; print sin(100 / $max * $k) . "\n"; ?>
打印:
0 0.70709040200144 0.99999999892691