【发布时间】: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 个连续点,是的!不,根本没有解释;..这就是我问的原因。
-
你在哪里找到的? 给我们看