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.0 | 0.0 |
| 90.0 | 1.5708 |
| 180.0 | 3.1416 |
| 360.0 | 6.2831 |
示例用角度制写旋转角度(在 0 到 90 度之间摆动),再用 radians 换算后构造旋转矩阵。
常见用法
- 让角度更好读:
rotate(radians(30.0))比rotate(0.5236)更清楚地表达"30 度"。 - 视野角:相机代码常用角度制保存视野角,用的时候换算一次。
常见错误
- 重复换算。来自
atan或u_time的角度本来就是弧度。 - 写成整数:要写
radians(90.0),不是radians(90)。