Archive for 2008 年 4 月

[Flash]Processingの教材をFlashで(2)

Processingのソースを参考にして、Flashで作るsketch練習の続き。

 

教材は引き続き、パリで行われたらしいProcessing workshopのソース。
ダウンロードしたProcessingのソース「01_Classes」>「_08_Arbre_Fractale」をFlashにした。

Processing workshop in Paris - code sources | v3ga
http://v3ga.net/blog/2008/04/processing-workshop-in-paris-code-sources/

 

再帰でフラクタルを描くやつ。画面のXマウス位置に応じて、枝の角度が変わるようになってる。

TreeFractal_AS3_p5

Flashで作ったけど機能としてはProcessingと同じようにできた。
Processingのやつは再帰的に線を描画していく中で、描画に対する指定が加算されていくから、特別に座標や角度の計算を気にする必要は無い。


void dessine(float x, float y, float angle) {
 	pushMatrix();
 	translate(x,y,0);

 	rotate(angle);
 	line(0,0,0,-longueur);

 	dessineFilles(float(mouseX)/float(width)*PI/5);
 	popMatrix();
}

 

それを、まぁFlashならではということで、それぞれの線はまっすぐ上向きで同じだけど、Spriteの入れ子入れ子で回転角度が加算されているような構造にしてみた。Spriteの配置位置は(0,0)から親Spriteの線の長さ分だけ上方向にずらす感じ。

TreeFractal_AS3_01

 

EnterFrameMouseMoveでmouseXを取って角度が変わるけど、線の描画を毎度行ってるのではなく各Spriteの角度を変化させてる。このTree型のフラクタルの枝の角度が変わるのが楽しかったので、パラメータをいじれるようにしてみた。

今回も負荷は高め。そしてコンテンツ開始と同時に再帰再帰でフラクタルを描くから、環境によっては15秒ルールで厳しいかも。


private function draw( lineAngle:Number ) : void {
 	rotation = lineAngle;
 	//scaleX = lineAngle / 180 * 2;
 	drawChildren( lineAngle );
}

なんか回転だけじゃなく、適当にsacleXとかやってみたりしたら、全く予想もしない図柄になってしまった。

TreeFractal_AS3_03

 

ソース:TreeFractal_AS3.zip
ソース:TreeFractal_AS3param.zip

 

Related posts

[Flash]Processingの教材をFlashで

Processingのソースを参考にして、Flashで作るsketchの練習。

 

今回の教材は、パリで行われたらしいProcessing workshopのソース。

Processing workshop in Paris - code sources | v3ga
http://v3ga.net/blog/2008/04/processing-workshop-in-paris-code-sources/

 

その中から、いくつかをFlashで作って遊んでみた。

_04_Points_Proximites

まずは、ダウンロードしたProcessingのソース「01_Classes」>「_04_Points_Proximites」で動作を確認。
ドラッグすると、赤い円が描画され、画面の端で跳ね返りながら、円同士が近づくと、線で繋がれる。

さすが、パリでのworkshopということだけあって、コメントや変数名がフランス語。それを英語に変換しつつ、AS 3.0 用に直したりして、Flashにソースを移植。

 

で、Flashで作ったのがこれ。ドラッグじゃなくて、マウスダウンで描画する。
円の数が増えると大変なことになるので無理をしないことをおすすめ。



Processingでは毎フレームdrawで背景ベタ塗りと円と線を描いているのだけど、このFlashではShapeの座標を移動させる方法でやってみた。

Flashでも線は毎フレーム描画。Processingのと同じように配列for文の入れ子で全ての円に対し距離判定して、線を描いているけど、やっぱきびしい。

 

それにProcessingのやつでは「F」キーで円の移動残像モードとかやってるけど、毎フレーム半透明の塗りで全面を覆っていくとかFlashじゃ「もういや!」って感じでやってない。

ソース:PointsProximities_AS3.zip

 

