matlab中的曲面插值

matlab中的曲面插值,matlab,interpolation,Matlab,Interpolation,有人知道如何在两个已知的横截面之间获得新的横截面吗? 让我详细说明一下:我有几个三维对象的横截面(每个横截面由一个N*2矩阵组成,代表点(X,Y)的坐标,每个横截面与某个Z坐标相关),我们称之为控制横截面。但我不知道如何利用已知的数据得到更多的横截面。三维物体的表面应该非常光滑,即横截面i沿Z方向逐渐改变为相邻横截面i+1 欢迎任何建议^ ^首先,通过Delaunay三角剖分插值控制横截面点,以确定控制横截面笛卡尔网格节点上的值。然后,您可以在x、y坐标相同但z坐标不同的点之间进行1d插值,以获

有人知道如何在两个已知的横截面之间获得新的横截面吗? 让我详细说明一下:我有几个三维对象的横截面(每个横截面由一个N*2矩阵组成,代表点(X,Y)的坐标,每个横截面与某个Z坐标相关),我们称之为控制横截面。但我不知道如何利用已知的数据得到更多的横截面。三维物体的表面应该非常光滑,即横截面i沿Z方向逐渐改变为相邻横截面i+1


欢迎任何建议^ ^

首先,通过Delaunay三角剖分插值控制横截面点,以确定控制横截面笛卡尔网格节点上的值。然后,您可以在x、y坐标相同但z坐标不同的点之间进行1d插值,以获得更多横截面

使用interp3()谢谢,但interp3在我的情况下可能没有用处。由于每个横截面上的点具有相同的Z坐标,并且不同横截面之间没有函数关系。如果横截面是相同数据在不同Z值下的横截面,那么它们之间怎么可能没有关系?interp3()不精确;你刚才所说的是什么。也许你可以发布一些你想要的输入和输出的例子?或者重新表述这个问题?它们不是相同数据在不同Z值下的横截面。每个横截面都有自己的形状,不同于其他横截面。这就是为什么我说“横截面I沿Z方向逐渐变为相邻横截面I+1”。你还说它们是3D对象在不同Z坐标下的横截面,这意味着它们是数据集的横截面。当然,它们可以有不同的形状,这不是问题。如果三维数据的横截面具有定义的间隔,并且希望以更精细的间隔查找横截面,则这就是插值。您的数据只是表示对象所在位置的二进制数据吗?因为这样你就可以对插值进行四舍五入,这样就可以找到中间形状(即你的3D形状在控制/已知横截面之间的横截面)。非常感谢。我会试试,“然后你可以在x,y坐标相同,z坐标不同的点之间进行一维插值,得到更多的横截面”。是的,也许我误解了你的答案,或者我没有把我的问题描述清楚。事实上,我有关于每个横截面上点的笛卡尔坐标的所有数据。在相邻横截面上,x、y坐标相同的点可能少于3个。我不太清楚为什么在我的案例中使用Delaunay三角测量。。。你能解释清楚一点吗?非常感谢你!