51
Processingについて @reona396

プログラミング初心者さん歓迎! アートでデザインなプログラミング言語 Processing について

Embed Size (px)

Citation preview

Page 1: プログラミング初心者さん歓迎! アートでデザインなプログラミング言語 Processing について

Processingについて

@reona396

Page 2: プログラミング初心者さん歓迎! アートでデザインなプログラミング言語 Processing について

@reona396 情報電気電子工学専攻修士1年 Processingについて研究中 ブログ:だらっと学習帳

http://blog.livedoor.jp/reona396/

BNN新社「[普及版]ジェネラティブ・アート」日本語版編集協力

2

Page 3: プログラミング初心者さん歓迎! アートでデザインなプログラミング言語 Processing について

プログラミング初心者の方へ

Processingとはどのようなものか

どうしてProcessingがオススメなのか

プログラミング経験者の方へ

近年のProcessingの進化

プログラミング教育とProcessing

3

Page 4: プログラミング初心者さん歓迎! アートでデザインなプログラミング言語 Processing について

そもそもProcessingとは

4

Page 5: プログラミング初心者さん歓迎! アートでデザインなプログラミング言語 Processing について

Javaベースのプログラミング言語および環境 コンピュータグラフィック作成に特化 もちろんオープンソース&無料!

5

Page 7: プログラミング初心者さん歓迎! アートでデザインなプログラミング言語 Processing について

PDE(Processing Develop Environment)

スケッチ

7

Page 8: プログラミング初心者さん歓迎! アートでデザインなプログラミング言語 Processing について

エディタ

PDE(Processing Develop Environment)

実行ボタン&

停止ボタン

コンソール

モードチェンジボタン(Java,JavaScript,Android…)

8

Page 9: プログラミング初心者さん歓迎! アートでデザインなプログラミング言語 Processing について

PDEのモードチェンジボタンから変更可能

Javaモード : 通常モード、実行ファイル作成 JavaScriptモード : Webへの公開 Androidモード : Androidアプリ作成 Tweakモード :スケッチの気軽な編集

9

Page 10: プログラミング初心者さん歓迎! アートでデザインなプログラミング言語 Processing について

1. Processing.org からProcessingのzipファイルをダウンロード

2. zipファイルを展開3. PDEを起動4. コードを書く5. 実行ボタンを押す

10

Page 11: プログラミング初心者さん歓迎! アートでデザインなプログラミング言語 Processing について

Processingで何が作れるのか

11

Page 12: プログラミング初心者さん歓迎! アートでデザインなプログラミング言語 Processing について

“Magnetosphere”iTunes 公式ビジュアライザ

引用元 絵心がなくても簡単に絵が描けるProcessing -@IT 12

Page 13: プログラミング初心者さん歓迎! アートでデザインなプログラミング言語 Processing について

メジャーリーグにおける勝率ランキングとチーム運営費の比較

引用元書籍「ビジュアライジング・データ」

13

Page 14: プログラミング初心者さん歓迎! アートでデザインなプログラミング言語 Processing について

アメリカの郵便番号対応地図14引用元 書籍「ビジュアライジング・データ」

Page 15: プログラミング初心者さん歓迎! アートでデザインなプログラミング言語 Processing について

アメリカの郵便番号対応地図15引用元 書籍「ビジュアライジング・データ」

Page 18: プログラミング初心者さん歓迎! アートでデザインなプログラミング言語 Processing について

ArduinoはProcessingベース センサーデータをProcessingでグラフ化等

18

Page 19: プログラミング初心者さん歓迎! アートでデザインなプログラミング言語 Processing について

PDEに「Android」モード搭載 ProcessingのスケッチをAndroid上で動作可能

19

Page 20: プログラミング初心者さん歓迎! アートでデザインなプログラミング言語 Processing について

Processingがオススメな理由

20

Page 21: プログラミング初心者さん歓迎! アートでデザインなプログラミング言語 Processing について

文法が簡単 環境を整えるのが簡単 プログラムの結果がすぐにわかる プログラムの結果が楽しくわかる 応用が利く 充実の制作サポート

Tweakモード

デバッグとコード補完

OpenProcessing

21

