安全な方法はありますか?最小限のケース ステートメントでアングル ラップを処理するだけです。
角度の特定の表現 (0 ~ 360 度または -180 ~ 180 度 (または同等のラジアン)) を使用し、角度をラップすると、角度ラップが発生します。たとえば、角度が -170 で、50 度を引くとします。数学的には -220 まで足しますが、実際には +140 度になるはずです。
明らかに、次を使用してこれを確認できます。
if (deg < -180) { 180 - abs(deg + 180); }
または類似。しかし、第一に、多数のチェックが必要であり、第二に、2 回ラップすると機能しません。
これが一般的な 2 番目のケースは、2 つの角度間の補間です。
たとえば、-170 度と 160 度の角度があり、それらの中間が必要だとします。これを行う一般的な方法は次のとおりですang1 + 0.5(ang2-ang1)
が、私が提供した例では、角度が 175 になるはずの角度が -5 度になります。
これらのシナリオでアングル ラップを処理する一般的な方法はありますか?