OpenCV:已知三角形的兩邊 求夾角的問題(餘弦定理)

// 找餘弦角度: 線段pt0-pt1 和線段 pt0-pt2:


double angle( Point pt1, Point pt2, Point pt0 ) { 


double dx1 = pt1.x - pt0.x;

double dy1 = pt1.y - pt0.y;double dx2 = pt2.x - pt0.x;

double dy2 = pt2.y - pt0.y;


double ratio; //矩形長和寬平方的比 ratio=(dx1*dx1+dy1*dy1)/(dx2*dx2+dy2*dy2); 
if (ratio<0.8 || 1.2<ratio) { //根據矩形長寬平方比淘汰四邊形

return 1.0;

}


return (dx1*dx2 + dy1*dy2)/sqrt((dx1*dx1 + dy1*dy1)*(dx2*dx2 + dy2*dy2) + 1e-10);//???

}


已知三角形的兩條邊求夾角的問題,我記得公式是 cos C=(a^2+b^2-c^2) / (2*a*b)

那麼這句是什麼個意思:

return (dx1*dx2 + dy1*dy2)/sqrt((dx1*dx1 + dy1*dy1)*(dx2*dx2 + dy2*dy2) + 1e-10);




注:餘弦定理,是描述三角形中三邊長度與一個角的餘弦值關係的數學定理。勾股定理在一般三角形情形下的推廣。

 如圖,△ABC,餘弦定理表示爲:

  c^2=a^2+b^2--2abcosC。







 


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章