2008-06-01[n年前へ]
■(加速度センサ対応)体感・実感バストシミュレータのC++クラスソース
「(加速度センサ対応)体感・実感バストシミュレータを作る」のC++クラス・ソース(及びバイナリ)を置いておきました。本当に行き当たりばったりに書いたので、とても乱雑で汚く・遅い代物です。なお、使い方はこんな具合になります。
Body body;中身は、粒子郡を拘束力で適当に包むと同時に外力を与えているというようになっていて、金子さんの水粒子プログラムの単純版です。
body.move();
float *mesh=body.fMesh;
for(int y=-40;y<=40;y++)
for(int x=-40;x<=40;x++,mesh++)
//SurfacePlot(x, *mesh, y);
// この*meshに高さが入っている
2008-06-03[n年前へ]
■「GPUを使った物理計算プログラム」と「スクリプト言語」
日経エレクトロニクスを読んでいると、「GPUを使った並列計算で物理シミュレーションを高速化」という記事があった。PC用のグラフィックボードに搭載されている描画処理LSI(GPU)での物理計算の解説記事で、流体などの挙動を粒子群として計算するプロメテック・ソフトウェアの計算ソフトウェアを題材に、GPUで物理計算をする効果や注意点などを解説したものだった。そういえば、つい最近、「NVIDAがGPUベースのレンダリングソフトNVIDIA Gelato Proを無償提供開始」というニュースもあった。
ところで、GPUを使ったシェーダプログラム言語であるGLSL (OpenGL Shading Language)に触れたときに感じた新鮮さは、「GLSLで書かれたプログラムは、実行時にコンパイルされる」ということだった。シェーダのソースコードを書き換えると、そのシェーダを使ったアプリケーション実行すると、その実行時にシェーダプログラムがコンパイルされ動くのである。
その感覚はとても新鮮で、「C言語のようでCでない変なスクリプト言語」をいじっているような面白い感覚を味わった。また、自然に並列計算される具合が、何だか非同期で動くアプリケーションをスクリプト言語で書く感じに似ているのだろうか、と感じたりもした。
JavascriptやRubyや…といったスクリプト言語を使うプログラマが、GPUを使ったプログラムをいじってみると、これが結構ハマったり楽しむことができたりするものかもしれない。
2008-06-06[n年前へ]
■体感・実感バストシミュレータの内側(粒子群)を見る
「GPUを使った物理計算プログラム」と「スクリプト言語」で読んだ日経エレクトロニクスの、「粒子が動いて流体を表現するさまを示した図」が見ていて綺麗だったので、先日作ったプログラム、粒子法を使った(加速度センサ対応)体感・実感バストシミュレータにも表面レンダリングだけでなく粒子レンダリングの機能を付けてみました(バイナリはここに置いておきます)。
アプリケーションを実行させて、「皮膚」=表面層の内側を眺めたさまは下の動画のようになります。
2008-06-17[n年前へ]
■バスト体感モデル「システム同定」用自動振動シミュレータ
「粒子法」バスト体感モデルの「システム同定」用自動振動シミュレータを作ってみました。「粒子法」バスト体感シミュレータに対して、縦方向に任意周波数の揺れを強制的に与えたとき(ウィンドーを”そのものズバリ”強制的に揺らし)の振動状態を観察し、バストモデルの「システム同定」が行える!?というわけです。なお、揺らす入力振動周波数は、カーソルの「左」「右」キーで変えることができるようになっています。「右」キーを押していくと振動周波数が速くなり、「右」キーを押していくと逆に振動周波数が遅くなっていきます。
このアプリケーション、つまり、「粒子法」バスト体感モデルの「システム同定」用自動振動シミュレータを動かした時のようすは、下の動画のようになります。揺らす周波数を変えてみると、バストの揺れが(まるで波が打ち消しあっているかのうように)全然起きない周波数や、あるいは大きく揺れが加速していく共振周波数がある、ということを体感することができる、かもしれません。
2009-05-04[n年前へ]
■道路上に記録された「靴裏との摩擦帯電跡」
警察の鑑識課の人たちが捜査をしているようすを放送するテレビ番組を見た。その番組中で興味を惹かれたのが、ビル荒らし事件か何かの犯人の足跡をアスファルト道路上で捜す捜査員たちの作業過程だった。
一体どのような作業をしていたかというと、
- アスファルト上に黒いシートを広げ、その上に白い微粒子粉末を振りかけ
- さらに透明な大きなテープを貼り付け
- 最後にテープをはがしている
つまり、アスファルトと靴裏がこすれた部分がプラス(あるいはマイナス)に摩擦帯電し、アスファルト上の帯電分布を帯電した粒子で可視化する、というのである。摩擦帯電した微粒子によって可視化された靴あとを透明テープに写し取ることで、アスファルト上に電荷分布として残された犯人の足跡を記録・解析することができるようになる、というわけだ。
摩擦帯電をなるべく防ぐような、たとえば、カーボンなどをたソールに混入することで、摩擦帯電しにくいように電気抵抗を下げ(同時に磨耗性・形状なども上手く作られた)靴というのは、工場作業用などでよく見かける。もしかしたら、”足跡を残さない”ということでは天下一品のビル荒らし御用達の靴があったりするかもしれない。
とはいえ、もしもそんな摩擦帯電防止靴があったとしたら、たとえば靴のソールゴム中にカーボンを入れたとしたならば、黒い靴裏が必須になる。すると、「黒い靴裏」を見た警察官は「この人は、ビル荒らしかもしれない」と思うかもしれない。
そういえば、私はよく職務質問に会う。それが私が履いている靴がことごとく黒い靴裏のせいだと思うことができたなら、つまり、「黒い靴裏の人たちは職務質問に遭いやすい」ということがその背景にあるのなら、納得できるのだが…。