ワニココロ、ウラハラ。

WANICO個人的雑記。Music/Visual/Design/Audiovisual/Generative Art/CreativeCoding/Processing/Max/Windsurfing/Love the life you live, Live the life you love/嬉しい楽しい美味しい大好き

Processingビジュアプ入門を読む#24 関数 を読みました

 暑いよねー

夏がいよいよやってきた感じ満載。

 

夕方でも38度だなんて。。

アイスばっかり食べちゃうわ

 

なんやかんやでこんな三連休に限って

うれしいことにお仕事山盛り。てんこ盛り!

だけど夏のギラギラした勢いに乗って

夏バテせずにがんばりましょう。

 

 

で、今日は

Processingビジュアルデザイナーとアーティストのためのプログラミング入門

第24章 関数 を読みました

 

Processing:ビジュアルデザイナーとアーティストのためのプログラミング入門

 

この章では自分で関数を書くための基本的な文法とか、考え方、

あと、パラメータの定義の仕方と再起呼び出しについての議論だって。

えー!自分で書くの!?へーーーー

 

 

 この本は基本的なスタンスが、プログラミングを始めてやってみる読者に対して

優しさやいたわりがいっぱいだなって思っていたんですが

ほんとにこの章でもそのスタンスが随所に見られます。

 

抽象化

高度な関数は理解が大変だけど、

関数を使う長所は、厳密にその動きを理解していなくても

ほとんどの場合その使い方を理解しておいたらじゅうぶんだよ!だって

 

いぇーい。素敵。

 

抽象化はソフトウェアの専門用語としては絵画や美術での使われ方と違って

結果に注目するために細部を隠すことを意味しているんだって。

 

なぜ関数を使うのか?

 

何度も繰り返しておんなじ図形をかくときなど

関数を使えばどのように短いコードで、わかりやすく、

モジュール化できるのかの解説。

とても丁寧に書かれているから、ほんと分かりやすい。

解説自体は一つも省いてない。

よほど情熱があって、必ず読者にわからせようって思ってない限りここまで詳しくない気がする。。ありがたいなぁ。

 

関数を作る

 

自分で関数を作るためには、ゴールをはっきりさせること、

そしてそのゴールを小さなステップに分解していくこと。

 

普段の仕事でも生かせることを、っていうか生かすべきことだぁ。。

 

そしてうまく関数を使うと再利用が促進されるので

どんどん新しいプログラムを書くことも簡単になって

自分のコレクションがたまっていくってお話。

こういった観点でほかのコードも読まないといけないなー

 

関数の多重定義・オーバーロード

 

受け取るパラメータが違えば、おんなじ名前で別の関数を定義することができて、

このことをオーバーロードっていうらしい。

 

fill() image() text()とか。たしかにおんなじ系統のことするのに

それぞれ名前がちがったら使いにくいかも。

塗色の指定だったら、fill()とか。わかりやすいね。

それを自分で関数作るときも、この仕組みを理解して、

考え、、、、られるかな。いきつけるかわからへんけど

頭にとめておきたい、、、

 

 

計算と返り値

 

最初のほうからなんとなく使っていた void の説明。

関数が返り値を返さない場合の特殊なデータ型

 

データの型って絶対間違えそうだ。。

エラー出して、直していくしかないけど

全部覚えきれないから確認したほうがいいってことだけ覚えとく。。

 

 

パラメータ化

 

ソフトウェアでこれまでにない形を探求する方法。

パラメータに応じて様々な形を生成するために関数を書くことを

形のパラメータ化ていうんだって。

これ面白いね!!いろんなパターンが生み出せちゃう。

いろいろ使いたいなー

 

二枚のカードを組み合わせた作品の例

とか、葉っぱのデザインをいろいろ生成する方法とか。

いろりおじぶんで組みあわせるよりかわいいのいっぱいできて嬉しい♪

 

再帰

 

関数はそのコードの中でその関数自身を呼び出すことが出来るってお話

合わせ鏡の中に無限に広がる世界みたいにね。

ソフトウェアの世界で再帰っていうのは、関数よびだしが、その関数自身のブロックの中から行われるから、鏡の無限に広がる世界みたいに

無限な繰り返しにならないよう、終了する手段を持ってないといけない。

 

ループ構造との比較とか。

おもしろかったけどこれどこまで生かせるかなー。

めちゃくちゃいかしたいけどどうかなー。

 

最後に示されたいくつかの例を見て

コード動かしてみて、

あーこのかんじがコードでお絵かきする楽しい感じだなーって

またまた再認識でした。

 

だけど、だぶんまだ自分では作りきれないなー。

ランダムなんかを駆使して、秩序と無秩序のバランスの取れた

ダイナミックな変化のある感じ。いいないいなー。

 

こういうのとりいれていきたーい。

 

この関数の章は結構長くて、読むのに時間がかかりました。

だけど、いろいろ教えてもらえることの多い章でした。

よんでよかった。大急ぎで理解したいときは、たぶん飛ばしちゃう章だけどね。

 

今日のおやつ

 

すっごい暑いけど、祇園祭りだね☆ コンチキチン♪

 

f:id:WANICO:20180717162200j:image