0

私は Java の本でこの例を扱っています。数学関数をグラフ化するはずで、動作しますが、最後の 2 行がわかりません。誰か説明してもらえますか? が double の配列であり、特定の「範囲」の関数値を保持すると仮定しdataます。この場合、範囲は -pi から pi です。

この本には、この小さなコード スライスに対するコメントがあり、それが何をしているのかはわかりますが、このループの最後の 2 行を実行する理由を正確に知りたいと思います。

// Scale and translate data values
for (int i = 0; i < d.width; i++) {
        double value = data[i];
        double k = (value - min) / (max - min);
        data[i] = d.height * (1 - k);
    }

誰かが私を助けることができますか?

4

1 に答える 1

2

もちろん。グラフを描画するには、関数のy値をスケーリングして、描画される領域の高さに収まるようにする必要があります。つまり、0から1の範囲のkスケーリングされたバージョンですy。つまり、最小値は0にマップされ、最大値は1にマップされます。最後に、k0からの値に変換して描画するデータポイントを見つけますd.height

于 2012-07-14T05:10:01.353 に答える