三角函数C++中cos,sin,asin,acos操作

C++中cos,sin,asin,acos这些三角函数操作的是弧度,而非角度.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);


//===add by tcbo 2012.12.20 //位移转为角度
//==公式: L=2*R*Sin(θ/2)  θ旋转角度 ---角度转换为旋长[位移] 
//1弧度=180/π度1度=π/180 弧度
//Sin(弧度);
//===由度转换为弧度 :θ/2=(θ*π/2*180)=(θ*π/360)
//用反三角函数,反正弦Arcsin(x)
//例如已知sin x=0.25,那么x=Arcsin 0.25
float tmpFltVal=0;
float fAngle=0;
ASSERT(m_fTestRadius>0);
tmpFltVal=(fValMM/(2 * m_fTestRadius)); 
fAngle=(float)asin(tmpFltVal);     //弧度
fValMM=(float)(2*fAngle*180.0/PI);   //转换为角度
fValMM=(float)fabs(fValMM);

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值