C# 计算图上已知点之间的权重?

C# 计算图上已知点之间的权重?,c#,arrays,math,map,C#,Arrays,Math,Map,假设我有一个5x5的数组。如果我知道以下点[1,1]=40、[1,3]=50、[3,1]=60、[3,3]=70,我如何计算数组中的每个未知点?基本上我在做一个梯度地图的算法,比如说,地图上的温度 谢谢我将用伪代码为您展示算法,以找到任意点p的权重 Find the two point p1 and p2 that are on the "left" and "right" of p distance = distance(p1, p2) distance_p1 = distance(p, p1

假设我有一个5x5的数组。如果我知道以下点[1,1]=40、[1,3]=50、[3,1]=60、[3,3]=70,我如何计算数组中的每个未知点?基本上我在做一个梯度地图的算法,比如说,地图上的温度


谢谢

我将用伪代码为您展示算法,以找到任意点p的权重

Find the two point p1 and p2 that are on the "left" and "right" of p
distance = distance(p1, p2)
distance_p1 = distance(p, p1)
weight_diff = p1.weight - p2.weight
weight_p = p1.weight + (distance_p1 / distance) * weight_diff
如果有什么不清楚的地方,请告诉我


编辑:这假设点之间存在线性插值。

这更像是一个数学问题,而不是编程问题,但奇怪的是,有一个类似的线程,所以:首先找到所需的数学,然后我们将展示实现该问题的代码。我不太清楚你所说的“计算数组中的未知点”是什么意思。为了补充以上的评论:假设你使用放置在棋盘上的不同长度的棍子对这种情况进行物理建模。很容易看出,有无限多的曲面适合您拥有的点-首先决定如何选择所需的曲面,然后确定如何计算中间值,然后确定如何对其进行编码。可能有帮助。它是带边界条件的导热的静态梯度吗?发生放热反应(例如燃烧或核衰变)的介质?炉墙隔热层不充分?这三种情况将有非常不同的解决方案。这实际上是针对不同发电站之间的能量频率。它的工作原理与天气图上的温度完全相同。在每秒绘制大约1000条数据之前,我试图简化它,以确保我的数学是正确的。