Processing/3.ライブラリの利用/3-1.物理シミュレーションFisica
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
#navi(Processing/3.ライブラリの利用)
* 3-3-1 物理シミュレーション Fisica [#x560612b]
Fisicaは2次元の物理現象をシミュレートするライブラリの一つ...
次のスケッチは落下するボールをシミュレートする。
Fisica.init(this)は決まり文句。
world=new FWorld()で、シミュレーションをする平面を用意す...
ball=new FCircle( 20 )で直径20ピクセルの「球」を用意し、
ball.setPosition( 50, 30 )でその中心を点(50,30)に置く。
world.add( ball )でこの球を平面に配置する。
draw()では、background(0)で画面を消去し、world.step()で時...
import fisica.*;
FWorld world;
FCircle ball;
void setup(){
size( 400, 400 );
Fisica.init( this );
world = new FWorld();
ball=new FCircle( 20 );
ball.setPosition( 50, 30 );
world.add( ball );
}
void draw(){
background( 0 );
world.step();
world.draw();
}
このスケッチを実行すると、球はまっすぐ落ちて、画面の下端...
ball.setPosition( 50, 30 );
のあたりに、
ball.setVelocity( 50, 0 );
のように、初速度を設定することもできる。今度は放物運動を...
特に指定しなければ、重力加速度は下向きに200(ピクセル毎秒...
import fisica.*;
FWorld world;
FCircle ball;
void setup(){
size( 400, 400 );
Fisica.init( this );
world = new FWorld();
world.setGravity( 0, 0 );
ball=new FCircle( 20 );
ball.setPosition( 50, 30 );
ball.setVelocity( 100, 0 );
world.add( ball );
}
void draw(){
background( 0 );
world.step();
world.draw();
}
これで球は右向きにまっすぐ進むが、少しずつ遅くなって、途...
画面の周りに壁を設けることができる。world.setEdges()で画...
import fisica.*;
FWorld world;
FCircle ball;
void setup(){
size( 400, 400 );
Fisica.init( this );
world = new FWorld();
world.setGravity( 0, 0 );
world.setEdges();
ball=new FCircle( 20 );
ball.setPosition( 50, 30 );
ball.setVelocity( 100, 30 );
ball.setDamping( 0 );
world.add( ball );
}
void draw(){
background( 0 );
world.step();
world.draw();
}
このスケッチを試してみると、壁にたどり着いた球はほとんど...
もっと跳ね返るようにするには、setRestitution( e )で跳ね返...
終了行:
#navi(Processing/3.ライブラリの利用)
* 3-3-1 物理シミュレーション Fisica [#x560612b]
Fisicaは2次元の物理現象をシミュレートするライブラリの一つ...
次のスケッチは落下するボールをシミュレートする。
Fisica.init(this)は決まり文句。
world=new FWorld()で、シミュレーションをする平面を用意す...
ball=new FCircle( 20 )で直径20ピクセルの「球」を用意し、
ball.setPosition( 50, 30 )でその中心を点(50,30)に置く。
world.add( ball )でこの球を平面に配置する。
draw()では、background(0)で画面を消去し、world.step()で時...
import fisica.*;
FWorld world;
FCircle ball;
void setup(){
size( 400, 400 );
Fisica.init( this );
world = new FWorld();
ball=new FCircle( 20 );
ball.setPosition( 50, 30 );
world.add( ball );
}
void draw(){
background( 0 );
world.step();
world.draw();
}
このスケッチを実行すると、球はまっすぐ落ちて、画面の下端...
ball.setPosition( 50, 30 );
のあたりに、
ball.setVelocity( 50, 0 );
のように、初速度を設定することもできる。今度は放物運動を...
特に指定しなければ、重力加速度は下向きに200(ピクセル毎秒...
import fisica.*;
FWorld world;
FCircle ball;
void setup(){
size( 400, 400 );
Fisica.init( this );
world = new FWorld();
world.setGravity( 0, 0 );
ball=new FCircle( 20 );
ball.setPosition( 50, 30 );
ball.setVelocity( 100, 0 );
world.add( ball );
}
void draw(){
background( 0 );
world.step();
world.draw();
}
これで球は右向きにまっすぐ進むが、少しずつ遅くなって、途...
画面の周りに壁を設けることができる。world.setEdges()で画...
import fisica.*;
FWorld world;
FCircle ball;
void setup(){
size( 400, 400 );
Fisica.init( this );
world = new FWorld();
world.setGravity( 0, 0 );
world.setEdges();
ball=new FCircle( 20 );
ball.setPosition( 50, 30 );
ball.setVelocity( 100, 30 );
ball.setDamping( 0 );
world.add( ball );
}
void draw(){
background( 0 );
world.step();
world.draw();
}
このスケッチを試してみると、壁にたどり着いた球はほとんど...
もっと跳ね返るようにするには、setRestitution( e )で跳ね返...
ページ名: