初めてのProcessing 第2版

[cover photo]
TOPICS
Programming
発行年月日
PRINT LENGTH
592
ISBN
978-4-87311-861-1
原書
Learning Processing, 2E
FORMAT
Print PDF
Ebook
4,070円
Ebookを購入する
Print
4,070円

オブジェクト指向プログラミングの入門書。インタラクティブメディアやクリエイティブコーディングという興味深い文脈で、オブジェクト指向プログラミングをゼロから学びます。デザイナーやアーティストなどプログラミングによって何かを創造したい人だけでなく、プログラミングを学びたい人、プログラミングに興味があるすべての人を対象に、ProcessingによるプログラミングおよびProcessing環境の使い方を初心者にもわかりやすいステップアップ形式で丁寧に解説します。インタラクティブアート、ライブビデオ、データ可視化といった最先端のグラフィックアプリケーションを作成するために必要なプログラミングの基礎およびプログラムの構成要素を学ぶことができる、ユニークな実習形式のマニュアルです。

関連ファイル

目次

恩師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:

索引