2016-06-22 45 views
1

我發現了一個小數學表達式來找到沿有序周長的曲率。我使用功能bwboundaries獲得了有序的周長。Matlab - 沿着有序的周長計算曲率

要使用它,我開始定義三個座標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適合一個圓並取半徑的倒數,但我不明白爲什麼它給了我曲率...

我畫曲率從藍色到紅色的顏色代碼。

draw of the curvature with a color code

有人可以幫助我更好地理解了什麼我處理!?

謝謝!

+0

什麼是P1 P2和P3?他們在邊界只是3個連續點嗎? –

+0

「我發現了一點數學表達式」在哪裏?無論你在哪裏找到它,它都有一個很好的解釋。 –

+0

p1,p2和p3是邊界中的3個連續點是!不,沒有任何解釋;這就是爲什麼我問。 –

回答

1

向量微積分曲率與二階導數有關。第一個是切線。你將不得不用神祕的方式反轉這個方程來展示它的推導;我不能這樣做。但是,我已經根據我已經知道曲率的情況,幾次得到這個和其他類似的公式。

這裏是關於這個主題的微積分筆記。你看,這是非常相似,你的公式:

Calculus III - Curvature