Page 22: プログラミング初心者さん歓迎! アートでデザインなプログラミング言語 Processing について

文法が簡単 環境を整えるのが簡単 プログラムの結果がすぐにわかる プログラムの結果が楽しくわかる 応用が利く 充実の制作サポート

Tweakモード

デバッグとコード補完

OpenProcessing

22

Page 23: プログラミング初心者さん歓迎! アートでデザインなプログラミング言語 Processing について

例 : 以下の条件をProcessingとJavaで描く

大きさは200×200 背景は白 (x,y) = (100,100) の位置に黒いドットを描く

23

Page 24: プログラミング初心者さん歓迎! アートでデザインなプログラミング言語 Processing について

引用元ProcessingとJavaの関係 – Expressive Programming | Yasushi Noguchi Class

size(200, 200);background(255);

// Draw a dotpoint(100, 100);

Processingの場合

24

Page 25: プログラミング初心者さん歓迎! アートでデザインなプログラミング言語 Processing について

import java.applet.Applet;import java.awt.Graphics;import java.awt.Color;

public class GraphicsTest extends Applet{

public void paint(Graphics g){g.setColor(Color.white);g.fillRect(0, 0, 200, 200);

g.setColor(Color.black);g.drawLine(100, 100, 100, 100);

}}

Javaの場合

25

引用元ProcessingとJavaの関係 – Expressive Programming | Yasushi Noguchi Class

Page 26: プログラミング初心者さん歓迎! アートでデザインなプログラミング言語 Processing について

文法が簡単 環境を整えるのが簡単 プログラムの結果がすぐにわかる プログラムの結果が楽しくわかる 応用が利く 充実の制作サポート

Tweakモード

デバッグとコード補完

OpenProcessing

26

Page 27: プログラミング初心者さん歓迎! アートでデザインなプログラミング言語 Processing について

エディタはアレじゃないと…

まずはコンパイラを…初心者を悩ませる壁

27

Page 28: プログラミング初心者さん歓迎! アートでデザインなプログラミング言語 Processing について

初心者を悩ませる壁

実際に「プログラミング」を始めるまでが

長い!!

28

Page 29: プログラミング初心者さん歓迎! アートでデザインなプログラミング言語 Processing について

29

1. Processing.org からProcessingのzipファイルをダウンロード

2. zipファイルを展開3. PDEを起動4. コードを書く5. 実行ボタンを押す

Processingならこの5ステップだけ!

Page 30: プログラミング初心者さん歓迎! アートでデザインなプログラミング言語 Processing について

文法が簡単 環境を整えるのが簡単 プログラムの結果がすぐにわかる プログラムの結果が楽しくわかる 応用が利く 充実の制作サポート

Tweakモード

デバッグとコード補完

OpenProcessing

30

Page 31: プログラミング初心者さん歓迎! アートでデザインなプログラミング言語 Processing について

プログラムを書いて実行ボタンを押すだけ エラーもコンソールに出力

31

Page 32: プログラミング初心者さん歓迎! アートでデザインなプログラミング言語 Processing について

文法が簡単 環境を整えるのが簡単 プログラムの結果がすぐにわかる プログラムの結果が楽しくわかる 応用が利く 充実の制作サポート

Tweakモード

デバッグとコード補完

OpenProcessing

32

Page 33: プログラミング初心者さん歓迎! アートでデザインなプログラミング言語 Processing について

従来のプログラミングの演習

四則演算の結果を出力 数字のソート

33

Page 34: プログラミング初心者さん歓迎! アートでデザインなプログラミング言語 Processing について

従来のプログラミングの演習

四則演算の結果を出力 数字のソート本当はゲームを作りたいのに…

なんか退屈…

これでアプリとか作れるのかな…

34

Page 35: プログラミング初心者さん歓迎! アートでデザインなプログラミング言語 Processing について

Processingを利用したプログラミング演習

単純なお絵描き ゲーム作り Webに展示して品評会 Androidアプリへの応用

35

Page 36: プログラミング初心者さん歓迎! アートでデザインなプログラミング言語 Processing について

Processingを利用したプログラミング演習

単純なお絵描き ゲーム作り Webに展示して品評会 Androidアプリへの応用

