计算相对于Y轴的两点之间的角度

时间:2013-12-22 02:34:09

标签: c# angle

在C#中,如何计算给定x1,y1,x2,y2相对于Y轴的两个点之间的角度(假设x从左到右增加,y从上到下增加)?

1 个答案:

答案 0 :(得分:3)

试试这个:

static double GetAngle(double x1, double y1, double x2, double y2)
{
    var w = x2 - x1;
    var h = y2 - y1;

    var atan = Math.Atan(h/w) / Math.PI * 180;
    if (w < 0 || h < 0)
        atan += 180;
    if (w > 0 && h < 0)
        atan -= 180;
    if (atan < 0)
        atan += 360;

    return atan % 360;
}

Demo