影响线性百分比计算在开始时更快上升?

时间:2011-09-19 06:50:15

标签: php math curve

我正在进行一个非常基本的进度百分比计算,目前这是一个线性计算:

0 -> 0%
max/10 -> 10%
max -> 100%

计算结果如下:

$max = 4000;
$current = 1450;
$percent = ceil($current/$max*100);

轻松如。

但我需要它让它看起来好像进度条在开始时增加得更快,基本上提升了最初的视觉进度。

我真的应该知道,但我的大脑并没有找回旧的数学(我责怪过多的咖啡)。

我想这是我所追求的一种缓和;我怎样才能改变这个 - 非常简单 - 公式对进展曲线产生不同的影响?

注意:这显然是php,但在任何语言中都应该相同。

2 个答案:

答案 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