用于在两个极限之间缩放数字的数学公式从0开始?

Bil*_*ill 5 math

例如,我有一个1到100之间的数字,我需要将它缩放到20~80之间.

例子:

1 scales to 20
100 scales to 80
50 scales to 50
Run Code Online (Sandbox Code Playgroud)

Ric*_*bby 9

你正在寻找一个函数f,以便:

f(x) = ax +b

f(1)=20
f(100)=80
Run Code Online (Sandbox Code Playgroud)

然后

a+b=20
100a+b=80
Run Code Online (Sandbox Code Playgroud)

你得到 :

99a +20 = 80

then a =60/99=20/33
and b = 20 - 20/33 = 20*(32/33)
Run Code Online (Sandbox Code Playgroud)

有关更多信息,请查看此问题:

反转和转换滑块值

注意:如果50缩放到40,则转换不是线性的.所以你需要寻找另一种类型的功能:

f(x)= ax**2 + bx + c