1

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

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

计算简单如下:

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

轻松如。

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

我真的应该知道这一点,但我的大脑并没有检索到古老的数学(我责怪太多的咖啡)。

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

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

4

2 回答 2

3

您可以使用带有小参数 ( $sf) 的二次调整。这和你的一样$sf=0。但是,您可以调整 $sf 以获得您想要的行为。

$sf=0.2;
$p = $current/$max;
$percent = ceil($p + $sf * ($p *(1-$p) )) * 100);
于 2011-09-19T06:59:56.697 回答
0

一种这样的曲线是正弦曲线。

<?php

$k = 3.1415/2;

$max = 100;

打印 sin(0 / $max * $k) 。"\n";
打印 sin(50 / $max * $k) 。"\n";
打印 sin(100 / $max * $k) 。"\n";

?>

打印:

0
0.70709040200144
0.99999999892691
于 2011-09-19T07:00:01.860 回答