上海市闵行区万科七宝国际4幢505 15265578861 j9julebu@www.j9.com

公司新闻

四个格点之间的双线性灰度插值:四角灰度与十一个位置·练习10

2026-11-01

在小地图或纹理的四个已知格点之间取值,可以先沿一轴混合,再沿另一轴混合。写出四个角的权重,可以看清中间值来自哪里,也能检查边界是否落回正确的一条边。

本篇使用一组可以手算或逐行复查的虚构游戏记录。先读清操作顺序与边界,再看完整过程;它不是某一款现有游戏的隐藏公式,也不要求读者安装工具。

规则与输入

四角按左下、右下、左上、右上排列。横纵坐标都在零到一内,先对下边和上边按横坐标插值,再按纵坐标混合两条边的结果。数值是虚构线性灰度,不做编码转换或最后取整。

左下、右下、左上、右上灰度[2, 6, 30, 80] 查询坐标[['0', '0'], ['1', '1'], ['0', '1/2'], ['1/2', '0'], ['3/4', '1/8'], ['1', '1/8'], ['1/2', '1/4'], ['5/8', '7/8'], ['3/4', '1/8'], ['1', '3/8'], ['1/4', '5/8']]

逐步计算与结果

坐标(0,0):下边混合2,上边混合30,再按纵坐标得到2。此点的四角权重为['1', '0', '0', '0']。

坐标(1,1):下边混合6,上边混合80,再按纵坐标得到80。此点的四角权重为['0', '0', '0', '1']。

坐标(0,1/2):下边混合2,上边混合30,再按纵坐标得到16。此点的四角权重为['1/2', '0', '1/2', '0']。

坐标(1/2,0):下边混合4,上边混合55,再按纵坐标得到4。此点的四角权重为['1/2', '1/2', '0', '0']。

坐标(3/4,1/8):下边混合5,上边混合135/2,再按纵坐标得到205/16。此点的四角权重为['7/32', '21/32', '1/32', '3/32']。

坐标(1,1/8):下边混合6,上边混合80,再按纵坐标得到61/4。此点的四角权重为['0', '7/8', '0', '1/8']。

坐标(1/2,1/4):下边混合4,上边混合55,再按纵坐标得到67/4。此点的四角权重为['3/8', '3/8', '1/8', '1/8']。

坐标(5/8,7/8):下边混合9/2,上边混合245/4,再按纵坐标得到1733/32。此点的四角权重为['3/64', '5/64', '21/64', '35/64']。

坐标(3/4,1/8):下边混合5,上边混合135/2,再按纵坐标得到205/16。此点的四角权重为['7/32', '21/32', '1/32', '3/32']。

坐标(1,3/8):下边混合6,上边混合80,再按纵坐标得到135/4。此点的四角权重为['0', '5/8', '0', '3/8']。

坐标(1/4,5/8):下边混合3,上边混合85/2,再按纵坐标得到443/16。此点的四角权重为['9/32', '3/32', '15/32', '5/32']。

边界、角点和内部点均使用同一混合规则,完整记录可复查任一中间值。

怎样独立复核

独立使用四角权重:(一减横坐标)乘(一减纵坐标)、横坐标乘(一减纵坐标)、(一减横坐标)乘纵坐标、横坐标乘纵坐标。四个权重非负且和为一,结果应在角点最小值与最大值之间。

插值并没有找回图像中从未记录的细节。本例只讨论一个方格内的数值混合,方格外延伸、边缘重复、透明度和颜色空间都需要单独约定。交换两轴的计算先后,在本例精确计算条件下应得到相同结果。

练习时可以只改变一个输入,再预测哪一步会最先改变。保留中间记录,检查空状态、相等数值和刚好落在边界的情况。最终结果碰巧相同,并不能证明两个过程等价;反过来,采用不同规则得出不同结果,也不应立即视作程序故障。