CALENDAR
S M T W T F S
     12
3456789
10111213141516
17181920212223
24252627282930
<< November 2019 >>
ARCHIVES
CATEGORIES
RECOMMEND
RECOMMEND
RECOMMEND
WiiRemoteプログラミング
WiiRemoteプログラミング (JUGEMレビュー »)
白井 暁彦,小坂 崇之,くるくる研究室,木村 秀敬
RECOMMEND
RECOMMEND
RECOMMEND
MOBILE
qrcode
<< Sketchで状態変化 | main | 物質の三態変化 >>
プルプル!
 再びProcessingです。分子運動のアニメーションを作ったのはいいのですが、続いて個体のモデルをprocessingに描かせてみました。といっても、○が並んでいるだけのものです。
 このモデル、どうもしっくりこない。なんとなく空々しい(笑)。まあ、実際に見た訳ではないのでどうとでも言えますが、その理由を考えて、はたと思い当たりました。そうです。個体だって理論的には温度によって熱振動しているはず。その動き、自分的にはプルプル。。と分子が震えていて欲しい訳です。
 静止した○が並んだモデルは、死んでます。震えるプルプルがないとモデルとして完成しません。
 などと大層な理由をつけて、ふたたびスケッチです。
 まあ、授業が迫っているんで、早くなんとかしたいというのもありましたが、かなり行き当たりばったりでスケッチです。エレガントなプログラムでないのはご容赦。どちらかというと線を重ねた「スケッチ」そのもので、余分な線もしばしば見られるといったところです。
 そのスケッチがこちら

/*
p5_bunshi02
processing test 2009.11.13
blog.h2caster.net
*/
int cd = 51;
int tm = 3;

void setup()
{
size(600, 600);
noStroke();
fill(90,255,90,160);
frameRate(20);
}


void draw() {
background(51);
int x = 0;
int y = 0;
for (int n=0; n<30; n=n+1){
for (int i=0; i<30; i=i+1){
x = i * 50;
ellipse(x+int(random(0,tm)), y+int(random(0,tm)), cd, cd);
}
x = x + 25;
y = y + 88;
}

x = 25;
y = 44;

for (int n=0; n<30; n=n+1){
for (int i=0; i<30; i=i+1){
x = i * 50 + 25+int(random(0,2));
ellipse(x+int(random(0,tm)), y+int(random(0,tm)), cd, cd);
}
x = x + 25;
y = y + 88;
}
}


 パラメータとして、円の直径cd とプルプルの大きさtm を設定できます。tmが小さければ低い温度、大きければ高い温度ですね。きっちり分子間力をシュミレートするのはとんでもない手間ですが、モデルが勝手にプルプルしているぶんにはプログラミングは簡単です(笑)。

 
| Processing | 21:32 | comments(0) | trackbacks(0) | pookmark |
コメント
コメントする









この記事のトラックバックURL
http://blog.h2caster.net/trackback/996853
トラックバック