考虑以下线性插值的实现:
lerp(x1, x2, y1, y2, x) = y1 * (x - x2) / (x1 - x2) + y2 * (x - x1) / (x2 - x1)
假设 IEEE 754 浮点运算,
x1 <= x <= x2
是否意味着 y1 <= lerp(x1, x2, y1, y2, x) <= y2
?如果没有的话可以举个反例吗
不。使用 IEEE-754 二进制 32,
x1
= 1.00000216,
x
= 1.00000416,
x2
= 1.00002816,
y1
= 1.00000816,并且
y2
= 1.00000A16 产生线性插值结果 1.00000616,小于 y1
。