サーモグラフィのようなグラデーション

仕事でサーモグラフィのようなグラデーションを100段階で表示するプログラムが必要になった。そこで、サーモグラフィのような色を生成してくれるようなサンプルコードを探したのだがなかなか見つからない(Google Code Searchも使って「Thermography」で検索したんだけど、検索結果から探し出すのがめんどくさくていやになった)。仕方ないので、サーモグラフィの色の変化図が載っているページと「プログラミング解説 - 碧色工房」のサンプルを元に自分で作ってみた。
以下にメインとなる色生成部分のコードを載せます(Java)。

Color[] col = new Color[101];
for (int i = 0; i < 14; i++) {
    col[i] = new Color(0, 0, i*18);
    col[i+14] = new Color(0, i*18, 255);
    col[i+28] = new Color(0, 255, 255-i*18);
    col[i+42] = new Color(i*18, 255, 0);
    col[i+56] = new Color(255, 255-i*18, 0);
    col[i+70] = new Color(255, 0, i*18);
    col[i+84] = new Color(255, i*18, 255);
}
for (int i = 98; i < 101; i++) {
    col[i] = new Color(255, 255, 255);
}

7段階で分けたので、割り切れなく、最後の3つは白にしてしまった。
色のバランスを整えようと、ちょっといじったのが下。

for (int i = 0; i < 14; i++) {
    col[i] = new Color(0, 0, i*18);
    col[i+14] = new Color(0, i*18, 255);
    col[i+29] = new Color(0, 255, 255-i*18);
    col[i+43] = new Color(i*18, 255, 0);
    col[i+58] = new Color(255, 255-i*18, 0);
    col[i+73] = new Color(255, 0, i*18);
    col[i+87] = new Color(255, i*18, 255);
}
col[28] = new Color(0, 255, 255);
col[57] = new Color(255, 255, 0);
col[72] = new Color(255, 0, 0);
col[100] = new Color(255, 255, 255);


全部の範囲での変化量が同じ(18)なせいか、水色と黄色の範囲が狭くなってる。あと、ピンクの範囲を狭めて、赤の範囲を広げたい。区間ごとの変化量を変えればそれもできるんだけど、めんどくさいからこれでいいや。