トーン系列を手頃な関数で描けないか2017年01月18日 16:11

PCCS(日本色研配色体系)のトーン系列は、山が黄色(8:Y)にあり、谷が青紫(20:V)にあるような波形を描く。トーンによって、並の高さ(明度)の幅や、うねり具合が異なる。Vividは振れ幅が大きく、Deepはそれよりも小さい。参考資料を探してみたが、計算式を見つけられない。人の視覚を調査してプロットした波形で、先に式があるものではないのかもしれない。

トーン系列を正弦曲線で描いてみる

それでも、波を描くのだから、正弦曲線でなんとかならないかとMathematicaで描いてみる。Sinを用いた式を立て、山と谷の位置で色相と明度を設定して係数をSolveで解く。山と谷の位置はあわせられるが、その途中はずれが大きい。参考資料に掲載の図を見てみると、山の尖度は大きめで、谷はゆったりした形のようだ。

トーン系列をCycloidで描いてみる

そんな形の曲線はないか、と、WolframのDemonstrationのサイトを覗いてみる。Cycloidのデモが描く図形が似ている。作者は、AntiCycloidと呼んでいる。パラメータを変えて描いてみると、確かに、それらしい図形が描ける。しかし、楕円積分を実装するのは、大変そう。

トーン系列を正弦関数と指数関数の組み合わせで描いてみる

要は、正弦曲線を描くときのx軸の進み方が加速減速すればいいはず。そこで、代わりに指数関数を組み合わせてみると、やや谷底がなだらかすぎる気もするが、それらしい図形になる。2項の組み合わせになったのは、試行錯誤の結果。

トーン系列を正弦関数と指数関数の組み合わせで描いてみる

正弦曲線の時と同様に、それぞれのトーンについて式を立て、係数をSolveで解いてみる。正しさの保証はないが、それらしい色が出るようになった。