Archive for the ‘processing’ Category

[processing] なんかいろいろ

P01


Processingでなんかいろいろやってみようと思ってチャレンジ。
まあ結果はやっぱりよくわかんないのが出来てタイムアップ。

うーんむずかしい。。

そろそろProcessingでの3Dにチャレンジしたい気持ちです。
コミュニティーてきなとこ見ながらやってみます!!



[processing] 樹木曲線

最近はProcessingの勉強ばっかりです。
Matrixやtranslateの勉強になりそうだったので下の画像のような樹木曲線を描画する勉強。
tree
http://www.openprocessing.org/ にあったやつを参考。
ただどこのページだったか忘れたのでリンクはトップページです。

ものすごいシンプルなソースで作られていてすごい! 
勉強になる。

実際のソースは、ほぼほぼ参考にしたやつからとりあえずいらない部分(マウスでの回転とか)を抜いたやつなので
全体は元の参考サイトを参考に。

一部分のソース抜粋

void start(int d)
{
  pushMatrix();
  rotateX(radians(angle));
  rotateZ(radians(angle));
  drawTree(d);
  popMatrix();
}

void drawTree(int d)
{
  scale(0.8);  
  int len = 50;
  translate(0,-len);
  line(0,len,0,0);
  if(d > 0) start(d - 1);
} 



pushMatrix();
で現状の状態の保存して

rotateX(radians(angle));
rotateZ(radians(angle));

で座標の回転をしてあげて

drawTree();
で線の描画

popMatrix();
で座標の回転をする前に戻す感じみたいです。

drawTree(); の中では
translate(0,-len);
で座標を任意の数値マイナス方向に上げて、
line(0,len,0,0);
で線の描画。


例).
たとえば、元の基準の座標が(0,0)だったときに
len=50だとして

translate(0,-len);
で 基準の座標が(0,-50)になる。
そこから line(0,len,0,0); で線を引く。

2回目は(0,-50)の状態から
translate(0,-len);
をするので 基準の座標が(0,-100)になる。
(0,-100)の状態から line(0,len,0,0); で線を引くので結果的に-50上にずれる。

これの繰り返し。
これをくりかえしえていけば樹木曲線のようなフラクタル図形を描画できるっぽいですね。
他のフラクタル図形も書けそうな感じです。たぶん。わかんないですけど。

Processingはas3.0よりも直感的に書けるきがする。
楽しい。

参考:http://www.openprocessing.org/




[processing] Eclipseを使ってみたメモ

ProcessingをやるさいにEclipseを使ってみました。
Eclipseのサイト : http://www.eclipse.org/

コード入力補助があるのでかなり便利。
でもいろいろ設定とか面倒な感じです。。

とりあえず、
Built with Processing[Ver. 1.x対応版] -デザイン/アートのためのプログラミング入門

にインストールの手順などなど詳しく書いてあったので忘れそうな部分だけメモ。


前準備

1. File → Java Project を開く そのプロジェクトの名前を入力
2. Processingのライブラリのインポートする
3. 右クリックでImportを押す
4. Flie System で Next を押し core.jar ファイルをインポート ※ProgramFileの中のProcessing/lib から
5. プロジェクトのところで右クリックでProperties
6. Java Build Path → Add JAR… インポートした core.jar ファイルを選択
7. あとはNew→Classで新しいファイル作る
以上で前準備がやっとこ完了。


スケッチを描くときのいろいろ

import processing.core.*;
public class test extends PApplet
{
	/**
	 * setup
	 */
	public void setup()
	{	
	}
	
	/**
	 * draw
	 */
	public void draw()
	{
	}
}



最初にインポートをする必要がある。
import processing.core.*; 



あとは、
public class test extends PApplet


のように、PAppletを継承させる。
最初書き出すときは、上のコードをコピペして作りだせばいいかな~と思いました。


コード入力補助

Ctrl + Space を押すとコード入力補助が出てくる。 
FlashDevelopとかみたいに勝手に出てくれるわけじゃない見たいです。


※追記

void keyPressed()
{
  save("任意の名前.png");
}


でキレイにpngに書き出せるっぽいです!
次からはこれで!

あとはやっていきながらちょこちょことメモをしていく感じで。

今日、openframeworksというものにものすごく興味を持ちました。
詳しいことはよくわかんないんですけどね、、
とりあえず面白そう!!

C++ベースということで触る前から壁を感じているのですが、とりあえずamazonで本を買ったので
届いたらチャレンジしてみます!!





[processing] 基礎の勉強 #2

基礎の勉強 #2
関数の部分。

初期化

初期化を行う関数は決められているっぽいので


void setup()
{
   //初期化
}
 


この中で、ステージサイズや色のモード、フレームレートとか背景色とかを設定する


繰り返し処理


void draw()
{
   //繰り返し
}
 


as3.0でいうところのenterFrameてきなメソッドみたいです。


グローバル変数とかローカル変数とかも関数の中にかけばローカルだし外に書けばグローバル。