GLSL 内置函数

radians()

把角度从角度制换算成弧度制,sin、cos 等三角函数要求的正是弧度。

函数签名

float radians(float degrees)
vec2 radians(vec2 degrees)
vec3 radians(vec3 degrees)

参数

degrees
角度制的角度(360 表示一整圈)。

返回值

弧度制的角度:degrees * PI / 180。

在线示例

修改右侧代码,左侧预览会实时更新。

工作原理

shader 用弧度表示角度,一整圈约为 6.2831(2 * PI),而不是 360。大多数人习惯用角度制,radians 负责换算:

角度radians(角度)
0.00.0
90.01.5708
180.03.1416
360.06.2831

示例用角度制写旋转角度(在 0 到 90 度之间摆动),再用 radians 换算后构造旋转矩阵。

常见用法

  • 让角度更好读:rotate(radians(30.0)) 比 rotate(0.5236) 更清楚地表达"30 度"。
  • 视野角:相机代码常用角度制保存视野角,用的时候换算一次。

常见错误

  • 重复换算。来自 atan 或 u_time 的角度本来就是弧度。
  • 写成整数:要写 radians(90.0),不是 radians(90)。

相关函数