C或Obj-c函数将范围标准化为x-y

时间:2015-08-21 17:28:51

标签: objective-c c math range interpolation

我的输出范围是150-0。我想将它们映射到0到1.或者0到(某些值小于1,如0.5),其中150是0,0是1(或者某些值小于..)。

这被认为是插值吗?推导出这些价值的公式是什么?但最好是,我可以调用内置的StdLib函数吗?

2 个答案:

答案 0 :(得分:2)

将您的数字除以(最大 - 最小)。这将使150为1,0将为0,其他所有数字介于两者之间。现在,为了使它相反,只做1 - 结果。

答案 1 :(得分:1)

如果您需要将0-1映射到任何自定义范围,则需要将范围乘以MAX-MIN,然后将MIN添加到其中以获取范围内的确切数字。

公式为MIN + (MAX-MIN)*value

其中value的范围介于0-1之间;        MIN的数字映射为0;        MAX的数字映射为1;