我正在使用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);
答案 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);