hirax.net::inside out::2014年11月26日

最新記事(inside out)へ  |   年と月を指定して記事を読む(クリック!)

2014年10月 を読む << 2014年11月 を読む >> 2014年12月 を読む

2014-11-26[n年前へ]

インタラクティブに体感できる「空気砲シミュレーション」の作り方  share on Tumblr 

 Maker Faire Tokyo 2014で展示するために、「インタラクティブに体感できる空気砲シミュレーション」を作りました。そこで、「どんなものを作ったか」と「その作り方」をメモしておくことにします。

 まずは、小さな空気砲を作り、その空気砲の中に小型マイクを仕込みます。マイクを取り付けるのは、空気砲の端部にある「空気を振動させるためのゴム膜」の近くです。そして、マイク周囲で空気が動いた時に、その空気の動きで生じる風切り音と「(マイク周りの)空気の動き」の対応付けを行います。…こうすることで、空気砲端部のゴム膜の動きを、マイクの音声波形から推定することができるというわけです。

 それと同時に、その形状の空気砲で「ゴム膜を動かした時にどんな空気流が生じるか」を、さまざまな組み合わせで計算しておきます(その空気流は、流体力学の数値計算ライブラリであるOpenFOAMで計算しました)。

 こうすることで、「(空気砲の中に仕込まれた)マイクの音声波形」から「空気砲の端部ゴム膜の動き」を推定し、さらに「(その条件下で生じる)空気砲の流体計算結果を読み込んで3次元的にレンダリング(描画)する」…というインタラクティブに体感できる空気砲シミュレーションを作ることができます(コンマ数秒くらい、反応が遅いけど)。OpenFOAMというゴリゴリ流体計算ソルバを使った「インタラクティブにリアルタイム風に動く流体ソルバ」「現実空間にシミュレーション結果を重ね合わせて、直接目で見ることができないものを可視化する」という…少し珍しいアプリケーションを作ってみました。