• ベストアンサー

円板の2点間の距離算出方法

円状の板(円板)に印された目盛りの値を比較(差を算出)するアルゴリズについてアドバイスをお願いします。 例) 等間隔で0,1,2・・から始まり499で一周する目盛り付き円板があります。 円板なので、499の次は0に戻ります。 N分前の値がX1、現在の値がX2の時、|X2-X1|(変化量の絶対値)を求めたい場合、どのようにすれば効率良く差が求められるでしょうか? 回転方向は不定(X1とX2の大小関係は不明)、X1とX2の差は小さい方の値を採用(差の最大値は250)するという条件です。 当然、単純な引き算では片方が一回転していた場合(0を跨いでいた場合)に正しい計算になりません。 ある条件時に、片方の値に500を加算して差を求めなければいけないと思いますが、その条件が明確にわかりません。 アドバイス頂けると幸いです。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • DIooggooID
  • ベストアンサー率27% (1730/6405)
回答No.1

 単純に、|X2-X1| を算出します。   ※ X1 と X2 の大小関係を確認し、大きな値から 小さな値を引く     |X2-X1| ≦ 250 の場合、 |X2-X1| を採用し、   |X2-X1| > 250 の場合には、 500 - |X2-X1| を採用する。

black2005
質問者

お礼

早々のご回答ありがとうございました。 机上でシミュレートしたところ、お教え頂いた方法で良さそうです。 大変助かりました! 感謝致します。

その他の回答 (1)

  • aokii
  • ベストアンサー率23% (5210/22062)
回答No.2

差が250以上なら250を引き、250以下ならそのままで良いのでは。

black2005
質問者

お礼

早々のご回答ありがとうございました。 アドバイス、参考になりました。 大変助かりました。 感謝致します。

関連するQ&A

専門家に質問してみよう