角度和弧度的转换

角度转换弧度

 1 double DRad:: d2rad(double d,double m,double s)//角度转弧度
 2 {
 3     double e;
 4     double sign=(d<0.0)? -1.0:1.0;
 5     if(d==0)
 6     {
 7         sign=(m<0.0)? -1.0:1.0;
 8         if(m==0)
 9         {
10             sign=(s<0.0)? -1.0:1.0;
11         }
12     }
13     if(d<0)
14         d=d*(-1.0);
15     if(m<0)
16         m=m*(-1.0);
17     if(s<0)
18         s=s*(-1.0);
19 
20     //a为整数度b为分c为秒
21     e=sign*(d*3600+m*60+s)*PI/(3600*180);
22     return e;
23 }

弧度转角度

 1 //该函数为弧度化为度分秒形式的角度,
 2         //如0.029088820866572159615394846141477的弧度化为度分秒的角度值为1.4000
 3         public static double Rad2Ddmmss(double rad)
 4         {
 5             int f = rad >= 0 ? 1 : -1; // 符号+ -
 6             //加0.001秒(用弧度表示),化为度
 7             rad = (rad + f * 4.8481368110953599358991410235795e-9) * PI/180;
 8             int d = (int)rad;//将弧度换算成以度为单位
 9             rad = (rad - d) * 60.0;
10             int m = (int)rad;
11             double s = (rad - m) * 60.0;      
12 
13             return d + m / 100.0 + s / 10000.0 - f * 0.0000001;
14         }


 

posted @ 2013-06-18 10:06  太一吾鱼水  阅读(1045)  评论(0编辑  收藏  举报