Convert radians to degrees, minutes, and seconds

后端 未结 2 1087
没有蜡笔的小新
没有蜡笔的小新 2021-01-07 10:20

I am looking on a way to convert decimals to degrees in C. For instance, the asin() function in C returns a decimal number but I need that number to be in degrees ° minutes

2条回答
  •  陌清茗
    陌清茗 (楼主)
    2021-01-07 10:56

    The asin function returns radians. There are 2 π radians in a circle.

    There are 360 degrees in a circle, 60 minutes in a degree, and 60 seconds in a minute. So there are 360*60*60 seconds in a circle.

    double radians = asin(opposite / hypotenuse);
    int totalSeconds = (int)round(radians * 360 * 60 * 60 / (2 * M_PI));
    int seconds = totalSeconds % 60;
    int minutes = (totalSeconds / 60) % 60;
    int degrees = totalSeconds / (60 * 60);
    

提交回复
热议问题