こどもごころに計算技術をトッピング
ーぼくたち男の子! 編ー
計算世界をインタラクティブ/没入体験
ーこづかい少ない中年男性でも! 編ー
2016/04/09
第56回オープンCAE勉強会@関東(流体など)
平林 純 (Jun Hirabayashi)
@hirax, http://www.hirax.net, jun@hirax.net
こどもごころに計算技術をトッピング
ーぼくたち男の子! 編ー
計算世界をインタラクティブ/没入体験
ーこづかい少ない中年男性でも! 編ー
OpenFORMを使う前
 もっぱら2次元計算  20世紀の旧スクール水着には穴が開いていた
 流体力学的に、その穴の必要性を理解しよう!
 男の子の知らない「スクール水着の秘密」
おっぱい
35%
スカート
15%
スクール水着…
その他
45%
研究内容の
分野比率の
可視化結果
この穴に下から手を入れる
こともできた!
泳いでいる時に胸元から入る水の動きを考える
穴が無いと胸の後ろ(下側)に水着が押されて、
胸が見えちゃうかも
OpenFORMを使う前
 もっぱら2次元計算  時速60kmの風の動き抵抗はおっぱいの感触か?
のアレ
1. 時速60km程度の気流を受けた場合に
2. 掌の周りで気流はどのようになるか?
3. 流体の挙動をシミュレーション計算する
おっぱい
35%
スカート
15%
スクール水着…
その他
45%
研究内容の
分野比率の
可視化結果
60km/hで走りながら 広げた掌周りの空気流計算
けれど、2次元計算なので、掌周り…
じゃなくて「指周り計算」になっちゃう…
OpenFORMを知ってから
 ようやく3次元計算…
motorBikeチュートリアルで,時速60kmの風の感触は疑似おっぱいの感触か?
60km/hで走りながら 広げた掌周りの空気流計算
小まとめ
自己紹介を兼ねて
OpenFOAMに出会う前
OpenFOAMに出会ってから
を紹介
こどもごころに計算技術をトッピング
ーぼくたち男の子! 編ー
計算世界をインタラクティブ/没入体験
ーこづかい少ない中年男性でも! 編ー
バーチャル空気泡
 子供に人気の「でんじろう先生…と言えば空気泡」
 科学好き大人の興味を「流体ソルバのOpenFOAM」
で惹こう!
 アート好きな女子の心も手に入れるために
「OpenFrameworks」も使ってみる
openFrameworks
インタラクティブアートなどを
簡単に作ることができる
オープンソースC++ツールキット
空気泡
(Air Vortex Cannon) OpenFOAMで流体計算
無料
目指せ!
でんじろう先生!
OpenFOAM空気砲の仕組み
 マイクを仕込んだ空気泡を作る
 「背面ゴム膜」振動量と「音波(低周波成分)」の対応付けをテキトーにする
 OpenFOAMで「背面ゴム膜の振動量」を変化させた計算をたくさんする(数日続けた)
 空気泡を使う→マイクが検出した音波→条件に合ったOpenFOAM計算結果を3D空間に表示
低周波音波 ゴム膜振動量
対応付け
マイク内蔵空気砲を使う 低周波音波
対応付け
条件に合った
OpenFOAM計算結果
3D表示
(openFrameworks)
結果表示はParaview経由
マイクを内蔵した空気砲
準備
使用時
空気砲の条件(ゴム
振動量)違い計算空気砲の条件(ゴム
振動量)違い計算空気砲の条件(ゴム
振動量)違い計算空気砲の条件(ゴム
振動量)違い計算空気砲の条件(ゴム
振動量)違い計算
interFormで混相流(空気・煙)
として計算
空気砲の条件(ゴム
振動量)違い計算空気砲の条件(ゴム
振動量)違い計算空気砲の条件(ゴム
振動量)違い計算空気砲の条件(ゴム
振動量)違い計算空気砲の条件(ゴム
振動量)違い計算
マイクを内蔵した空気砲
低周波音波 ゴム膜振動量
対応付け
対応付け
準備
interFormで混相流(空気・煙)
として計算
マイク内蔵空気砲を使う 低周波音波
条件に合った
OpenFOAM計算結果
3D表示
(openFrameworks)
結果表示はParaview経由
使用時
Kinect(Microsoft)を
組み合わせたバーチャル
OpenFoam空気法
(実装はopenFrameworks)
OpenFOAM空気法の開発時動画
マイク内蔵空気砲を使う 低周波音波
条件に合った
OpenFOAM計算結果
3D表示
(openFrameworks)
結果表示用データは
Paraviewで作成
使用時 インタラクティブ表示
のために計算結果キャッシュはメモリに保持
ANDは「足す」じゃなくて「乗算」
だった悪夢
…ちなみに、
 こども+科学好き大人+アート好き女子
