OpenCV:已知三角形的两边 求夹角的问题(余弦定理)

来源:互联网 发布:ubuntu ping不通网关 编辑:程序博客网 时间:2024/04/29 17:54

// 找余弦角度: 线段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。







 


0 0