はじめに
『初めてのProcessing 第2版』はProcessingを通してオブジェクト指向プログラミングを学ぶことができる本です。
以前TwitterでProcessingで作られた映像を見てProcessingに興味を持ち、図書館で借りてみました。
全23章中19章までの読書メモになります。読み終わるまで2-3ヶ月目安の本を2-3週間で読もうとしましたが無理がありました。練習問題などは飛ばし飛ばしやっていました。
各章詳細
1-3章
ピクセル、カラーやProcessingの話。
2章でProcessingの環境構築をします。
- PDEはデフォルトのフォント
Source Code Pro
だと日本語が文字化けしたため、環境設定からMenlo
に変更しました。 - コード補完も有効に。Ctrl + Spaceで補完候補が表示されます。
4-9章
基本的な文法を学びつつ、Processing独自の変数・関数を学んでいきます。
変数、条件文、ループ、関数、オブジェクト、配列。
概念説明→Processingで書いてみる、の繰り返し。この辺りは流し読みで進めました。
10章
これまでの章の総まとめ。オブジェクト指向を使って雨粒キャッチゲームを作りました。
11, 12章
箸休め的内容。デバッグ方法、ライブラリの説明。
13-15章
ここから応用的な内容になってきます。数学, 3D, 画像処理など。
- ピクセル集合処理が面白かったです。ペイントソフトのフィルタ処理(ぼかし、鮮鋭化)の方法が知れて良かった。畳み込みって機械学習で聞いた単語だけど、数学用語なんですかね。
- 練習問題14-5、8個の四角形からなる3次元の立方体を作るという問題。おそらく6個の四角形だと思われます。
16, 17章
ビデオとテキスト。カメラの映像がその場で画像処理されるのが楽しくて良かったです。
18章
データ入力。
HTMLをStringで取得・処理して要素を取ってくるのつらみがありました。XMLとJSONはクラスが用意されていましたが。静的型付け言語だから、JSONObjectとJSONArrayクラスがあるのはなるほど…と思いました。
練習問題・例を実行するためにOpenWeatherMapとNYTimesのAPI Key登録が必要。
例18-5
サンプルコードをそのまま実行したら文字化けしました。URLから取得するファイルがgzip圧縮されているようです。
Terminalで以下のコマンドを実行して、dataフォルダ下にgzip解凍したテキストファイルを出力。
cd [例18-5のスケッチディレクトリパス] mkdir data curl "http://www.gutenberg.org/cache/epub/1514/pg1514.txt" | gunzip > data/pg1514.txt
サンプルコードを修正してローカルファイルを読み込むようにしました。
String[] rawtext = loadStrings("data/pg1514.txt");
19章
クライアント・サーバを作りました。ネットワークの本、基本情報の本読むと理解が深まりそうだと思いました。
telnetでサーバへ接続確認する箇所があります。macOS High Sierra以降はコマンドが入ってないのでbrew installする必要あり。
環境面
例はlearningprocessingから見れますが一部表示されません。ファイルをダウンロードして実行した方が良さそうです。
PDEはしんどいので、以下の記事を参考にVSCodeでスケッチを実行できるようにしました。特に例はいちいちPDEから開くのが面倒なので、この方が良いです。
Retinaディスプレイだと
pixelDensity()
で解像度設定をする必要あり。