Ruby
ruby2.1
Ruby2.2

Rubyで角度を(0〜359度の)正の角度に変換する

①(0〜359度の)正の角度変換(Numeric#modulo版)

def positive_angle(angle)
  angle.modulo(360)
end

②(0〜359度の)正の角度変換(Numeric#remainder版)

def positive_angle_by_remainder(angle)
  (angle.remainder(360) + 360).remainder(360)
end

③余談:-359〜359度の角度変換

def angle_by_remainder(angle)
  angle.remainder(360)
end

変換結果

角度
-720 0 0 0
-630 90 90 -270
-540 180 180 -180
-450 270 270 -90
-360 0 0 0
-270 90 90 -270
-180 180 180 -180
-90 270 270 -90
0 0 0 0
90 90 90 90
180 180 180 180
270 270 270 270
360 0 0 0
450 90 90 90
540 180 180 180
630 270 270 270
720 0 0 0