CALENDAR
S M T W T F S
1234567
891011121314
15161718192021
22232425262728
2930     
<< September 2019 >>
ARCHIVES
CATEGORIES
RECOMMEND
RECOMMEND
RECOMMEND
WiiRemoteプログラミング
WiiRemoteプログラミング (JUGEMレビュー »)
白井 暁彦,小坂 崇之,くるくる研究室,木村 秀敬
RECOMMEND
RECOMMEND
RECOMMEND
MOBILE
qrcode
<< WiimoteWhiteboardには.NET FramWorkが必要です | main | プルプル! >>
Sketchで状態変化
 自分的にはまず、JavaScript+Wiiリモコンのほうに取りかかりたかったんですが、うかうかしている間に、授業を進めなければならず、もうすぐ、物質の状態変化の学習にはいってしまいます。
 状態変化といえば、やはり、気体・液体・個体の分子モデルですよね。ここでモデルが動けば効果満点。いままで静止画で説明していたことが、ひと目で理解できるようになるはずです。
 そこで、JavaScript+Wiiリモコンは一休み、必要に迫られている分子モデルアニメーションをprocessingで作ってみました。
 Javaアプレットはこちら、
分子運動
 仕事が終わったあと、他の先生方が明日の授業の準備をしている間に、職員室でせっせとプログラミング。かなり怪しげです(笑)。
 そこでできたスケッチがこちら。。。

/*
processing test 2009.11.11
blog.h2caster.net
*/
int num = 400;
int speed = 0;
int dia = 50;
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();
fill(90,255,90,150);
for (int i = 0; i < num; i=i+1) {
xs[i] = int(random(600));
ys[i] = int(random(600));
dxs[i] = int(random(speed,speed+2));
dys[i] = int(random(speed,speed+2));
cds[i] = int(random(dia,dia+20));
}
}

void draw()
{
background(51);
for (int i=0; i xs[i] = xs[i] + dxs[i];
ys[i] = ys[i] + dys[i];
ellipse(xs[i], ys[i], cds[i], cds[i]);
if (xs[i] >= 600){dxs[i] = 0 - dxs[i];}
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];}
}
}



num:分子の数 speed(運動の速度) dia(分子の直径)のそれぞれのパラメータを少し変えていくと、それらしく動くようになります。
 ところが、最初、

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


 の部分をsetup()の外に出していたら、どうにも動かず、結局はhttp://yoppa.jpn.org/presen.php?itemid=186にあるサンプルプログラムを参考にして、setup()の中にいれました。なぜそうなるのかは不明です。うーん、サンプルプログラムそっくりですね。じゃあ、最初からコピペすればよかった。。というツッコミは置いて置いて。
 プログラミングは、その名の通りスケッチ感覚です。モデルの基本の動きを描いておいて、配列やループ・色や透明度をくっつけていく、本当にスケッチのようです。
 ただ、まだ慣れずに、動かなくなるとどうにもならないところが少し残念です。ときどき意味が分からない英語のメッセージがでますし(笑)。
 ついでに、スケッチウインドウのフォントが小さすぎて、年寄りにはつらいですね。ついつい、スクリーンに目を近づける自分が。。。いつもエディタで18piontで表示ですので、P5のスケッチは目が疲れます。あれって、フォントが大きくならないものでしょうか。
| Processing | 21:35 | comments(0) | trackbacks(0) | pookmark |
コメント
コメントする









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