我需要生成一个0到1之间的数字(用于不透明度),准确反映这个数字的数字:
-249.76684980273333 AND 249.76684980273333
例如,-249.76684980273333将为0.00,而249.76684980273333将为1.00
Pen*_*One 10
做就是了
x / (2.0*M) + 0.5
Run Code Online (Sandbox Code Playgroud)
哪里 M = 249.76684980273333
要解决此类问题,您需要找到描述特定线性方程的公式.等式将您的"大"数字(输入x)映射到0-1(输出y)之间的数字.
您可以使用以下两点的公式:

在你的情况下,因为你已经说过"-249.76684980273333将是0.00,而249.76684980273333将是1.00",那么应该清楚你所感兴趣的两个不同点是:
(x1, y1) = -249.76684980273333, 0.00
(x2, y2) = 249.76684980273333, 1.00
Run Code Online (Sandbox Code Playgroud)
将这些替换为公式,并以类似的形式解决它y = m*x + b,从中您可以轻松编写您的算法.
希望这可以帮助!
function scale(min, max, value) {
return value/(max-min) + min
}
Run Code Online (Sandbox Code Playgroud)
min =范围的最小值,在您的示例中,-249.76684980273333
max =范围的最大值,在您的示例中,249.76684980273333
value =您要测试的值
| 归档时间: |
|
| 查看次数: |
1617 次 |
| 最近记录: |