这里有关于Atan的另一篇文章,但我没有看到任何相关的答案:
C# - 为什么Math.Atan(Math.Tan(x))!= x?
Math.Atan和tan-1不一样吗?在我的计算器上我做:
tan-1(1),我得到45.
tan(45)= 1
在C#中:
Math.Atan(1)= 0.78539816339744828 //远在45附近.
Math.Tan(45)= 1.6197751905438615 //在<Piover2上1 dp.
这里发生了什么事?
dla*_*lin 23
Atan(1)等于π/ 4.在弧度下工作时,这是正确的值.库中的其他计算也是如此.
随意转换值:
double DegreeToRadian(double angle) { return Math.PI * angle / 180.0; }
double RadianToDegree(double angle) { return angle * (180.0 / Math.PI); }
Run Code Online (Sandbox Code Playgroud)
这意味着45弧度等于约2578.31008度,因此您正在寻找的切线应更好地表示为tan(π/ 4)或者如果您不介意"作弊":Math.Tan(Math.Atan(1)); // ~= 1.我相当自信,如果你自己尝试过,你已经意识到一些合理的事情正在发生,并且可能偶然发现了弧度与度数的关系.
你的计算器是Degrees,C#在Radians中进行这些计算.
要获得正确的值:
int angle = 45; //in degrees
int result = Math.Tan(45 * Math.PI/180);
int aTanResult = Math.Atan(result) *180/Math.PI;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8838 次 |
| 最近记录: |