什么是lerp函数的反转的通用名称?

时间:2014-05-13 18:20:08

标签: function naming-conventions inverse linear-interpolation

函数lerp()是编程语言中的常用函数:

lerp(a, b, t) = a + t * (b - a).

现在对于很多场景,我有一个反函数:

fraction(x, a, b) = (x - a) / (b - a).

此功能构建为

lerp(a, b, fraction(x, a, b)) == x

fraction(lerp(a, b, t), a, b) == t

但是我对名称“分数”不满意。这个函数有一个共同的名字吗?

1 个答案:

答案 0 :(得分:2)

GLSL

GLSL的内置功能包括:

mix(),与您的lerp()功能类似 smoothstep(),其作用类似于反向lerp函数,结合了hermite平滑和x = clamp(x, 0.0, 1.0)

您可以为您的实施考虑名称 linearstep()

Unity Engine

Unity的API包括:

Lerp() / LerpUnclamped()
InverseLerp(),它完全符合你的反lerp函数。

注意:我不会使用名称fraction() - 它似乎很容易与fract() / frac()混淆,后者完全不同。