Related posts

[Mac]Leopard に入っているSVNでリポジトリ作成

さて、リポジトリを作ってみるか。ということで、

[Mac]Leopard に入っているSubversion確認
http://violentcoding.com/blog/2008/04/16/archives/115

の続き。

 

ホームの「書類」に「test」フォルダを作っておいて、myRepositoryというリポジトリでも作ってみる。
svnadmin の create でリポジトリとなるディレクトリのパスを指定してやる。

$ svnadmin create Documents/test/myRepository

はい、終了。

 

これだけじゃ寂しいので、ちゃんとできてるか svn の checkout で確認してやる。
さっき作ったリポジトリをURLで書いてあげて・・・

$ svn co file://localhost/Users/violentcoding/Documents/test/myRepository

 

どうかな?

Checked out revision 0.

うん、OK。

Related posts

[Mac]Leopard に入っているSubversion確認

そういえば、Leopardに標準で入っているという噂のSubversionを全く見ていなかったので、まずは確認。

ターミナルで

$ svn --version

おぉ、いましたね!

svn, version 1.4.4 (r25188)
   compiled Sep 23 2007, 22:32:34

Copyright (C) 2000-2006 CollabNet.
Subversion is open source software, see http://subversion.tigris.org/
This product includes software developed by CollabNet (http://www.Collab.Net/).

The following repository access (RA) modules are available:

* ra_dav : Module for accessing a repository via WebDAV (DeltaV) protocol.
  - handles 'http' scheme
  - handles 'https' scheme
* ra_svn : Module for accessing a repository using the svn network protocol.
  - handles 'svn' scheme
* ra_local : Module for accessing a repository on local disk.
  - handles 'file' scheme

よし、ヘルプを。

$ svn help

でました。

usage: svn <subcommand> [options] [args]
Subversion command-line client, version 1.4.4.
Type 'svn help <subcommand>' for help on a specific subcommand.
Type 'svn --version' to see the program version and RA modules
  or 'svn --version --quiet' to see just the version number.

Most subcommands take file and/or directory arguments, recursing
on the directories.  If no arguments are supplied to such a
command, it recurses on the current directory (inclusive) by default.

Available subcommands:
   add
   blame (praise, annotate, ann)
   cat
   checkout (co)
   cleanup
   commit (ci)
   copy (cp)
   delete (del, remove, rm)
   diff (di)
   export
   help (?, h)
   import
   info
   list (ls)
   lock
   log
   merge
   mkdir
   move (mv, rename, ren)
   propdel (pdel, pd)
   propedit (pedit, pe)
   propget (pget, pg)
   proplist (plist, pl)
   propset (pset, ps)
   resolved
   revert
   status (stat, st)
   switch (sw)
   unlock
   update (up)

Subversion is a tool for version control.
For additional information, see http://subversion.tigris.org/

 

じゃあ、svnadmin。

$ svnadmin --version

うんうん。

svnadmin, version 1.4.4 (r25188)
   compiled Sep 23 2007, 22:32:34

Copyright (C) 2000-2006 CollabNet.
Subversion is open source software, see http://subversion.tigris.org/
This product includes software developed by CollabNet (http://www.Collab.Net/).

The following repository back-end (FS) modules are available:

* fs_fs : Module for working with a plain file (FSFS) repository.

で、ヘルプ。

$ svnadmin help

どーん!

general usage: svnadmin SUBCOMMAND REPOS_PATH  [ARGS & OPTIONS ...]
Type 'svnadmin help <subcommand>' for help on a specific subcommand.
Type 'svnadmin --version' to see the program version and FS modules.

Available subcommands:
   crashtest
   create
   deltify
   dump
   help (?, h)
   hotcopy
   list-dblogs
   list-unused-dblogs
   load
   lslocks
   lstxns
   recover
   rmlocks
   rmtxns
   setlog
   verify

さて、リポジトリを作ってみるか

Related posts