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

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

Share
Preview
  1. Processing:ビジュアルデザイナーとアーティストのためのプログラミング入門
  2. Processing:ビジュアルデザイナーとアーティストのためのプログラミング入門
  3. Processing:ビジュアルデザイナーとアーティストのためのプログラミング入門
  4. Processing:ビジュアルデザイナーとアーティストのためのプログラミング入門
  5. Processing:ビジュアルデザイナーとアーティストのためのプログラミング入門
  6. Processing:ビジュアルデザイナーとアーティストのためのプログラミング入門
  7. Processing:ビジュアルデザイナーとアーティストのためのプログラミング入門

Description

デザイナー/アーティストのためのオープンソースのプログラミング環境「Processing」、その開発者自身による600ページ超のバイブルが遂に完訳!!

Processingは、デザイナーやアーティスト、またプログラミング初学者に向けて作られたプログラミング言語/環境です。そこでの体験は、文系と理系、デザインとエンジニアリング、感性と論理という両軸における領域横断接続をもたらし、〈ハイブリッド〉な才能を産み出します。
視覚芸術の文脈の中では、造形・動き・インタラクションをプログラミングするための力が養われ、ソフトウェアを作り出すためのリテラシーが身につきます。 また、プログラミング教育の必要性がますます高まる現在、導入が極めて手軽であり、理系ではない人たちに向けて作られているProcessingは、プログラミング自体の学習にも非常に適しています。
最も利用されているProcessing 2.0と、最新版の3.0に対応。


■日本語版オリジナルコンテンツ
・付録「Processing 3の新機能」
・インタビュー:幸村真佐男、杉原 聡、真鍋大度、和田 永

序文(ジョン・マエダ)

私がかつてMITで運営していた大学院のスタジオには、ユニークな才能が多く集まりました。彼らは、表現の手段としてコンピュータを扱うという根源的なバランスの課題を抱えていました。プログラミングをすることが、自分のデザイン的・芸術的な欲求の邪魔になることは望まない一方で、新しい視覚的な発見を導く小さな道すじを探る高度なコードをためらいなく書きました。この2つの知性のあり方は絶え間なく対立しますが、彼らの結論はシンプルでした。「どっちもやる」のです。

テクノロジーとアートの間にある深い淵を軽やかに横切っていくハイブリッドな才能を持つ人々は、アカデミックなシステムのなかでは突然変異体のようなものです。伝統的に、大学は技術系の学生や芸術系の学生を育成します。しかし、同じ一人の知性にその2つの知のあり方を混在させないのです。1990年代の間、こうした標準的な考えになんとか従わなかった突然変異体たちは私を探し出し、私自身も彼らを探して接触しようとしました。そうしたユニークな人たちを呼び集め出会わせることに、私は情熱を注いだのです。そのようにして、私はケイシー・リースとベン・フライに出会いました。

教師に最大の賛辞が送られるのは、教え子が教師を超えた時と言われます。彼らと一緒に働き始めてすぐに、その時はやってきました。そして、彼らが作ったProcessingはとどめの一撃でした。2人はインターネットをうまく活用して、最初は10人、100人、そして何万人と、ハイブリッドな才能を持つ世界中の人たちの興味を引きつけ、視覚的な実験への要求を大きく押し上げました。私が出かけるどんな場所でも、若いテクノロジーアーティストたちがProcessingのことをいつも話していて、ケイシーとベンに感謝を伝えるようお願いされます。

私は今はKleiner Perkins Caufiled & Byers(カリフォルニア州メンローパークにあるベンチャーキャピタル)のデザインパートナー(共同経営者)ですが、シリコンバレーにいるデザインとエンジニアリングの両方の才能を持つ多くの人たちが経済にインパクトを与える様子を目撃しています。コンピュータを使いこなすデザイナーたちは、Flipboard、Pinterest、Square、AirBnBやNestのような会社の製品に欠かせない技巧と繊細な感性をもたらしています。こうした会社のハイブリッドな才能を持つ人たちと彼らのチームは、そのデザイン過程でProcessingを直接的には使っていないとしても、「Processingの中の人」(最初は2人でしたが、ピクセルの魔術師であるダニエル・シフマンを含めたボーイズバンドに今は拡張されました)の仕事を高く評価しています。

