在我们日常生活中会用角度来表示一个角的大小,但是在Unity里面的Mathf里面的三角函数都是用弧度表示的。刚开始学的时候挺懵,所以做个记录。
结论:角度和弧度其实要表示的是一个东西,只是叫法不同而已。就像“米”和“市尺”是度量长度大小的两种不同的单位一样。
如图
那么角度和弧度的关系是什么呢?
π rad = 180° //rad就是弧度单位
那么从关系就可以推导出
1 rad = (180/π)° ≈ (180/3.14)° ≈ 57.3°1° = (π/180) rad ≈ 0.01745 rad
由此可以得出
弧度* 57.3 = 对应角度角度* 0.01745 = 对应弧度
在Unity中就直接提供了两个常量来帮助我们实现角度与弧度互转
所以如果我们可以通过如下代码转化
//弧度转角度float rad = 1;var angle = Mathf.Rad2Deg * rad;
//角度转弧度float angle = 1;var rad = Mathf.Deg2Rad * angle;
例子
如果我们现在要计算Sin30°,那么在Unity中应该使用如下方式
var a = Mathf.Sin(30 * Mathf.Deg2Rad);