これを私のプロジェクトの MATLAB に実装します。
最大 3 つの円弧に分割された円があります。したがって、各円弧の角度範囲は [0,120)、[120,240)、[240,360) 度」です。
現在、シータが与えられたときに角度が円弧 A、B、C にあるかどうかを調べるコードがあります。
theta = mod(theta,360);
if theta >= 0 && theta < 120
Arc = A;
elseif theta >= 120 && theta < 240
Arc = B;
elseif theta >= 240 && theta < 360
Arc = C;
これはうまくいきます。これが私が到達するのに苦労している状況です:
円は角度 phi だけ回転できます。
たとえば、円が時計回りに 30 度回転した場合、角度の範囲は [30,150)、[150,270)、[270,390)] になります。
この場合に対処するには、if ステートメントをどのように記述すればよいですか? 私のシータ入力の範囲は 0 から無限大なので、モジュラス除算を行って [30,150)、[150,270)、[270,30)] を取得しようとしました。
しかし、[0,360) からの範囲のシータおよびファイ入力の任意の入力に対して機能できるように、それを一般化する方法に行き詰まっています。
アドバイスをよろしくお願いします。