关闭。这个问题不满足Stack Overflow guidelines .它目前不接受答案。
想改善这个问题吗?更新问题,使其成为 on-topic对于堆栈溢出。
6年前关闭。
Improve this question
例如,我有一个介于 1~100 之间的数字,我需要将其缩放到 20~80 之间。
例子:
1 scales to 20
100 scales to 80
50 scales to 50
最佳答案
您正在寻找一个函数 f 使得:
f(x) = ax +b
f(1)=20
f(100)=80
然后
a+b=20
100a+b=80
你得到 :
99a +20 = 80
then a =60/99=20/33
and b = 20 - 20/33 = 20*(32/33)
看看这个问题了解更多信息:
Invert and convert slider value
注:如果 50 缩放到 40,则您的转换不是线性的。所以你需要寻找另一种类型的函数:
f(x) = ax**2 + b x + c
关于两个限制之间缩放数字的数学方程不是从 0 开始?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7731257/