PCでキネクトを動かしてみる
先日、キネクトを購入。
池袋のビックカメラで購入したのだが、クリスマス直前のせいだろうけど、レジまで長蛇の列。
レジにたどり着くまで20分くらいかかった気がする。
早速、キネクトをPCに接続して動かしてみる。(キネクト本来の使い方じゃないけど)
PCへの接続の手順は、こちらのHPを参考にさせて頂いた。
http://kgxpx834.blog58.fc2.com/blog-entry-22.html
すんなりとPCで使えるようになって一安心。
次は、VisualStudio2010でビルドできるようにする。
それは、こちらのHPを参考にさせて頂いた。
http://blog.goo.ne.jp/roboz80/e/f4299308eda1689ed8646238d61e3787
こちらも特に問題なくビルド出来ることを確認。
これで準備は整った。モーションキャプチャー作成の第一歩として(2歩目があるかわからないけど)
OpenNIのサンプルに含まれるNiUserTrackerのソースを修正して、頂点座標を取得きるようにしてみる。
ソースナナメ読みーの、OpenGLの関数を調べーの1時間程度修正。
デバッグのたび、椅子から離れないといけないのが結構キツイ。
単位系がよくわからないけど、なんとなくxyz座標を取得できるようになったっぽい。
細かいブレや欠損もあるけど、それは座標データの補正や補完で、なんとでもなりそうな気がする。
モーションキャプチャーとして使うとなると、顔の向いている方向と、手首、足首のヒネリの角度も取得できるといいんだけど、それは無理なのかな?
思いつくのは、キネクトの映像センサー出力をHDDに保存するように修正して、額や手にOpenCVのバーコードを貼り付けておいて、後から映像センサーの画像をOpenCVとかで方向を検知するとか。
うーん、ちょっとメンドクサそう。
また、ライフル(モデルガン)を立ち撃ちの姿勢で構えて、認識できるか調べてみたところ、かなりの割合でライフルを腕と認識しまう。
ちょっと残念。
細いパイプか何かでライフルの形状を作り、それを構えれば上手くいくかもしれない。
MikuMikuDanceでもキネクト実験
とりあえずやってみた。(MikuMikuDance Ver7.24 および、Lat式ミクVer2.3を使用)
なんというかミクさんの動きがオッサンくさいというか、ロボットだな……
まあ、私はオッサンだし、運動不足だし、しょうがないか。モーションキャプチャー専門の俳優さんいるという話も納得できる。
それはさておき、私の動きに合わせて、画面内の髪の毛が動くのに、不思議な感覚を持った。(私は長い髪の毛など無いに、あるように感じる)
あと、髪の毛の物理演算が、どの程度の回転まで追従できるものなのか調べてみようと高速回転してみたのだが、私自身の方が先にヘタって転倒し肘を打った。
いろいろ反省。
重複コード
先日、ソースコードに含まれる重複コードを検出するアプリがあることを知る。
AIST CCFinderX
http://www.ccfinder.net/ccfinderxos-j.html
とりあえず、インストールしてみる。動作させるのにJavaやPythonが必要みたいだ。
Python 2.7だと動作しない?
よくわからないので以下の場所からPython 2.6.6をダウンロードしてきて、Python2.7のアンインストールは行わずに、Python 2.6.6をインストール。
http://www.python.jp/Zope/download/pythoncore
これで起動するようになったようだ。
ためしに自作アプリのソースを用いて、重複コードの検出を試してみる。
とりあえずgemx.batを実行。
「File」→「Detect Clones...」を選択する。
ソース言語に「cpp」を選択し、検出したいソースの入っているフォルダを指定して、「Next」を押下。
う〜ん…色々設定がある。とりあえず初期値のまま「OK」を押下しよう。
プロット上の黒丸をクリックすると、該当するソースが選択されるようだ。
その状態のまま「Sorce Text」タブを選択してみる。
なるほど、ここが重複ソースと判断されたらしい。
ここは、画面上のボタン等の各プロパティを設定する処理だ。
たしかに、if文の条件式が違うだけで、処理は同じようだ。
あれ?やっぱ違う?同じ?……と悩んだりするのも重複ソースのよろしくない点なんだな、きっと。
このご時世、ボタン等のプロパティを手動で記述すること自体が、既に間違いという気もするけど。
ここは、処理は同じで戻り値だけ違う関数が重複ソースと判断されてる。
たしかにコピペして作った記憶がある。
テンプレート化するべきなんだろう。
フラクタル
フラクタル幾何学とかで有名な数学の博士が亡くなられたとのこと。
フラクタルについて詳しい理論を説明しろといわれても無理だけど、
4Kや64Kのメガデモを観ているとき、その技術を使っている演出はなんとなくわかる。
フラクタルを使うことで地形や雲など自然の造型を(物理的に正しくないとしても)
作り出せるというのは魔法のように思える。
以前、自分でもプログラムを作ったりしてみたなぁ。そのプログラムどこいったっけ。
あったあった。
同じ画像の拡大率と強度を変えたものを重ねあわせて作るノイズ(確かfBmとかピンクノイズと呼ばれるノイズ)
最初におおまかな形が決定
すこしサイズと振幅を小さくしたものを重ねて…
その処理を繰り返していく
適当なところで処理を打ち切って完成。