C 或 Obj-c 函数将范围标准化为 x-y
C or Obj-c function to normalize range to x-y
我的输出范围是 150-0。我想将它们映射到 0 到 1。或者可能是 0 到(某些值小于 1,例如 0.5),其中 150 是 0,0 是 1(或某些值小于..)。
这算是插值吗?得出这些值的公式是什么?但最好有我可以调用的内置 StdLib 函数吗?
将您的数字除以(最大值 - 最小值)。这将使 150 成为 1,而 0 将成为 0,其他一切都是介于两者之间的数字。现在,要使其相反,只需执行 1 - 结果。
如果您需要将 0-1 映射到任何自定义范围,您需要将范围乘以 MAX-MIN
,然后加上 MIN
以获得范围内的确切数字。
公式将是 MIN + (MAX-MIN)*value
其中value
是0-1之间的范围;
MIN
是映射到 0 的数字;
MAX
是映射到 1 的数字;
我的输出范围是 150-0。我想将它们映射到 0 到 1。或者可能是 0 到(某些值小于 1,例如 0.5),其中 150 是 0,0 是 1(或某些值小于..)。
这算是插值吗?得出这些值的公式是什么?但最好有我可以调用的内置 StdLib 函数吗?
将您的数字除以(最大值 - 最小值)。这将使 150 成为 1,而 0 将成为 0,其他一切都是介于两者之间的数字。现在,要使其相反,只需执行 1 - 结果。
如果您需要将 0-1 映射到任何自定义范围,您需要将范围乘以 MAX-MIN
,然后加上 MIN
以获得范围内的确切数字。
公式将是 MIN + (MAX-MIN)*value
其中value
是0-1之间的范围;
MIN
是映射到 0 的数字;
MAX
是映射到 1 的数字;