【发布时间】:2018-09-21 18:12:19
【问题描述】:
我很确定这是一种常见的模式,但我正在寻找将一个数字范围与另一个数字范围匹配的模式的名称。类似的东西:
Map(from1: 60, to1: 90, from2: 100, to2: 140, value: 75); // Result: 120 (middle of from2/to2)
Map(from1: 60, to1: 90, from2: 100, to2: 140, value: 30); // Result: 100 (clamped bottom)
Map(from1: 60, to1: 90, from2: 100, to2: 140, value: 60); // Result: 100 (bottom)
Map(from1: 60, to1: 90, from2: 100, to2: 140, value: 500); // Result: 140 (clamped to2)
Map(from1: 60, to1: 90, from2: 100, to2: 140, value: 85); // Result: 133.33 (in between)
这个方法的名称是什么?我专门在 Unity 中寻找解决方案,但我很确定如果我知道模式的名称我能找到它。
【问题讨论】:
-
我称之为线性插值。
numpy.interp将自己描述为“分段线性插值”,在len(xp) == len(fp) == 2的情况下,它具有您所描述的行为,包括钳位。例如。numpy.interp(85, [60, 90], [100, 140])->133.33333333333331.