15

プログラムから取得した数値と逆に回転するサーボを持っています。プログラムから取得した数値は 37 ~ 113 です。37 を反対側に変換する必要があります。したがって、37 は 113 になり、38 は 112 になります。75 は中間点なので 75 のままです。

これを計算する方法を知っている人はいますか?これは簡単な数学のように聞こえますが、私には理解できません。範囲が変わる可能性があるため、ルックアップ テーブルを使用したくありません。

4

2 に答える 2

41
public int reverseNumber(int num, int min, int max) {
    return (max + min) - num;
}

reverseNumber(37, 37, 113); // returns 113
于 2013-04-26T17:46:23.020 に答える
2
public int calculate(int min, int max, int input) {
   return max-(min-input);
}
于 2013-04-26T17:45:09.710 に答える