【问题标题】:Matlab - calculate curvature along an ordered perimeterMatlab - 计算沿有序周长的曲率
【发布时间】:2016-06-22 09:59:37
【问题描述】:

我找到了一个小数学表达式来计算沿有序周长的曲率。我使用函数bwboundaries 得到了有序的周长。

为了使用它,我开始定义三个坐标 p1,p2 和 p3,它们是列向量 x,y。

    % the part above extract the three coordinates into row vectors y,x.
    % That's why I flip and transpose them.

    p1=outlineCoords(i,:);
    p2=outlineCoords2;
    p3=outlineCoords3;

    p1 = fliplr(p1);
    p2 = fliplr(p2);
    p3 = fliplr(p3);

    p1 = p1.';
    p2 = p2.';
    p3 = p3.';

这是数学表达式:

curVec(i) = 2*det([p1-p3,p2-p1])/(norm(p1-p3)*norm((p2-p1)*norm(p2-p3)));

我不喜欢使用我不理解的东西。我认为对于我的轮廓的每个点,它通过 p1、p2 和 p3 拟合一个圆并取半径的倒数,但我不明白为什么它给了我曲率...

我用从蓝色到红色的颜色代码绘制曲率。

有人可以帮助我更好地理解我在处理什么!?

谢谢!

【问题讨论】:

  • 什么是 p1 p2 和 p3?它们只是边界中的 3 个连续点吗?
  • “我找到了一个小数学表达式”在哪里?可能无论你在哪里找到它都有一个很好的解释。
  • p1,p2 和 p3 是边界中的 3 个连续点,是的!不,根本没有解释;..这就是我问的原因。
  • 你在哪里找到的? 给我们看

标签: matlab math contour


【解决方案1】:

在向量微积分中,曲率与二阶导数有关。第一个是切线。您必须以神秘的方式反转该等式以显示其推导;这是我做不到的。但是,根据我已经知道的曲率,我已经多次得出该公式和其他类似公式。

这是有关该主题的微积分笔记。您会发现它与您的方程式非常相似:

Calculus III - Curvature

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多