になるはずが…この力作が受けた相手は、
 こども × 科学好き大人 × アート好き女子 ≒ ゼロ
だった。
超ピンポイント
「わからないこと」があると
その時点で興味がなくなる。
→ハマってくれたのは、こども
ゴコロを持った流体計算屋(か
つアート好き)だけだった
計算結果が画面の中…じゃつまらない。
 インタラクティブに、さらに没入的な体験をしたい・させてみたい
計算した結果、その世界に入り込み・体感したい!
自分が触った結果
が反映されるけど…
それは画面の中
自分と一緒になっ
てるように見える
けど…やっぱり、そ
れは画面の中
OpenFOAM計算結果の世界に入っ
てみる(没入体験)
 3DゲームエンジンUnity用にZENRINが公開している3D都市モデルを使う
実際の街並みを基にデータ化し
ているので、ゲームの中にリア
ルな街を仮想空間として再現で
きます。実用的な様々なエフェ
クトやキャラクター等のモデル
データが同梱されています。ま
た、幅広く二次創作活動でご利
用いただくために「クリエイ
ティブ・コモンズ 表示 4.0 国際
ライセンス(CC-BY)」に基づき
提供しております。
Unityから .objとして3D形状出力
Blenderでデータ加工
OpenFOAMで計算
(motorBikeチュートリアルベース)
ParaViewで
可視化した結果を
Unityの3D秋葉原に取り込む
Unityから
ヘッドマウントディスプレイの
Oculus Riftに表示
UnityでZenrinの秋葉原3Dデータを
読み込む
.objに対して
blockMesh
→snappyHexMesh
599 USD
無料
無料
無料
無料
OpenFOAM計算結果をOculus
で体験してみよう!
 秋葉原の街中に吹く風を眺めつつ、街中を散策してみよう!
 キーボードで移動
UnityでOpenFOAM計算結果を散策中 その世界の中に没入体験することができる
実際の風景とOpenFOAM計算
結果を重ね合わせてみる
 フォトリアリスティックな、さらにリアルな空間にインタラ
クティブ没入体験できたら、きっと楽しいはず!
実際の風景とOpenFOAM計算
結果を重ね合わせてみる
 フォトリアリスティックな、さらにリアルな空間にインタラ
クティブ没入体験できたら、きっと楽しいはず!
これから先の挑戦アイデア
 OpenFOAM計算結果の世界を歩く (これはできてる)
 刻々の風を体感する (たぶん、やる)
 どういうこと?→いる場所の風情報に応じて、体験者の周りの扇風機を回す
 非定常計算結果に対応する (データアクセス周りを苦労する?)
 3D映像も実写風景動画で作る (場所移動が少なければできそう)
体験者の周囲に
ファンを配置して
制御できるようにする
刻々の「風」を視覚的にも
肌感覚でも体感させる!
3D空間をさらにリアルに
して、超実感させてみたい
これから先の挑戦アイデア
 簡易計算にしないと辛そう…あるいは簡易リアルタイム計算でいいかも?
 定量性は必要ない用途…のような気もする。
Leap Motionによる掌の
動き(形状や姿勢)の検知
空気砲の条件(ゴム
振動量)違い計算空気砲の条件(ゴム
振動量)違い計算空気砲の条件(ゴム
振動量)違い計算空気砲の条件(ゴム
振動量)違い計算
自分の手の動きに応じた空気流を
インタラクティブに眺めてみる
対応付け
手の動きに対する
空気流計算
(条件違い)
 体の動きに応じたシミュレーション結果を体感する
まとめ
 計算技術を「こどもごころ(男の子限定)」に適用させた事例
 計算結果を体感するための試み (個人レベルでできること)
 インタラクティブ例
 没入例

第56回オープンCAE勉強会@関東(流体など) 「こどもごころに計算技術をトッピング」「計算世界をインタラクティブ/没入体験」