// 找餘弦角度: 線段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。
OpenCV:已知三角形的兩邊 求夾角的問題(餘弦定理)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.