1

私は非常に基本的な進捗率の計算を行っていますが、現時点では線形計算です:

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

計算は単純に次のようになります。

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

として簡単。

しかし、プログレスバーが最初に速く増加するように見えるようにする必要があり、基本的に最初の視覚的な進行を後押しします.

私は本当にそれを知っているべきですが、私の脳は古い数学を取得していません(私はコーヒーが多すぎるのが原因です).

私が求めているのは一種の緩和だと思います。この非常に単純な式を変更して、進行曲線に異なる影響を与えるにはどうすればよいですか?

注: これは明らかに php ですが、どの言語でも同じはずです。

4

2 に答える 2

3

小さなパラメーター ( $sf) で 2 次調整を使用できます。これは、あなたのものと同じです$sf=0。ただし、 $sf を微調整して、必要な動作を取得できます。

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

そのような曲線の 1 つが正弦曲線です。

<?php

$k = 3.1415/2;

$最大 = 100;

sin(0 / $max * $k) を出力します。"\n";
print sin(50 / $max * $k) . "\n";
print sin(100 / $max * $k) . "\n";

?>

それは印刷します:

0
0.70709040200144
0.99999999892691
于 2011-09-19T07:00:01.860 に答える