で、前回のブログでは、インデックスカラーの場合、フルカラーとちがって、そのままインデックスカラーをすると、色が急に変わるトーンジャンプが起こるので、
<<課題>>
・10個のインデックスカラーを使って、(仮に色は)白から赤に変わる
グラデーションを書きなさい。
というようなときは
<<解法>>
・まず、インデックスカラーを
R=10%,R=20%、。。。R=100%(=255)
となるように、10%おきにとる。
・X座標の値を基準に見て、仮にXが33%のところだとしたら、
近傍の2点、30%、と40%のインデックスカラーを、
同じX座標にある点(Y座標0から50ドットまでの高さで書くとしたら、50ドット分)を
30%のドット3割(15個)
40%のドット7割(35個)
書く。ということになる。
ということまで書いた。今回はその先
で、ここで、問題が起こる
<<問題点>>
1.点の割合は示したけど、実際に、どうおくの?上の例だと、30%のドット、15個を上に並 べてしまうと、必ず薄い色→濃い色の順になってしまい、今度、縞模様になってしまう。
2.インデックスカラーが、まったく関係ない2色だったらどうするか
■問題点1:色の並べ方
たぶん、これを先生は説明したかったから、これを問題に出したのだと思います。
単純にならべると、必ず薄い色→濃い色の順になってしったりして、模様ができます。
そこで、決まりを作った場合、ノイズと呼ばれる、その規則を破るものを入れます。
→発展途上国のレンダリングエンジンなどには、入っていないことがある
どこの国とあえて書かないけど。。。
DTPのほうでは、セル、スーパーセルというような概念もありますが、それについて説明したかったんだと思います。
■問題点2:適切なインデックスが無かったら
どーしょーもないです。
たとえば上記の問題で、インデックスにすべて、G(緑)50%を含んでいたら、白から赤のグラデーションは、そのインデックスでは作れません。緑色がかならず入ってしまいますから。
たしかに、非常に高い解像度を持っている場合、
Rが、0,20,40,60,80,100、G,Bは0
Gが、0,20,40,60,80,100、R,Bは0
Bが、0,20,40,60,80,100、G,Rは0
というインデックスを作り、ある点におけるR、G、B、それぞれを、上記の方法で色を塗ると、そのR,G,Bの3点をあわせて1つの色とみなすことが、出来なくは無いですが、解像度が低いと、どーしょーもなくなります。
とりあえず、RGBすべて散らしてもつとすると、6X6X6=216個のインデックスを作って、上記処理をやることになります。(0%,20%,40%,60%,80%,100%の6段階)
ただ、基本的に、インデックスが悪いと、ひょうげんしにくいです。
という、この事実が、べつのところで、問題になったりする。
![](https://mokano.main.jp/card/analsysimg.cgi?imgfname=gokusho.jpg&ID=bun060310)