查找二维平面上测量点之间的点的值
finding value of a point between measured points on a 2D plane
我正在尝试找到最佳的计算方法。在 2D 平面上,我有固定点,所有点都具有瞬时测量值。这些点的坐标是已知的。我想预测这些固定点之间的可移动点的值。可移动点坐标将是已知的。所以点之间的距离也是已知的。
这可以与地形上的温度读数或海拔高度相媲美。在这种情况下,我想通过固定点测量来预测移动点的电离层 TEC。随着时间的推移,固定点测量变得平滑,但我不想将移动点估计的先前值存储在 RAM 中。
某种梯度函数是解决问题的方法吗?
您可以尝试等高线图,尤其是等高线。只需使用点的 delaunay 三角剖分和沿边缘的线性变换。您可以尝试我的 PHP 地理地图实现 https://contourplot.codeplex.com。另一种算法是 Paul Bourke 的 conrec 算法。
这与内插 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 个固定点,因此这将起作用。
我正在尝试找到最佳的计算方法。在 2D 平面上,我有固定点,所有点都具有瞬时测量值。这些点的坐标是已知的。我想预测这些固定点之间的可移动点的值。可移动点坐标将是已知的。所以点之间的距离也是已知的。 这可以与地形上的温度读数或海拔高度相媲美。在这种情况下,我想通过固定点测量来预测移动点的电离层 TEC。随着时间的推移,固定点测量变得平滑,但我不想将移动点估计的先前值存储在 RAM 中。 某种梯度函数是解决问题的方法吗?
您可以尝试等高线图,尤其是等高线。只需使用点的 delaunay 三角剖分和沿边缘的线性变换。您可以尝试我的 PHP 地理地图实现 https://contourplot.codeplex.com。另一种算法是 Paul Bourke 的 conrec 算法。
这与内插 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 个固定点,因此这将起作用。