先上代码,结合代码讲解:
public class Lesson2 : MonoBehaviour
{
// Start is called before the first frame update
void Start()
{
#region 知识点一 弧度、角度相互转化
//弧度转角度
float rad = 1;
float anger = rad * Mathf.Rad2Deg;
print(anger);
//角度转弧度
anger = 1;
rad = anger * Mathf.Deg2Rad;
print(rad);
#endregion
#region 知识点二 三角函数
//注意:Mathf中的三角函数相关函数,传入的参数需要时弧度值
print(Mathf.Sin(30 * Mathf.Deg2Rad));//0.5
print(Mathf.Cos(60 * Mathf.Deg2Rad));//0.5
#endregion
#region 知识点三 反三角函数
//注意:反三角函数得到的结果是 正弦或者余弦值对应的弧度
rad = Mathf.Asin(0.5f);
print(rad * Mathf.Rad2Deg);
rad = Mathf.Acos(0.5f);
print(rad * Mathf.Rad2Deg);
#endregion
}
}
知识点一:弧度与角度的相互转换
弧度转角度
- 原理:在数学中,角度和弧度是两种测量角度大小的单位。弧度是基于半径的长度,而角度是基于一个圆被分成360等份的度数。
- 转换公式:
角度 = 弧度 * (180/π)
,在Unity中,Mathf.Rad2Deg
就是180/π
的常量值。 - 代码实现:
float anger = rad * Mathf.Rad2Deg;
将1弧度转换为角度,结果是大约57.2958度。
角度转弧度
- 原理:与上述相反,将角度值转换为弧度值。
- 转换公式:
弧度 = 角度 * (π/180)
,在Unity中,Mathf.Deg2Rad
就是π/180
的常量值。 - 代码实现:
float rad = anger * Mathf.Deg2Rad;
将1度转换为弧度,结果是大约0.017453弧度。
知识点二:三角函数
- 概述:三角函数是数学中描述角度和比例关系的重要函数,主要包括正弦(sin)、余弦(cos)、正切(tan)等。
- Unity中的三角函数:Unity的
Mathf
类提供了这些函数的实现,但是需要注意的是,这些函数的参数必须是弧度值。 - 代码示例:
Mathf.Sin(30 * Mathf.Deg2Rad)
:计算30度的正弦值,结果是0.5。因为正弦值在0到180度范围内是从0增加到1再减少到0。Mathf.Cos(60 * Mathf.Deg2Rad)
:计算60度的余弦值,结果也是0.5。余弦值在0到180度范围内是从1减少到-1。
知识点三:反三角函数
- 概述:反三角函数是正弦、余弦、正切等函数的逆运算,用于根据已知的三角函数值求角度(弧度)。
- Unity中的反三角函数:Unity的
Mathf
类提供了Asin
(反正弦)、Acos
(反余弦)、Atan
(反正切)等函数,这些函数返回的是弧度值。 - 代码示例:
Mathf.Asin(0.5f)
:计算正弦值为0.5的弧度,结果是π/6(或30度)。Mathf.Acos(0.5f)
:计算余弦值为0.5的弧度,结果是π/3(或60度)。- 需要注意的是,反三角函数的结果通常是在一个特定的范围内,例如
Asin
和Acos
的结果都在-π/2
到π/2
之间。
总结
这个脚本展示了在Unity中处理角度和弧度转换、使用三角函数以及反三角函数的基础知识。这些知识点在游戏开发中非常重要,特别是在处理旋转、计算物体位置、模拟物理现象等方面。通过理解和应用这些数学原理,开发者可以创建出更加复杂和逼真的游戏世界。
标签:unity3d,rad,三角函数,0.5,Mathf,弧度,角度 From: https://blog.csdn.net/2401_82978699/article/details/143335432