Unity - 角度与弧度

196 阅读1分钟

在我们日常生活中会用角度来表示一个角的大小,但是在Unity里面的Mathf里面的三角函数都是用弧度表示的。刚开始学的时候挺懵,所以做个记录。

结论:角度和弧度其实要表示的是一个东西,只是叫法不同而已。就像“米”和“市尺”是度量长度大小的两种不同的单位一样。

如图

那么角度和弧度的关系是什么呢?

π rad = 180° //rad就是弧度单位

那么从关系就可以推导出

1 rad = (180/π)° ≈ (180/3.14)° ≈ 57.3°1° = (π/180) rad0.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);

qrcode.jpg