私はここで、ベンとケイシーに感謝の意を表します。Processingが切り拓くコンピュータを使ったアートとデザインの新たな場所へついていこうとする全ての人たちに代わり、私は祈っています。芸術的な知性と計算的な知性をつなぐ架け橋を完璧なものにしようとする絶え間ない追求の中で、あなたたちがたくさんの眠れない夜を過ごすようにと。私は楽しみにしています。あなたたちが世界中のギャラリーや広告代理店やベンチャー企業にインパクトを与え続けることを。私たちは期待しています。コンピュータを使ったアートが、技術的な含蓄を持たない単なる芸術になる道をあなたたちが先導してくれることを。私たち全員が新しい場所にたどり着くには、あなたたちが頼りなのです。

ジョン・マエダ
Kleiner Perkins Caufiled & Byers デザインパートナー

ISBN:978-4-86100-950-1
定価:本体7,000円+税
仕様:B5判変型/688ページ
発売日:2015年09月20日
著者:ベン・フライ(Ben Fry)、ケイシー・リース(Casey Reas)
監訳者:中西泰人
翻訳者:安藤幸央、澤村正樹、杉本達應

Contents

日本語版に寄せて(ベン・フライとケイシー・リース)
監訳者のことば(中西泰人)
序文(ジョン・マエダ)
はじめに

1 Processingについて
2 Processingを使う
3 基本図形を描く
4 色
5 変数
6 フロー
7 インタラクティビティ
8 繰り返し
9 シンセシス 1
10 インタビュー:イメージ
 マンフレッド・モール(Une Esthetique Programmee)
 レットエラー(RandomFont Beowolf)
 ジャレド・ターベル(Fractal.Invaders、Substrate)
 ベンジャミン・マウス(Perpetual Storytelling Apparatus)
 幸村真佐男(Random Walk Kennedy)
11 テキスト
12 タイポグラフィ
13 画像
14 座標変換
15 頂点
16 3Dドローイング
17 シェイプ
18 シンセシス 2
19 インタビュー:インタラクション
 リン・ハーシュマン・リーソン(LORNA)
 ロバート・ウィンター(Ludwig van Beethoven: Symphony No.9)
 ジョッシュ・オン(They Rule)
 ステフ・シィリオン(Eliss)
 真鍋大度(pa++ern)
20 計算
21 乱数
22 動き
23 時間
24 関数
25 オブジェクト
26 シンセシス 3
27 インタビュー:モーション、パフォーマンス
 ラリー・キューバ(Calculated Movements)
 ボブ・サビストン(Waking Life)
 ゴラン・レヴィン、ザック・リーバーマン(Messa di Voce)
 スー・コスタービレ(Mini Movies)
 和田 永(Braun Tube Jazz Band)
28 配列
29 アニメーション
30 ダイナミックドローイング
31 シミュレート
32 データ
33 インターフェイス
34 画像処理
35 レンダーテクニック
36 シンセシス 4
37 インタビュー:環境
 マーク・ハンセン(Listening Post)
 ユルグ・レーニ(Hektor、Scriptographer)
 ジェニファー・スタインカンプ(Madame Curie)
 ユナイテッド・ビジュアル・アーティスツ(Origin)
 杉原 聡(エマーソン大学ロサンゼルス校 コートヤード・ファサード)
38 つづく

付録A 演算子の優先順位
付録B 予約語
付録C ASCII、Unicode
付録D ビット、バイナリ、16進数
付録E 最適化
付録F プログラミング言語
付録G Processing 3の新機能

Errata

初版第1刷
p.059、1行目 誤:
「あとに」に結果を
正:
「あとに」結果を
p.101、コード7-32、下から2行目 誤:
line(0, mouseY, height, mouseY);
正:
line(0, mouseY, width, mouseY);
p.101、コード7-32、下から2行目 誤:
line(0, mouseY, height, mouseY);
正:
line(0, mouseY, width, mouseY);
p.190、下から3~4行目 誤:
上端をY座標1.0に、下端をY座標-1.0に
正:
上端をY座標-1.0に、下端をY座標1.0に
p.190、コード14-26、下から6行目~ 誤:
// Draw within new coordinate system
ellipse(0, 0, 45, 45);
// 原点に描く
ellipse(width/2, height/2, 45, 45);
ellipse(width, height, 45, 45);

