计算一个简单的角度

时间:2017-01-18 16:53:53

标签: c#

我正在使用2个正方形点来计算角度。

角度效果很好,但它给我的值从-180到180,我很难编码机器人的方向。 我只希望角度与位置值ex:0 - 360 ;

var deltay = pontos_quadrado[0].Y - pontos_quadrado[1].Y;
var deltax = pontos_quadrado[1].X - pontos_quadrado[0].X;
angulo = Math.Atan2(deltay, deltax) * 180 / Math.PI;

angulo = Math.Round(angulo, 0);

1 个答案:

答案 0 :(得分:4)

您可以通过添加360并将余数模数为360来强制角度在0到360的范围内。

var deltay = pontos_quadrado[0].Y - pontos_quadrado[1].Y;
var deltax = pontos_quadrado[1].X - pontos_quadrado[0].X;
angulo = Math.Atan2(deltay, deltax) * 180 / Math.PI;

angulo = (angulo + 360) % 360; // note this line

angulo = Math.Round(angulo, 0);