C - Lua 的 math.rad 的等价物

我正在将一些 Lua 脚本转换成 C,但我遇到了一些问题:

markerCoords.x = playerCoords.x - ( sin(math.rad(camRot.z)) * 20 );
markerCoords.y = playerCoords.y + ( cos(math.rad(camRot.z)) * 20 );

我在网上查找了一下,但似乎找不到 C 中 Lua 的 math.rad 的等价物。

这个数学函数的描述如下:

math.rad (x)

将以度为单位的角度 x 转换为弧度。

在 C 中,Lua 的 math.rad 的等价物是什么?

点赞
用户4944425
用户4944425

在 C 语言中没有标准函数可以计算角度/弧度,但是如此 Q&A 所示:

Is there a function in C language to calculate degrees/radians?

可以使用用户自定义函数来实现。

// 确保有 (非标准)M_PI 定义
#define _USE_MATH_DEFINES
#include <math.h>

#ifndef M_PI
#define M_PI 3.14159265358979323846264338327950288
#endif

// 应用基本三角函数
inline double rad_from_deg(double degrees)
{
    return degrees * M_PI / 180.0;
}

inline double deg_from_rad(double radians)
{
    return radians * 180.0 / M_PI;
}
2019-10-31 14:19:18