More Related Content
Similar to Processing (20)
Processing
- 1. 目次
●
インストール
●
とりあえず使ってみる
●
動かしてみる
●
函数の作り方
●
クラス
●
プログラムの慣習
●
まとめ
- 2. 1. インストール
●
“processing”で検索
●
“processing.org”というサイトにアクセス
- 3. 1. インストール
●
“Download Processing”をクリック
●
自分の環境にあったものをダウンロード
- 4. 1. インストール
●
Windowsの人はzipファイルを適当な場所に展
開するだけ
●
Macの人は.dmgファイルを使っていつも通り
にインストール
→ それでは使ってみよう!
→ をダブルクリック
- 5. 2. とりあえず使ってみる
●
左上の再生みたいなボ
タンを押してみよう!
これ ●
これがプログラムを走
らせるボタン。一番良
く使う
●
“Ctrl+R”(Windows)
●
“Command+R”(Mac)
- 7. 2. とりあえず使ってみる
*これを打ち込んで、走らせてみてください。
*走らなければ何かミスがあります。
void setup(){
background(0); //背景を黒に
size(300,300); //ウィンドウを300x300に
smooth(); //きれいに表示させるための呪文
}
void draw(){
fll(255,0,0); //RGBで塗りつぶしの色指定
noStroke(); //輪郭線なし
ellipse(100,100,50,50); //中心(100,100)幅高さが50の楕円(この場合は正円)を描く
noFill(); //塗りつぶしなし
stroke(0,0,255); //輪郭線の色指定
rect(200,150,80,100); //左上の頂点が(200,150)の幅80,高さ100の長方形を描く
}
※ 数学とは違い、コンピュータではy軸が下向きなので注意
- 8. 2. とりあえず使ってみる
●
こんな感じな画面が出
ましたか?
●
数字の部分をいろいろ
弄ってみてください
●
どの数字がどこに対応
してるか分かると思い
ます
- 9. 3. 動かしてみる
●
Processingでは
●
setup()を一度だけ実行
●
draw()を繰り返し実行
しています。
void setup(){
... void draw(){
} ...
}
- 10. 3. 動かしてみる
●
それじゃ、さっきのプログラムを変えて、
円を回転させてみよう。
foat phase = 0;
void setup(){
background(0);
size(300,300);
smooth();
}
void draw(){
fll(255,0,0);
noStroke();
ellipse(150+100*cos(phase),150+100*sin(phase),50,50);
phase += TWO_PI / 360; //回転角を1°ずつふやす。
while( phase > TWO_PI ) phase -= TWO_PI; //回転角を0°から360°の間に
}
- 11. 3. 動かしてみる
●
表示がおかしい。
●
コンピュータは
描き直すのではなく
上塗りしていく
↓
●
一度塗りつぶそう。
- 12. 3. 動かしてみる
foat phase = 0;
void setup(){
background(0);
size(300,300);
smooth();
}
void draw(){
Background(0); //塗りつぶし
fll(255,0,0);
noStroke();
ellipse(150+100*cos(phase),150+100*sin(phase),50,50);
phase += TWO_PI / 360;
while( phase > TWO_PI ) phase -= TWO_PI;
}
- 13. 3. 動かしてみる
●
できた!
●
今まで出てきた函数
– size(), background(),
smooth(), fll(), noFill(),
stroke(), noStroke(),
ellipse(), rect(), cos(), sin()
– これ以外にもいっぱい函数
あります。
- 14. 3. 動かしてみる
●
函数をドラッグして選択して
Ctrl(Command)+Shift+F
●
するとリファレンス(説明書)が出てきます
- 15. 4. 函数の作り方
●
函数とは
●
いくつかの処理をまとめたもの
– 同じ処理を何回も書いてもいいんだけど面倒
– 処理を読みやすい
例えば、
– 「赤く塗りつぶす」「輪郭線をなくす」「円を描く」
という3つの処理ではなく、
「赤い輪郭線のない円を描く」という1つの処理にまと
めると、何回も書くときに楽だし、読みやすい。
- 16. 4. 函数の作り方
●
函数を作るには次のようにかきます。
型 函数名(引数1, 引数2, ...){
処理.....
return 返り値;
}
●
例えば、
– 整数aと整数bを受け取って、足し合わせる函数
int add(int _a, int _b){
int c = _a+_b;
return c;
}
- 17. 4. 函数の作り方
●
型とは
コンピュータが扱うデータはいろいろある。
e.g.) 整数、実数、文字、真偽値 etc.
それぞれを型と呼ぶ。
具体的には
整数型: int型など
実数型: foat型など
文字型: char型, ( String型 )など
真偽値: bool型
●
さっきの函数は整数の足し算で、整数を返すので函
数の型としてint型がつかわれている。
- 18. 4. 函数の作り方
●
一度函数を作ってしまえば、そのプログラム内
では、用意されてる函数(ellipseとか)と同じよ
うに使えます。
●
昔、作った物で「何をやってるんだ?」ってな
ることが結構ある。一つのまとまった処理を函
数にまとめておくと、後から見ても見やすい。
- 19. 5. クラス
●
クラスとは
いろんな数値や函数をもったモノを作る「設計図」
●
具体的には
●
車(car)という物には燃料(fuel)という数値や走る
(run)という機能を持っている。
– 車の燃料→car.fuel
– 車が走る→car.run()
●
クラスの中の函数のことを特にメソッドという
- 20. 5. クラス
●
クラスはあくまで設計図
●
設計図をもとにモノを作らないといけない
– このモノをインスタンスという
– このモノを作ることをインスタンス化という
●
逆にいうと、
– 一度、設計図を作ると同じ物を大量生産できる
- 21. 5. クラス
●
クラスの作り方
class クラス名{
修飾子 型 変数...
コンストラクタ
修飾子 型 メソッド(引数){
}...
}
- 22. 5. クラス
●
修飾子とは
public, private, protectedの三つある
– public → 全体に公開
– private → 公開しない
– priotectedについては最初のうちは必要ないので省略
– 公開するとクラスの外から変数を書き換えることができ
て便利
– でも書き換える必要がないものを公開してしまうと、間
違えて書き換えてしまい、バグがおきることがある。
– イメージとしては時計
●
使ってる人は針だけ見えればいい。
●
中の構造は隠しておかないと、間違って壊してしまう。
- 23. 5. クラス
●
コンストラクタ
コンストラクタとは初期化するための函数で、
クラスをもとにインスタンスが作られるときに実行
されます。
●
コンストラクタの作り方
クラス名(引数){
処理...
}
- 24. 5. クラス
●
だいたいこんな形になる。
class Car{
public foat fuel;
...
Car(int _fuel){
fuel = _fuel;
...
}
public void run(){
vel += 1;
pos += vel;
fuel -= 1;
...
}
...
}
- 25. 5. クラス
●
インスタンス化の仕方
Car car1;
void setup(){
car1 = new Car(100); // 最初の燃料が100
}
●
流れとしては
– 「car1っていうのはCarである」
– 「Carに100を入れて新しく作ってcar1とする」
●
ちょっと冗長ですが。
- 26. 5. クラス
●
メソッドの使い方
car1.run(); のように使う。
●
変数の変更の仕方
car1.fuel = 200;のように使う。
- 27. 6. プログラムの慣習
●
インデント
{ }のまとまりがわかりやすいように字下げする。
●
例
void draw(){
for(int i=0; i<10; i++){
if( i > 5 ){
print(i);
}
}
}
●
こうすると括弧の数を間違えたりしにくいし、どこ
までが条件分岐で、どこまでが繰り返しかなどが分
かりやすい。
- 28. 6. プログラムの慣習
●
変数名、函数名は小文字から始める。
●
例
foat fuel;
int add(int _a, int _b){
...
}
●
クラスの名前は大文字から始める
●
例
class Car{
...
}
- 29. 6. プログラムの慣習
●
単語の区切れ目は大文字にして表す
●
例
class SuperCar{
...
}
int posX;
int addNumbers(int _a, int _b){
...
}
●
こうすると単語として読みやすくなる。
- 30. 6. プログラムの慣習
●
函数の引数に_(アンダーバー)をつける
●
例
int add(int _a, int _b){
...
}
●
分かりやすくするために、名前を付けると名前がぶ
つかることがある。
●
そんなとき、こうすると、同じ名前の変数があった
ときに区別することができる。
- 31. 7. まとめ
●
これだけ分かってれば、あとは自分で調べて勉
強できると思います。
●
勉強に役立つサイト
– OpenProcessing(http://www.openprocessing.org/)
●
Processing関連のサイトはProce55ingで検索
するとよく引っかかります。
●
ProcessingのサイトでReferenceに行くと、
どんな函数があるのか調べられます。
- 32. 7. まとめ
●
絵を出すだけでなく、音を出したり、電子工作
と組み合わせたりするために「ライブラリ」と
呼ばれる物もあります。
●
いろいろ組み合わせると楽しい作品が作れると
思います。
●
それでは Enjoy Processing!