Math 计算已知颜色点之间的内部颜色值(双线性插值?)

Math 计算已知颜色点之间的内部颜色值(双线性插值?),math,geometry,interpolation,graphics2d,linear-interpolation,Math,Geometry,Interpolation,Graphics2d,Linear Interpolation,这似乎是一个相当初级的数学/图形学问题,但出于某种原因,我似乎无法集中注意力 我得到的是四条线段,勾勒出一个四边形。每条线段上的每个顶点都有一个已知的颜色值。为简单起见,假设每条线段有100个顶点(也称为100个已知颜色点)。示例可能如下所示: 我需要做的是,根据轮廓上点的颜色,渲染一个每个内部像素都着色的实心四边形。最明显的方法是(不为每个100*100颜色点指定顶点)首先使用每个插值颜色值生成一个100x100位图,然后将其作为纹理应用于四边形。我只是不知道如何计算这些内部颜色值 这似乎是

这似乎是一个相当初级的数学/图形学问题,但出于某种原因,我似乎无法集中注意力

我得到的是四条线段,勾勒出一个四边形。每条线段上的每个顶点都有一个已知的颜色值。为简单起见,假设每条线段有100个顶点(也称为100个已知颜色点)。示例可能如下所示:

我需要做的是,根据轮廓上点的颜色,渲染一个每个内部像素都着色的实心四边形。最明显的方法是(不为每个100*100颜色点指定顶点)首先使用每个插值颜色值生成一个100x100位图,然后将其作为纹理应用于四边形。我只是不知道如何计算这些内部颜色值

这似乎是一个双线性插值的问题,但由于我不想在四个已知的角点内找到值,而是在一个已知颜色点的“+”的交点处,我一直感到困惑。我的数学有点生疏:P

作为一个例子,我如何计算在四元组中间的点(50,50)的颜色值-在(0,50),(50,0),(50100),和(100,50)的已知颜色点?这是双线性插值,还是完全其他的东西


提前谢谢

这看起来像一个带有的(即,值在边界处指定)。使用双线性插值无法解决此问题,因为通常情况下(如果有四个以上的输入点),与边缘像素相邻的像素不会与其直接相邻像素具有连续的颜色


你需要解决的主要问题是一个相当平滑的方程,它在边界上总是给出一个接近它的邻居的颜色值,并且有多个选项。最明显的是,这基本上就像在边界处将一块橡胶板固定到每个颜色通道的值上,然后让它放松。解拉普拉斯不是一件小事,因为你需要为每一组新的边界条件模拟橡胶板,但这很常见,因此你可以用几乎任何语言寻找解算器或示例。

这看起来像是一个with(也就是说,值是在边界处指定的)。使用双线性插值无法解决此问题,因为通常情况下(如果有四个以上的输入点),与边缘像素相邻的像素不会与其直接相邻像素具有连续的颜色


你需要解决的主要问题是一个相当平滑的方程,它在边界上总是给出一个接近它的邻居的颜色值,并且有多个选项。最明显的是,这基本上就像在边界处将一块橡胶板固定到每个颜色通道的值上,然后让它放松。解拉普拉斯不是一件小事,因为你需要为每一组新的边界条件模拟橡胶板,但这很常见,因此你可以用几乎任何语言寻找解算器或示例。

嗯,沿边缘的颜色或多或少是连续的,即不会有任何特别剧烈的变化。数据点实际上是通过将雷达在地面上推成直线获得的土壤密度测量值;我们希望通过在显式收集的值(颜色线)之间插值来“完成”图片。以前我们只是沿着一个轴传递,所以在平行线之间传递很容易。现在我们跨越另一个轴来添加更多细节。在这种情况下,双线性插值不是一个可接受的近似值?当我写我的答案时,我正在考虑这样的情况。一般来说,答案是否定的。具体地说,如果你在两条平行边之间进行lertp,然后拿回垂直边,那么是的,我想你可以进行lerp,但事实通常不是这样。通常,如果需要填充所有四条边是连续的,则需要平等地考虑所有四条边,而拉普拉斯解(或其他边界值解)可以做到这一点。此外,由于这是一个物理系统,拉普拉斯很容易证明和解释。。。这只是最简单的边界值系统。而且,“沿边缘的颜色或多或少是连续的”不是我指的问题。相反,我的意思是,考虑一下你测量过的最值的一行。现在你如何填写这下面的行?该行需要与顶行平滑,但在端点(垂直数据点的顶部)也需要平滑。我看不到一种方法来保证所有这些条件都得到满足(以及所有其他方面),除非你特别将其构建到解中,而双线性插值不能做到这一点。啊,是的,这是有意义的。听起来这确实会成为解决方案——非常感谢您深思熟虑(快速)的反馈!)嗯,沿边缘的颜色或多或少是连续的,即不会有任何特别剧烈的变化。数据点实际上是通过将雷达在地面上推成直线获得的土壤密度测量值;我们希望通过在显式收集的值(颜色线)之间插值来“完成”图片。以前我们只是沿着一个轴传递,所以在平行线之间传递很容易。现在我们跨越另一个轴来添加更多细节。在这种情况下,双线性插值不是一个可接受的近似值?当我写我的答案时,我正在考虑这样的情况。一般来说,答案是否定的。具体地说,如果你在两条平行边之间进行lertp,然后拿回垂直边,那么是的,我想你可以进行lerp,但事实通常不是这样。一般来说,如果需要连续填充