36

モチベーションを保ったまま学習に取り組める

Page 37: プログラミング初心者さん歓迎! アートでデザインなプログラミング言語 Processing について

文法が簡単 環境を整えるのが簡単 プログラムの結果がすぐにわかる プログラムの結果が楽しくわかる 応用が利く 充実の制作サポート

Tweakモード

デバッグとコード補完

OpenProcessing

37

Page 38: プログラミング初心者さん歓迎! アートでデザインなプログラミング言語 Processing について

ProcessingはJavaベース→それほどクセは強くない

JavaScriptモードやPythonモード等他言語との連携の充実化

アプリケーション作成など実践につながる

38

Page 39: プログラミング初心者さん歓迎! アートでデザインなプログラミング言語 Processing について

文法が簡単 環境を整えるのが簡単 プログラムの結果がすぐにわかる プログラムの結果が楽しくわかる 応用が利く 充実の制作サポート

Tweakモード

デバッグとコード補完

OpenProcessing

39

Page 40: プログラミング初心者さん歓迎! アートでデザインなプログラミング言語 Processing について

スケッチを実行しながらプログラムを編集 変数、色を結果を見ながら変更可能 他の人がつくったプログラムの解析に便利

40

Page 42: プログラミング初心者さん歓迎! アートでデザインなプログラミング言語 Processing について

文法が簡単 環境を整えるのが簡単 プログラムの結果がすぐにわかる プログラムの結果が楽しくわかる 応用が利く 充実の制作サポート

Tweakモード

デバッグとコード補完

OpenProcessing

42

Page 43: プログラミング初心者さん歓迎! アートでデザインなプログラミング言語 Processing について

デバッグ機能が搭載されたことでリアルタイムにエラーを検出

コード補完機能による入力補助

43

Page 44: プログラミング初心者さん歓迎! アートでデザインなプログラミング言語 Processing について

文法が簡単 環境を整えるのが簡単 プログラムの結果がすぐにわかる プログラムの結果が楽しくわかる 応用が利く 充実の制作サポート

Tweakモード

デバッグとコード補完

OpenProcessing

44

Page 45: プログラミング初心者さん歓迎! アートでデザインなプログラミング言語 Processing について

Processingの作品投稿・共有サイト 多くのProcessingユーザが利用 コード閲覧やコメント機能等

45

Page 46: プログラミング初心者さん歓迎! アートでデザインなプログラミング言語 Processing について

実際に授業をしてみて

46

Page 47: プログラミング初心者さん歓迎! アートでデザインなプログラミング言語 Processing について

学部二年生向け「プログラミング演習」

本来はC言語によるアルゴリズムの実装の学習

毎回冒頭でProcessingの情報を提供

毎回のアルゴリズム実装の課題はC言語で出題

学期末課題としてProcessingで自由に作品制作

学部一年生向け「情報リテラシー実習」

本来はLinuxの操作に関する授業

学期末にプログラミング入門として導入

47

Page 48: プログラミング初心者さん歓迎! アートでデザインなプログラミング言語 Processing について

二年生の授業

C言語より興味を持って接してもらえた

意欲的な学生は本格的なゲームを制作

一年生の授業

「このしくみはゲームではこういう所に利用されています」で注目度が上がった

導入、Processingの独自文法の解説、プログラミングの基礎が90分に収まった

自分でプログラムを改造して積極的にしくみを試している学生も多数

48

Page 49: プログラミング初心者さん歓迎! アートでデザインなプログラミング言語 Processing について

まとめ

49

Page 50: プログラミング初心者さん歓迎! アートでデザインなプログラミング言語 Processing について

プログラミング初心者の方へ

Processingとはどのようなものか

どうしてProcessingがオススメなのか

プログラミング経験者の方へ

近年のProcessingの進化

プログラミング教育とProcessing

50

Page 51: プログラミング初心者さん歓迎! アートでデザインなプログラミング言語 Processing について

ご意見、ご感想はこちらへお願いします

Twitter : @reona396

ご覧いただきありがとうございました!

解説記事もぜひご覧ください!オープンソースカンファレンス2014福岡に

参加しました : だらっと学習帳

51