函数 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
但是我对“分数”这个名字不满意。这个函数有通用名称吗?
函数 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
但是我对“分数”这个名字不满意。这个函数有通用名称吗?
GLSL 的内置函数包括:
mix()
,它就像你的lerp()
函数一样工作。
smoothstep()
,它的工作原理类似于您的反 lerp 函数与 Hermite 平滑和x = clamp(x, 0.0, 1.0)
.
您可以考虑linearstep()
实施的名称。
Unity 的 API 包括:
Lerp()
/ ,这正是你的逆 lerp 函数所做的。LerpUnclamped()
InverseLerp()