为何Unity中Mathf.Cos函数返回错误计算结果?
问题:Mathf.Cos(45)返回结果与计算器不符?
你遇到的问题核心是参数单位不匹配:
- Unity的
Mathf.Cos()要求传入的参数是弧度,不是角度 - 你直接传45(相当于45弧度,约等于2578.31度),计算出的余弦值自然和计算器上45度的结果不一样
修正代码很简单,用Mathf.Deg2Rad把角度转换成弧度再传入:
float angle = 45; Debug.Log(Mathf.Cos(angle * Mathf.Deg2Rad));
运行后输出会是≈0.7071,和计算器上45度的余弦值一致。
补充说明:大部分编程语言的数学库三角函数都是基于弧度设计的,而计算器默认按角度计算,这是常见的新手误区。你提到的6.283185是2π弧度(对应360度),和当前问题的直接关联不大,应该是混淆了角度与弧度的转换逻辑。
内容的提问来源于stack exchange,提问作者user17370693
相关产品推荐
相关产品推荐

