【问题标题】:finding gradient/curvature of surface defined by arbitrary, non-grid-spaced points查找由任意非网格间隔点定义的曲面的梯度/曲率
【发布时间】:2013-07-25 15:08:11
【问题描述】:

所以我有一个 3 维点矩阵(大概)定义了一个表面。出于我的目的,X 和 Y 可以是随机值,但是当与它们的 Z 坐标一起绘制时,它们将定义一些起伏的表面。我想测量所述表面的局部曲率,为了做到这一点,我需要能够找到所述表面的梯度,此时计算曲率是微不足道的。

我还没有找到一个不使用 Matlab 的梯度函数来测量这个曲率的实现。 Matlab 的梯度函数的问题在于它假设点是按某种顺序排列的,类似于 diff(X)。如果我的点沿网格隔开就足够了,但不一定如此。

测量梯度的一个可能解决方案是让步并将每个点分配给 XY 平面网格中的离散坐标,从而克服这个问题。但是,此解决方案似乎有些不雅,并且很想知道是否有人有建议。谢谢!

【问题讨论】:

    标签: matlab


    【解决方案1】:

    您可以使用 griddata 从分散的数据点插值到网格间隔点,然后计算梯度。

    【讨论】:

    • 谢谢 - 这是我在第 3 段中的想法,但如果解决方案波动剧烈,这个解决方案似乎不是很好。我想尽量减少算法本身的噪音。
    • 最后有没有找到最好的方法。我有同样的问题,griddata 给出了很大的错误,特别是靠近不遵循 x 和 y 坐标的方向的点。
    • 我正在考虑采用最小二乘法,但我愿意接受建议
    猜你喜欢
    • 2013-04-28
    • 1970-01-01
    • 2020-12-25
    • 1970-01-01
    • 1970-01-01
    • 2017-12-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多