初めてのProcessing 第2版
オライリー・ジャパン
著者:Daniel Shiffman
訳者:尼岡利崇
恩師Red Burnsを偲んで
謝辞
訳者まえがき
イントロダクション
目次
レッスン1 はじめの一歩
1章 ピクセル(画素)
1.1 グラフ用紙
1.2 簡単な図形
1.3 グレースケールカラー
1.4 RGBカラー
1.5 色の透明度
1.6 色の範囲のカスタム設定
2章 Processing
2.1 Processingが手助けをする
2.2 Processingをどうやって手に入れたらいいの?
2.3 Processingアプリケーション
2.4 スケッチブック
2.5 Processingでコーディングする
2.6 エラー
2.7 Processingリファレンス
2.8 実行ボタン
2.9 最初のスケッチ
3章 インタラクション
3.1 流れとともに進める
3.2 私たちの良き友人:setup()とdraw()
3.3 マウスによる変化
3.4 マウスのクリックとキーの押し下げ
レッスン2 条件式と繰り返し
4章 変数
4.1 変数とは何か?
4.2 変数の宣言と初期化
4.3 変数を使う
4.4 たくさんの変数
4.5 システム変数
4.6 ランダム(乱数):変化に富むことは人生のスパイスである
4.7 変数のZoog
4.8 移動(Translation)
5章 条件文
5.1 論理式
5.2 条件文:if、else、else if
5.3 スケッチ内での条件文
5.4 論理演算子
5.5 複数のロールオーバー
5.6 ブーリアン変数
5.7 跳ね返るボール
5.8 物理学初級講座
6章 ループ
6.1 真面目な話、繰り返しとは何か?
6.2 whileループ:必要なだけループする
6.3 「終了」条件
6.4 forループ
6.5 ローカル vs グローバル変数(別名「変数のスコープ」)
6.6 draw()ループ内のループ
6.7 Zoogの腕が成長する
レッスン3 関数とオブジェクト
7章 関数
7.1 分解する
7.2 「ユーザー定義」関数
7.3 関数を定義する
7.4 簡単なモジュール性
7.5 引数
7.6 コピーを渡す
7.7 戻り値の型
7.8 Zoogの再編成
8章 オブジェクト
8.1 オブジェクト指向プログラミング(OOP)をよく理解する
8.2 オブジェクトを使う
8.3 クッキーの抜き型を書く
8.4 オブジェクトを使う:その詳細
8.5 タブを使ってひとつにまとめる
8.6 コンストラクタのパラメータ
8.7 オブジェクトはデータ型でもある!
8.8 オブジェクト指向のZoog
レッスン4 配列処理
9章 配列
9.1 配列:なぜ気にしないといけないのか?
9.2 配列とは何か?
9.3 配列の宣言と生成
9.4 配列の初期化
9.5 配列の操作
9.6 簡単な配列の例:蛇
9.7 オブジェクトの配列
9.8 インタラクティブなオブジェクト
9.9 Processingの配列関数
9.10 1001匹Zoogちゃん
レッスン5 ひとつにまとめる
10章 アルゴリズム
10.1 我々はどこにいて、どこに向かうのか?
10.2 アルゴリズム
10.3 アイデアからパーツへ
10.4 パーツ1:キャッチャー
10.5 パーツ2:交差判定
10.6 パーツ3:タイマー
10.7 パーツ4:雨粒
10.8 統合:ドレスアップする
10.9 この後の学習の進め方
11章 デバッグ
11.1 助言#1:休憩をとる
11.2 助言#2:他の人に参加してもらう
11.3 助言#3:単純化
11.4 助言#4:println()は、あなたの友人です
12章 ライブラリ
12.1 ライブラリ
12.2 組み込みライブラリ
12.3 寄稿されたライブラリ(Contributed libraries)
12.4 手動でライブラリをインストールする
レッスン6 数学と3D
13章 数学
13.1 数学とプログラミング
13.2 モジュロ
13.3 乱数
13.4 確率レビュー
13.5 コードでの発生確率
13.6 パーリンノイズ
13.7 map()関数
13.8 角度
13.9 三角法
13.10 振動
13.11 再帰
13.12 2次元配列
14章 3Dでの移動と回転
14.1 z軸
14.2 P3Dとはいったい何?
14.3 バーテックス図形
14.4 カスタム3D図形
14.5 単純な回転
14.6 異なる軸での回転
14.7 スケール
14.8 行列:プッシュする、ポップする
14.9 Processingの太陽系
14.10 PShape
レッスン7 画像と動画
15章 画像
15.1 画像から始める
15.2 画像を用いたアニメーション
15.3 最初の画像処理フィルター
15.4 画像の配列
15.5 ピクセル、ピクセル、さらにピクセル
15.6 画像処理入門
15.7 2つ目の画像処理フィルター:独自のtint()を作る
15.8 もうひとつのPImageオブジェクトのピクセルへの書き込み
15.9 レベル2:ピクセル集合処理
15.10 クリエイティブな可視化
16章 ビデオ
16.1 ライブビデオの基礎
16.2 録画ビデオ
16.3 ソフトウェアミラー
16.4 センサーとしてのビデオ、コンピュータビジョン
16.5 背景除去
16.6 モーション検出
16.7 コンピュータビジョンのライブラリ
レッスン8 テキスト処理
17章 テキスト
17.1 Stringはどこから来るのか?
17.2 文字列とは何か?
17.3 テキストを表示する
17.4 テキストアニメーション
17.5 テキストモザイク
17.6 回転するテキスト
17.7 テキストを1文字ずつ表示する
18章 データ入力
18.1 文字列の操作
18.2 分割と結合
18.3 データを扱う
18.4 テキストファイルで作業する
18.5 表形式データ
18.6 標準化されていないフォーマットのデータ
18.7 データ分析
18.8 XML
18.9 ProcessingのXMLクラスを使う
18.10 JSON
18.11 JSONObjectとJSONArray
18.12 スレッド
18.13 API
19章 データストリーム
19.1 ネットワーク通信
19.2 サーバーを作る
19.3 クライアントを作成する
19.4 ブロードキャスティング
19.5 マルチユーザー通信パート1:サーバー
19.6 マルチユーザー通信パート2:クライアント
19.7 マルチユーザー通信パート3:すべてをひとつにまとめる
19.8 シリアル通信
19.9 ハンドシェイクによるシリアル通信
19.10 文字列のシリアル通信
レッスン9 音声処理
20章 サウンド
20.1 基本的なサウンドの再生
20.2 より魅力的なサウンドの再生
20.3 サウンド合成
20.4 サウンド解析
20.5 サウンドの閾値
20.6 スペクトラム解析
21章 書き出し
21.1 ウェブへ書き出す
21.2 スタンドアローンアプリケーション
21.3 高解像度のPDF
21.4 画像とsaveFrame()
21.5 ビデオを録画する
レッスン10 Processingを支える技術
22章 高度なオブジェクト指向プログラミング
22.1 カプセル化
22.2 継承
22.3 継承の実例:図形
22.4 多態性(ポリモーフィズム)
22.5 オーバーロード
23章 Java言語
23.1 魔法を明かす
23.2 Processingがなければコードはどんな風になるか
23.3 Java APIを探索する
23.4 その他の便利なJavaクラス:ArrayList
23.5 その他の便利なJavaクラス:Rectangle
23.6 例外処理(エラー処理)
23.7 Processing以外のJava開発環境
付録A 一般的なエラー
A.1 コンパイル時のエラー
Missing a semi-colon “;"
Missing left parentheses “("
Missing right curly bracket “}"
The variable “myVar" doesn’t exist.
The local variable “myVar" may not have been initialized.
The class “Thing" doesn’t exist.
The function “myFunction()" expects parameters like this: myFunction (type, type, type, …)
The method “function(type, type, type, …)" does not exist.
Error on “_____"
A.2 ランタイムエラー
java.lang.NullPointerException
java.lang.ArrayIndexOutOfBoundsException:
索引