确保Angular 在0到360度之间

qij5mzcb  于 2022-12-06  发布在  Angular
关注(0)|答案(2)|浏览(149)

我想确保Angular h_ur在0到360度之间。

h_ur <- atan2(b, a)*(180.0/pi)

但为了回答这个问题,我将h_ur简化为:

h_ur <- -5
if (h_ur > 360){
  h <- h_ur - 360
} else if (h_ur < 0){
  h <- 360 + h_ur
} else {
  h <- h_ur
}
print(h)

但是,此代码仅在h_ur介于720和360之间以及0和-360之间时有效。

  • 如何修改代码以确保即使h_ur超出此范围也能正常工作?
  • 有没有更优雅的方式来做到这一点?
2g32fytz

2g32fytz1#

我只想用模算术。如果你想要的话,下面的返回值是0到0,359.999到359.999和360到0。
第一个

wdebmtf2

wdebmtf22#

我相信atan2的范围是以弧度为单位的:-π〈= t〈= +π。相应地进行规划。使用模运算。您需要通过添加2*π来转换负值

相关问题