CALENDAR
S M T W T F S
 123456
78910111213
14151617181920
21222324252627
28293031   
<< July 2019 >>
ARCHIVES
CATEGORIES
RECOMMEND
RECOMMEND
RECOMMEND
WiiRemoteプログラミング
WiiRemoteプログラミング (JUGEMレビュー »)
白井 暁彦,小坂 崇之,くるくる研究室,木村 秀敬
RECOMMEND
RECOMMEND
RECOMMEND
MOBILE
qrcode
<< 物質の三態変化 | main | 追われています >>
壁を作ってみました
 先日、ある会合でプレゼンをする機会がありましたので、さっそくwiiリモコン電子黒板を使って、さり気なくアピールしてみました。最後に、このP5でのスケッチ(先の状態変化)のアプレットをCD-Rに焼いてお土産として持って帰っていただきました。1年生の理科担当の先生には喜んでいただけたようです。
 ただ、あとで気付いたのですが、件のアプレット、JavaのランタイムがPCに入っていないと動きません(当たり前ですが)。もちろん Java Runtime Environmentをインストールしなさいというメッセージは出るんですが、そこで「あきらめて」しまってはせっかくのスケッチお使いいただけません(笑)。ぜひあきらめずにJavaREをインストールしていただきたいと願っております。。

 さて、どうもハマってしまったようです。暇さえあればせっせとスケッチ。
 で、できたのがこれです。
気体と壁
 実は気体のスケッチを使って、状態変化の授業を昨日行ったのですが、そこではたと気付きました。「そう、この壁が動けば、気体分子の衝突による圧力のアニメーションモデルができるじゃない。」と思ったわけです。
 そこで、また、スケッチ。
 まずは、壁を作って、それを1回1回再描画させて、それでもって、分子がぶつかったらちょっと右に動いて、ぶつからないときはちょっと左に動いて。。
 まあ、かなり偶然ですが、あっというまにそれらしくでき上がりました。作業時間15分(笑)。さきほど、せっせと、、などと書きましたが、今回は逆にすんなり動きすぎでした。
 全くお手軽ですが、動いているのでよしとしましょう。
 

/*
processing test 2009.11.28
blog.h2caster.net
*/
int num = 50;
int speedmin = 5;
int speedmax = 20;
int dia = 30;
int wallx = 500;

int[] xs = new int[num];
int[] ys = new int[num];
int[] dxs = new int[num];
int[] dys = new int[num];
int[] cds = new int[num];


void setup()
{
size(600, 600);
noStroke();

for (int i = 0; i < num; i=i+1) {
xs[i] = int(random(wallx-1));
ys[i] = int(random(600));
dxs[i] = int(random(speedmin,speedmax));
dys[i] = int(random(speedmin,speedmax));
cds[i] = int(random(dia,dia+20));
}
}


void draw()
{
wallx = wallx - 1;

background(51);
for (int i=0; i
fill(255,255,90,150);
rect(wallx+dia,0,10,600);

xs[i] = xs[i] + dxs[i];
ys[i] = ys[i] + dys[i];

fill(90,255,90,150);
ellipse(xs[i], ys[i], cds[i], cds[i]);

if (xs[i] >= wallx){
dxs[i] = 0 - dxs[i];
wallx = wallx + 1;
}
if (ys[i] >= 600){dys[i] = 0 - dys[i];}
if (xs[i] <= 0) {dxs[i] = 0 - dxs[i];}
if (ys[i] <= 0) {dys[i] = 0 - dys[i];}
}
}


| Processing | 13:30 | comments(0) | trackbacks(0) | pookmark |
コメント
コメントする









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