C#-两行之间的顺时针角度

我想计算两条线段A和B之间的顺时针角度.因此,所得角度必须在0到360-1度之间.我已经在SO中看到了所有其他答案,但是它们给了我负面角度.谢谢.

解决方法:

要将任何角度转换为C#中的0-359范围,可以使用以下“算法”:

public int Normalise (int degrees) {
    int retval = degrees % 360;
    if (retval < 0)
        retval += 360;
    return retval;
}

C#遵循与C和C相同的规则,i%360将为您提供-359到359之间的任何整数值,然后第二行确保其范围在0到359(含)之间.

单行的偷偷摸摸的版本:

    degrees = ((degrees % 360) + 360) % 360;

这将在所有条件下将其标准化.除非性能至关重要,否则我不确定是否会过多地担心使用内联式单缸衬管,但我将对此进行解释.

从度数%360中,您将获得-359至359之间的数字.加360将范围更改为1至729.最后的%360将其返回至0至359范围.

上一篇:基础功能---具体坐标生成Graphic


下一篇:我如何使Turtle识别一个圆?