找到2D平面上测量点之间的点的值

时间:2015-06-22 12:25:41

标签: geometry gradient geospatial

我正在努力寻找计算这个的最佳方法。在2D平面上,我有固定点都具有瞬时测量值。这些点的坐标是已知的。我想预测这些固定点之间的可移动点的值。可动点坐标将是已知的。所以这些点之间的距离也是已知的。 这可以与温度读数或地形上的高度相比较。在这种情况下,我想要从固定点测量值预测移动点的电离层TEC。固定点测量随着时间的推移而平滑,但是我不希望将先前的移动点估计值存储在RAM中。 会有某种渐变功能成为这里的方式吗?

2 个答案:

答案 0 :(得分:1)

您可以尝试等高线图,尤其是等高线。只需使用点的delaunay三角剖分和沿边缘的线性变换。您可以尝试我的PHP实现https://contourplot.codeplex.com用于地理地图。另一种算法是Paul Bourke的conrec算法。

答案 1 :(得分:1)

这与插入height of a point from a triangle的算法相同。

在你的情况下,你没有高度的z值,但是每个三角形顶点都有一些其他的浮点值,但它是相同的概念,仍然是3D点。

如果你有3D三角形点p,q,r和测试点pt,那么上面的mathgem中的伪代码是这样的:

Vector3 v1 = q - p;
Vector3 v2 = r - p;
Vector3 n = v1.CrossProduct(v2);

if n.z is not zero
  return ((n.x * (pt.x - p.x) + n.y * (pt.y - p.y)) / -n.z) + p.z

正如您在对@Phpdevpad的评论中指出的那样,您确实有3个固定点,这样就可以了。