C# 为什么Math.Cos返回了错误的值?
在我的代码中:C# 为什么Math.Cos返回了错误的值?,c#,math,xna,C#,Math,Xna,在我的代码中: Vector2 colCircle = new Vector2(); colCircle = new Vector2((R * Math.Sin(D)), -(R * Math.Cos(D))); 而: R = 22.627 D = 89.214 在我的计算器上检查时,X值是正确的,但Y值应该是-0.310,但在程序中是-7.134 你知道为什么吗?三角函数期望的是弧度,而不是度。将现有的替换为 colCircle = new Vector2((R * Math.Sin(D
Vector2 colCircle = new Vector2();
colCircle = new Vector2((R * Math.Sin(D)), -(R * Math.Cos(D)));
而:
R = 22.627
D = 89.214
在我的计算器上检查时,X值是正确的,但Y值应该是-0.310,但在程序中是-7.134
你知道为什么吗?三角函数期望的是弧度,而不是度。将现有的替换为
colCircle = new Vector2((R * Math.Sin(D*Math.PI/180.0)), -(R * Math.Cos(D*Math.PI/180.0)));
你应该没事的。Cos/Sin期望的是弧度而不是度。的确如此。啊。。。我真是傻透了。是的-2π(rad)=360(度),那么为什么Math.Cos(90*Math.Pi/180)返回一些*奇怪的值而不是0?我不能复制你的值,但是知道.net trig函数(就像大多数数学库实现一样)可能会有所帮助除了以弧度表示的角度参数。我认为程序X值与实际弧度值的接近程度很有趣。我认为程序X值与实际弧度值的接近程度很有趣。正弦函数是最大的,
+1
,正好在角度28.5*π
弧度处。这是89.535弧度。实际上,MathHelper.ToRadians实现起来更快。