C#Line是水平的

时间:2018-04-05 09:33:47

标签: c# math

我需要一个公式来检查水平线和给定线之间的角度,然后判断给定线是水平(θ<45)还是垂直(θ> 45)然后返回θ。

我知道我必须使用Math.Atan,但我真的不知道怎么做。 函数签名应该类似于

double isLineVert(Line line)
{
    // calculate angle //
    return angle; //(in degrees)
}

1 个答案:

答案 0 :(得分:0)

我已经使用@MBo提出的方法解决了问题,取得了高度和长度的差异。这是功能:

public static bool? isLineVertical(Line line)
{
    double xDiff = Math.Abs(line.X2 - line.X1);
    double yDiff = Math.Abs(line.Y2 - line.Y1);
    bool? vertical = null;
    if (yDiff > xDiff)
    {
        vertical = true;
    }
    else if (xDiff > yDiff)
    {
        vertical = false;
    }
    return vertical;
}