読者です 読者をやめる 読者になる 読者になる

夜間大学院で博士号を取るつもり

博士課程後期の日記、読書、しがない勉強の様子

processing の練習_1

最近、データヴィジュアライザーションに興味を持つようになった。
というか、データサイエンティストとしてトップに立つことは数学の才能のない自分にはどうにも無理筋なので、

  • 統計学 60 点
  • 文系的教養 60 点
  • データ可視化 60 点

と、それぞれで 60 点くらいを取り、合わせ技で独特のポジションを得ることを考えている。
邪といえば邪だが、同じ土壌で戦うのも馬鹿げているではないか。

その一環として、processing の本などを買ってきた。60 点を目指してそのあたりの分野の乱読を目指している。
(ちょっとだけ、普通のデータサイエンティストの人たちがやらないような分野を目指してもいる)

[普及版]ジェネラティブ・アート―Processingによる実践ガイド

[普及版]ジェネラティブ・アート―Processingによる実践ガイド

情報としてはほとんど価値がなく、あくまでも自分の勉強メモとして、記録を残す。

下の画像は、線の明暗を x 位置で周期的に変えて、作成した縞模様。

f:id:tom-manabe:20170331170924j:plain

明るさ 127 の中間から始まり、 x 座標が 1 増えるごとに、サインカーブに従って明るさが変化するようにしている。
画面の幅は 360 なので、そのままだと 1 周期しかないため、ラジアン変換後に 10 倍して、10 周期にしている。

size(360,300);
background(255);

for (int x = 0; x <= width; x += 1) {
  stroke(127+sin(10*radians(x))*127);
  line(x,10,x,290);
}

この明るさの変化の様子をグラフで示すと次のようになる.
明るさ 0 で黒、254 (本当の明るさの最大値は 255 だけど、127 の平均値に対して ± 127 で変化させている).

f:id:tom-manabe:20170331172920j:plain

続いて、R, G, B の色それぞれを、5 周期、2.5 周期、1 周期で x の値に従って変化させ、その配合色を配置してみました.

size(360,250);
background(255);

for (int x = 0; x <= width; x += 1) {
  stroke(127+sin(5*radians(x))*127,
  127+sin(2.5*radians(x))*127,
  127+sin(radians(x))*127);
  line(x,0,x,height);
}

f:id:tom-manabe:20170331174848j:plain

グラフで表現すると次のようになります。

f:id:tom-manabe:20170331175147j:plain

まあこれだと、全色のパターンをグラデーションで表現することはできていないわけで、それはどうやって描いたらいいんだろ。
互いの周期をもっと近づければいいのかな。