1

在我的项目中,我处理大数据表面。

在某个点,我有一条横跨数据的线,我需要线的点的值。

网格是非均匀的,它没有n:m固定的步骤,也没有任何东西。

让我们说明一下!在图中可以看到我的数据的 2D 投影。每个点还有其他3个数据信息。我用 y=ax+b 的形式定义了一条任意红线。a 和 b 是已知的。

我怎样才能定义线中的 50 个点,这些点不仅具有 x 和 y 坐标(这是直截了当的),而且还具有它周围每个点的 3 个数据信息的插值。

在此处输入图像描述

我知道这不是一个简单的问题,但我似乎无法向前迈进一点。

PD:意识到我不想为我编写代码,而是想知道如何实现我的目标。

4

2 回答 2

1

您可以使用 triScatteredInterp 之类的工具,该工具将对二维域进行三角测量,然后沿您的线插入一个点列表。Griddata 也是一种选择。

我有一个解决此类问题的工具箱(当然。)它允许我在 (x,y) 平面上构建非凸域的三角剖分。然后它可以通过该表面形成一个完全通用的切片,同时在 z 中插值。结果将是一个 1 流形,在这种情况下是沿 (x,y,z) 中的该路径的分段线性函数。虽然这些工具没有发布在文件交换中,但愿意花时间学习使用它们的人可以使用它们。

如果您描述的表面是一个完全通用的 3-d 表面,这可能相当复杂,那么您可能需要一个基于 CRUST 的工具来定义该表面三角剖分。这些也可以在网上找到。一旦三角测量可用,我的工具就可以用来对它们进行切片。(对不起,我没有完成那篇文章。)

于 2013-07-06T15:51:35.807 回答
0

我所做的是在裂纹线上定义几个点,然后用 matlab 函数检查它们中的每一个,它是四边形的inpoligon(不是最快的方法,但不到 2 秒)。

然后我使用 x,y 和 Z 或其他数据在使用的四边形中创建了一个三角形平面,实现了数据之间的线性插值。

最后,我取出所有 0 o Nan 的分数。

于 2013-07-07T18:05:20.013 回答