[英]Ensure an angle is between 0 and 360 degree
我想確保角度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
超出此范圍也能正常工作?我只想使用模塊化算術。 下面返回 0 到 0、359.999 到 359.999 和 360 到 0,如果這是你想要的。
h_ur <- c(-180,-5,0,90,359.999, 360,720,865)
h <- h_ur %% 360
print(h)
> print(h)
[1] 180.000 355.000 0.000 90.000 359.999 0.000 0.000 145.000
我相信atan2
的范圍以弧度為單位:-π <= t <= +π。 相應地計划。 使用模塊化算法。 您需要通過添加 2*π 來轉換負值
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.