2016年11月22日 (火)

レーザーのシミュレーション

これすごい。

無料の物理シミュレーター Algodoo によるコンピューターシミュレーションです。

2014年12月13日 (土)

第12回Phunコン JPCC その3

本日の成果は15rad/secでした。

Type-2:
偏心していないローターにThymeで生成した燃焼ガスをぶつけるもの

Type-3:
埋め込み力は埋め込み深度に比例するという認識の基、ローターとハウジングの隙間を小さくしたもの

Type-4a:
燃焼ガス発生位置を変えることでトルク増大を狙ったもの(失敗作)

Type-4b:
ローターをヒンジで接続することで、衝撃をいったんヒンジで受け止めるもの
回転時にヒンジが伸びっぱなしなのが気になる

Type-5a:
燃焼ガスを大型化することで、埋め込み力増大を狙ったもの
燃焼ガス生成と同時にキラーに触れて消えることが多く、排気をシミュレートしていない気がする

Type-5b:
燃焼ガスを4個生成するように変えたもの
今のところ最高速
やっぱり埋め込みは深度が大事か

昨日の記事で触れたDynamic Lensの関連シーンとして挙がっていたのがLens Cutter。点滅するレーザーを使用して凸レンズを切り出します。ここまでは私も構想していたのですが、このシーンは機械式で非球面レンズを作るのがすごい。シーン下部に完成品のレンズが置いてありますが、球面収差が見事に補正されています。

2014年12月12日 (金)

第12回Phunコン JPCC その2

第12回Phunコンへ挑戦中。本日の成果は6rad./sec。吸気と圧縮行程がないので、どう見てもガスタービンエンジンです。

Phun/Algodooで燃焼爆発をシミュレートしたい人は、OnCollide=(e)=>{ Scene.addCircle({pos := e.pos; radius := 半径;})}だけでも覚えると便利です。

さてAlgoboxを探検していて見つけたDynamic Lensのシーン。微小なレンズが回転することで焦点を結ぶ補償光学系です。OnLaserHitで衝突点の検出と、レーザーの回転両方をしているのが素晴らしい。私が作ったすばる望遠鏡オートフォーカスよりはるかにシンプルな実装になっています。

2014年12月 9日 (火)

第12回Phunコン JPCC

第12回Phunコン JPCC(Japan Phun Car Championship)が開催(12/15~22)されます。今回は独自エンジンを搭載した自動車による競走です。

作ってみた。今回はエンジン回転数も評価の対象になるので、高回転を狙ってシンプルな構造にしてみた。ヒンジを多用する変速機は、高回転時にヒンジずれが予測されるので撤去。おにぎりポリゴンは高回転に弱そうなので、ローターを四角に。ということで、こんな感じのインホイールモーター、ロータリーエンジンになった。

この車は走らない。容積変化を回転力に結びつけられないとダメだ。高回転って難しい。

2014年4月 5日 (土)

耐圧合板材と不確定性

rangycrow氏の【Phun】耐圧合板材は、以前話題になった「シミュレーション結果が毎回異なるのはなぜ?」と関連してる気がしてきた。

こんなシーンを作ってみる。

直径2mの円がある。平面の間隔は1.6mしかないので、円は逃げ場のない衝突を起こし振動する。2フレーム後の円のy速度は、100回の繰り返し実験で以下のように分布した。

y軸速度[m/s]出現回数
-3.789565855
3.789565845

y軸プラスとマイナスの速度が、ほぼ同じ回数出現する。これは円がどちらの平面に先に衝突するかがランダムに決まるとすると説明できる。ここまでは既知だ。

では下の平面が2枚あるシーンでは?

y軸速度[m/s]出現回数
-3.789569636
3.790475626
3.789562538

下向きの速度ベクトルが1回出るのに対して、上向きには2回の比率で出ているように見える。3つの順列組み合わせ、ただし2つを同一視できるとすると、AAB、ABA、BAAの3種類になるから、これも既知の範囲だ。

衝突確率から耐圧合板材の強度を定量的に予測できないだろうか。こんなシーンを作ってみる。合板材の重ね合わせ数は左下が0、右下が9、左上が20で右上が29枚。合板材の密度は全て2.0で統一している。

枚数が少ないところでは比例、多いところでは指数関数……ともいえないか。反力、埋め込み力、反発力は別だから、定量的な予測をしたければ埋め込み力について調べる必要があるのかもしれない。

前半の実験をするにはtattさんのコメントで教えてもらったスクリプトで実験時間を大幅に短縮できました。ありがとうございます。

2014年4月 1日 (火)

埋め込み力?の大きさ

埋め込みが深いほど、射出される物体の速度が大きいという現象は古くから観測されてきた。この理由について「深いほど加速時間が長いからだ」という説明をどこかで見た気がする。

しかし、こちらの実験シーンでは埋め込まれた円は1209.3m/sで等速直線運動する。2フレーム目以降加速しない。

伸ばされたヒンジは引っ張り力を発生させるがヒンジ間の距離が縮まるにつれ減速することを考えると、私が立てた仮説は以下の通り。

  • 埋め込まれた物体は、力ではなく「速度」を得る
  • 速度は埋め込み深さに比例する
  • (埋め込みによって発生する速度) < (現在の速度)である場合、速度は変わらない

伸びたヒンジの場合はこれの変形で、こうなっているのではないだろうか。

  • 伸びたヒンジは、力ではなく「速度」を得る
  • 速度はヒンジの伸びに比例する
  • (伸びによって発生する速度) < (現在の速度)である場合は減速する

2014年3月29日 (土)

大円小円ジェネレータ

大円と、その上に同心円状に並ぶ小円の組を生成します。小円にはNSC(No Self Collision)が設定されます。小円をヒンジで固定するかどうかは選択できます。

大円小円ジェネレータ Ver. 1.0

大円小円ジェネレータ Ver. 1.0

item name value note
a 大円の半径 [m]
b 小円の半径 [m]
c 小円の数
d 小円の位置 大円の中心からの距離 [m]
e 小円のヒンジ あり なし


2013年3月 3日 (日)

水流シミュレータ Ver. 1.0

item name value note
a 水の生成数 衝突1回あたりに生成される水の数(2以上)
b 砂の生成数 衝突1回あたりに生成される砂の数(2以上)
c 砂の半径 [m]
d 砂の空気抵抗 流れにくさ
e 重力の強さ
f 橋脚の形状 楕円 四角 菱形 絞り
g 追跡の印 付けない 付ける
h 砂同士の衝突 する しない


2013年1月14日 (月)

Active Suspension Web Generator

Active suspension by modifing spring length.

When the sensor detect move up, both springs become shorter. When the sensor detect move down, both springs become longer. When the sensor detect rotate left, left spring become longer, and right spring become shorter. When the sensor detect rotate right, left spring become shorter, and right spring become longer.

Usage:

Input parameters and press "Generate button."

Copy text below.

Change to Phun window.

Press Ctrl+V.

Put the sensor to center of body and fix it.

Select left spring. Open script menu. Set length to {Scene.my.springL} .

Select right spring. Open script menu. Set length to {Scene.my.springR} .

item name value note
a collideSet A B C D E F G
b spring length [m]
c threshold of vertical movement [m/s]
d spring length modifier by vertical movement [m]
e threshold of rotation [rad/s]
f spring length modifier by rotation [m]


より以前の記事一覧

その他のカテゴリー