Math.Atan()的范围为Θ=(-π/2,π/2),Math.Atan2()的范围为α=(-π,π)
第一象限x>0,y>0 Θ>0,α>0 Θ=α;
第二象限x<0,y>0 Θ<0,α>0 -Θ+α=180;
第三象限x<0,y<0 Θ>0,α<0 Θ-α=180;
第四象限x>0,y<0 Θ<0,α<0 Θ=α;
using System;
namespace CheckAtan2
{
class Program
{
static void Main(string[] args)
{
//第一象限
double ang1 = Math.Atan(0.5)*180/Math.PI;
double ang2 = Math.Atan2(1,2)*180/Math.PI;
Console.WriteLine("ang1:{0}", ang1);
Console.WriteLine("ang2:{0}", ang2);
//第二象限
double ang3 = Math.Atan(-0.5) * 180 / Math.PI;
double ang4 = Math.Atan2(1,-2) * 180 / Math.PI;
Console.WriteLine("ang3:{0}", ang3);
Console.WriteLine("ang4:{0}", ang4);
//第三象限
double ang5 = Math.Atan(0.5) * 180 / Math.PI;
double ang6 = Math.Atan2(-1,-2) * 180 / Math.PI;
Console.WriteLine("ang5:{0}", ang5);
Console.WriteLine("ang6:{0}", ang6);
//第四象限
double ang7 = Math.Atan(-0.5) * 180 / Math.PI;
double ang8 = Math.Atan2(-1,2) * 180 / Math.PI;
Console.WriteLine("ang7:{0}", ang7);
Console.WriteLine("ang8:{0}", ang8);
}
}
}