H*7でなくて6になってる理由は、上の紫から赤までの図を見ると分かると思いますが、最初の赤から橙までをHにすると、反対側の紫まではH*7でなくH*6になるからです! とこんな感じですが、だいたい分かりましたでしょうか? 色の計算でビット演算を使っていて、分かりづらく申し訳ないっす(´ω`) 私が楽に書くために使ってるだけなので、馴染みのあるRGB関数とかを使うのと全く同じです。