正:
// 新しい座標系で描く
ellipse(0, 0, 45, 45); // 原点に描く
ellipse(width/2, height/2, 45, 45);
ellipse(width, height, 45, 45);

p.205、テキスト1行目 誤:
助けが必要にです。
正:
助けが必要です。
p.245、コード2行目~ 誤:
// ヒーローが壁を越えて進まないようにする
if (x < -r) {
 mode = 1;
 x = width-r;
}
if (x > width-w-r) { // 右の壁
 x = width-w-r;
}
if (y > height-w-r) { // 下部の壁
 y = height-w-r;
}
if (y < w+r) { // 上部の壁
 y = w+r;
}
// 部屋2へ移動
if (x > width+r) {
 mode = 2;
 x = r;
}

正:
// ヒーローが壁を越えて進まないようにする
if (x > width-w-r) { // 右の壁
 x = width-w-r;
}
if (y > height-w-r) { // 下部の壁
 y = height-w-r;
}
if (y < w+r) { // 上部の壁
 y = w+r;
}
// 部屋1へ移動
if (x < -r) {
 mode = 1;
 x = width-r;
}

p.247、コード19行目~ 誤:
// ヒーローが壁を越えて移動しないようにする。
if (gate == true) {
 if (x < gx+r+5) { // 門
  x = gx+r+5;
 }
} else {
 ・・・
}

正:
//ヒーローが門や壁を越えて移動しないようにする
if (gate == true) {
 if (x < gx+r+w) { // 門
  x = gx+r+w;
 }
} else {
 ・・・
}

p.309、6行目 誤:
右い傾いた
正:
右に傾いた
p.363、コード24-27、6行目 誤:
for (int i = 0; i < num; num -= 1) {
正:
for (int i = 0; i <= num; num -= 1) {
p.364、コード24-29、3行目 誤:
int a = 35; // 上部の横棒の半分の長さ
正:
int a = 35; // 上部の横棒の長さ
p.364、コード24-30、3行目 誤:
int a = 35; // 上部の横棒の半分の長さ
正:
int a = 35; // 上部の横棒の長さ
p.370、4行目 誤:
クラスをダイアグラムを書き、
正:
クラスのダイアグラムを書き、
p.436、コード28-21、下から2行目 誤:
west配列からeast配列にコピー
正:
east配列からwest配列にコピー
p.438、10行目 誤:
このサンプルは379ページに掲載
正:
このサンプルは380ページに掲載
p.439、テキスト1行目 誤:
次の例では、372ページに掲載
正:
次の例では、375ページに掲載
p.446 コード29-04、下から8行目~ 誤:
void draw() {
 image(images[bottomFrame], 0, 50);
 topFrame = (topFrame + 1) % numFrames;
 image(images[topFrame], 0, 0);
 if ((millis() – lastTime) > 500) {
  ・・・
 }
}

正:
void draw() {
 image(images[topFrame], 0, 0);
 topFrame = (topFrame + 1) % numFrames;
 image(images[bottomFrame], 0, 50);
 if ((millis() – lastTime) > 500) {
  ・・・
 }
}

p.477、テキスト2行目 誤:
gravityの値とforrceYの値を
正:
gravityの値とforceYの値を
p.517、コード32-19、void draw()の中の6行目 誤:
rotateY(angle);q // mouseXで回転
正:
rotateY(angle); // mouseXで回転
p.534、コード33-16、下から5行目 誤:
サムを描画
正:
バーを描画
p.534、コード33-16、2行目 誤:
バーを描画
正:
サムを描画
p.553、コード34-31〜34-34、size()について 誤:
size(arch.width, arch.height);
正:
surface.setSize(arch.width, arch.height);
p.559、テキスト4行目 誤:
stopDraw()は描画し終わった
正:
endDraw()は描画し終わった
Related Books