fc2ブログ

Processingレクチャー 2回目

2回目の内容をまとめます。変更、追記箇所は赤文字にしています。
また、3回目の内容の一部も合わせて追記します。


来週は木曜日が祝日で休みなので金曜日のレクチャーも休みとします。
次回は再来週となります。また、次回以降は開始時間を20分ずらします。
木曜日は11時から、金曜日は15時からとなりますのでよろしくお願いします。



colorMode(mode, ~);
mode … RGB または HSB
RGB … 赤、緑、青の値を入力して色を指定します。
HSB … 色相、彩度、輝度の値を入力して色を指定します。

colorModeを指定しない場合は colorMode(RGB, 256); が設定されます。

colorMode(mode, a, b, c);
赤(色相)の範囲をa段階、緑(彩度)の範囲をb段階、青(輝度)の範囲をc段階に変更します。
透明度の範囲の段階は維持されます。

colorMode(mode, a, b, c ,d);
赤(色相)の範囲をa段階、緑(彩度)の範囲をb段階、青(輝度)の範囲をc段階、
透明度の範囲をd段階に変更します。

colorMode(mode, a);
赤、緑、青(色相、彩度、輝度)の各要素と透明度の範囲を一括でa段階に変更します。

colorMode(mode);
各要素と透明度の範囲の段階を維持しつつmodeを変更します。


Processingのメニュー「Tools」→「Color Selector」で色を選択する事で
RGBとHSBの各値を確認できます。

初めのうちは「Color Selector」にならってRGBなら256段階に、
HSBならHは360段階にSとBは100段階に設定するのがいいでしょう。
さらに透明度を利用するなら100段階に設定するのがいいでしょう。



background(~);
キャンパスを指定した色で塗りつぶします。

stroke(~);
線(図形の枠線や点を含む)の色を指定します。

fill(~);
図形の面の色を指定します。

これらは引数の数で色の指定の他にグレースケールや透明度を指定できます。
ただしbackground()では透明度は使えません。

~(a, b, c);
各要素の値に応じた色にします。

~(a, b, c, d);
透明度をもった、各要素の値に応じた色にします。透明度は値が小さいほど透過します。

~(a);
グレースケール(輝度aの無彩色)にします。aの段階はcolorMode()の2つ目の引数に準じます。
例えば colorMode(HSB, 360, 100, 100); ならグレースケールは360段階になります。

~(a, d);
透明度をもったグレースケールにします。dの段階はcolorMode()の5つ目の引数に準じます。



noStroke();
線(図形の枠線や点を含む)を非表示にします。再度表示させる場合はstroke()で色を指定します。

noFill();
面を非表示にします。再度表示させる場合はfill()で色を指定します。



smooth();
図形の描画を滑らかにします。処理に時間がかかります。

noSmooth();
smooth()を解除します。




strokeWeight(w);
線(図形の枠線や点を含む)を幅wの太さにします。
幅を太くすると、strokeCap()に応じて線の両端の形状が変わります。
また、strokeJoin()に応じて曲がった時の角の形状も変わります。

strokeCap(ROUND);  ←指定なしと同じ
線の両端に直径wの半円型のキャップをつけます。

strokeCap(SQUARE);
線の両端のキャップを非表示にします。point()では正しく点が描画されません。

strokeCap(PROJECT);
線の両端にROUNDのキャップを覆い被さるような長方形のキャップをつけます。
point()では点がダイヤ状に描画されます。

strokeJoin(MITER);  ←指定なしと同じ
線が曲がった時の角をとがらせます。

strokeJoin(BEVEL);
線が曲がった時の角を削ります。

strokeJoin(ROUND);
線が曲がった時の角を丸くします。



以下にサンプルプログラムを載せます。各自確認して下さい。

//sample
//描画する図形は変えずにstroke(), strokeWeight(),
//strokeCap(), strokeJoin()をそれぞれ変えて違いを表します

size(300, 300);
colorMode(HSB, 360, 100, 100);
background(0);
noFill();

//色:赤 幅:30 端:SQUARE 角:MITER
stroke(0, 75, 99);
strokeWeight(30);
strokeCap(SQUARE);
strokeJoin(MITER);

rect(60, 20, 180, 260);
beginShape();
vertex(115, 45);
vertex(185, 115); //鋭角
vertex(115, 115); //直角
vertex(115, 185); //鈍角
vertex(185, 255);
endShape();

//色:緑 幅:20 端:ROUND 角:ROUND
stroke(120, 75, 99);
strokeWeight(20);
strokeCap(ROUND);
strokeJoin(ROUND);
smooth();

rect(60, 20, 180, 260);
beginShape();
vertex(115, 45);
vertex(185, 115);
vertex(115, 115);
vertex(115, 185);
vertex(185, 255);
endShape();

//色:青 幅:10 端:PROJECT 角:BEVEL
stroke(240, 75, 99);
strokeWeight(10);
strokeCap(PROJECT);
strokeJoin(BEVEL);
noSmooth();

rect(60, 20, 180, 260);
beginShape();
vertex(115, 45);
vertex(185, 115);
vertex(115, 115);
vertex(115, 185);
vertex(185, 255);
endShape();

//色:白 幅:1
stroke(0, 0, 99);
strokeWeight(1);
strokeCap(SQUARE);
strokeJoin(MITER);

rect(60, 20, 180, 260);
beginShape();
vertex(115, 45);
vertex(185, 115);
vertex(115, 115);
vertex(115, 185);
vertex(185, 255);
endShape();
スポンサーサイト



tag: [Processing]
プロフィール

Moonwalkers

Author:Moonwalkers
メディアアート、インタラクティブメディア制作ゼミ

最新記事
タグクラウドとサーチ

カテゴリ
月別アーカイブ
ディクテーション
Polyglot Free Language Lessons Online
リンク
Twitter
検索フォーム
RSSリンクの表示
QRコード
QRコード