C++中cos,sin,asin,acos这些三角函…

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u011100984/article/details/34851025

C++中cos,sin,asin,acos这些三角函数操作的是弧度,而非角度,
你需要把角度转化为弧度.

弧度=角度*Pi/180;

例子1:
比如对边和邻边分别为a,b 
设角度为x,则 
x=atan(a/b); 
其中x为弧度制 
如需转换为角度值,则x*180/3.1415


例子2:
//计算旋转角度   {弧度=角度*Pi/180} {两点间距离公式 根号下(|X1-X2|的平方+|Y1-Y2|的平方)}
   double angle_tanValue=sqrt(pow(point.x-point.x,2)+pow(point.y-Right_Top_Point.y,2))/
    sqrt(pow(Turn_Point_L[1].x-point.x,2)+pow(Turn_Point_L[1].y-Right_Top_Point.y,2));
   //求出tan 与 sin 的弧度
   double angle_atanValue=atan(angle_tanValue);
   double angle_sinValue=sin(angle_atanValue);
   //弧度转换成角度
   double angle=angle_atanValue*180/3.1415;
   //取绝对值
   angle=fabs(angle);


转载自http://hi.baidu.com/zouhaoo/item/7c82e23cb482d95b80f1a763

展开阅读全文

没有更多推荐了,返回首页