レビューメディア「ジグソー」

応用すれば、もう一般的なアプリケーションを作成できてしまうところまで!

最初の10名はどこへやら。
なにやらレビューワーの人数が減っている気がしますが、
今回もがんばっていきたいと思います。

 

ん~たしかにね。。。
正直思っていたよりも難しい気がします。
ちょっと甘く見ていた部分はありますね。

 

自分はこれでもプログラミングを仕事にしていますが、
言語が違うとはいえ、連載についていけている感じがしません。
その理由として、こんな処理の時にはこういった記述が必要なんだ!
といった事が分からないので、対処しようがないという点。 

 

ようするに、マニュアル的なものがほしい!

 

そんな時に便利なのがヘルプ機能。
今回は今更だけどヘルプ機能のインストールからはじまります~
(うまい具合に話しを流せた) 

 

 

■━…━…━…━━━━━━━━━━━━━━━━━━━━━━━━━━…━…━…━■
 【1】 連載 第8回目レビュー
  「やってみよう!Kinectアプリ開発 - 第8回 初期化・終了処理
■━…━…━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━…━…━■

 えー・・・
 いきなり難題にぶち当たりました。

 

 ヘルプ表示するためのヘルプどこー?(ノ_・。) 

 

 ヘルプが表示されない!
 手順通りやっているのに、インストールしたあとヘルプが表示されない。 
 もう飛ばしちゃおうかとも思ったんですが、なんか悔しい。

 

 そこでフト目にした「Microsoft ヘルプ ビューアー 1.1」 
 おや?
 こんなソフトは自分のパソコンに入っていない? 
 

 1.0はあるんだけど・・・これじゃダメだった。 

 

 すぐさまネットで探してみると、なんと開発ツールのサービスパックが存在した。
 Microsoft Visual Studio 2010 Service Pack 1」 


 これってインストール必須だったっけ?
 自動でされるもの?
 とか考えながら、とりあえずインストールしようと思いました。

 まさに一覧に載ってました。 

 

 まぁここにインストールしてなくて悩んでいるヤツがいたので、
 きっと他にもいるだろうってことでご注意を! 

 

 上記インストール後はスムーズに起動したので一安心です。
 

 しかし全部英語・・・
 なんか意味がないorz 

 

 

┏■ 初期化・終了処理 本題
┗┛━━━━━━━━━━━━━・・・・

 さて、ヘルプはいいので次へいきます。
 初期化・終了処理ということで、
 エラーになる場合を考えて、処理をしていくといった回になります。

 

 今までも、kinectのプログラムが起動中にkinectの電源が落ちたーっとか、
 USBケーブルが抜けたーなどのトラブルがあったかもしれません。
 そんな時に本来ならば、
 その時に起こった事をプログラム側で処理しないといけませんが、
 今まで無視していました。
 そして、そういったエラーケースを手軽に扱えるようにするためのツールがあります。

 

  Kinect Toolkit

 

 なぜ・・・最初から入っていないのか疑問ですが、
 とりあえずこれを導入すれば、
 「KinectSensorChooser」といったプログラムを使用する事が可能になります。

 

 こいつがエラー対処の便利屋さん。

 

 使う為の手順は連載を読んでいただくとして、
 実際にこれを使ってステータスを表示したのが以下になります。

 

  ・通常

 

 

  ・kinectケーブル抜け

 

  ・kinect電源OFF

 

  ・kinect同時利用(別プログラム起動中に起動)

 

 これで今のステータスが分かるようになって便利~っというか親切ですね。

 

 

■━…━…━…━━━━━━━━━━━━━━━━━━━━━━━━━━…━…━…━■
 【2】 連載 第9回目レビュー
  「やってみよう!Kinectアプリ開発 - 第9回 ポーズ認識
■━…━…━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━…━…━■

 ポーズによって処理を変化させよう回です。
 キタコレ!状態です。
 ポーズって聞くと、必殺技的なことが思い浮かぶ。
 ちょっと心踊りますね。
 まぁ実際に必殺技的なものを作るとなると、
 光輝く光球的なものを作らないといけないので、
 そういった物造りが苦手な自分にはまだハードルが高い。 
 とりあえず今回は連載通りに画像を大きくしてみたいと思います。

 

 そしていきなりでてきました。

 

 内積

 

 数学的なことが苦手な人には蕁麻疹がでてきそうな単語ですが、
 角度とか向きとか重要なポージングには必要な計算式になります。

 色々考えて使えばスペシューム光線ぐらいできたかもしれませんが、(なぜ?)
 自分も数学的なことが苦手なのでとりあえず真似っこしてスルーしておきました。

  

 今回できることは、
 右腕をピンッと伸ばした状態で上に上げると、モザイク画像が大きくなります。
 肘を曲げるとモザイク画像が元に戻ります。
 手を下げても戻りますね。
 つまりは、肘の角度や手の方向を判断して処理しているわけです。 

 

 そして出来上がったのが以下
 

 

 連載では画像を2倍にしていたんだが、
 分かりやすくするためにとりあえず3倍にしてみた。
 たしかに分かりやすいんだが・・・手がどうなってるか分からないという弱点がっ

 しかし、肘を曲げると元に戻ります。
  

 手の平の形は判別していないので、グーでもパーでもいいようです。

 

 

■━…━…━…━━━━━━━━━━━━━━━━━━━━━━━━━━…━…━…━■
 【3】 連載 第10回目レビュー
  「やってみよう!Kinectアプリ開発 - 第10回 ジェスチャー認識
■━…━…━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━…━…━■

 今度はジェスチャーです。
 ポーズとジェスチャーの違いは・・・連載にも書いてありますが、
 自分なりの言葉で書くと〜

 

  • ポーズ:    それだけで意味のある格好(静止画)
  • ジェスチャー: ポーズを組み合わせた一連の流れ(動画)

 

 止まってるのがポーズで動いてるのがジェスチャーですね。
 もしかしてこれができれば、かめはめ波撃てるんじゃない?
 という無駄なフラグは回収せずに先に進ませていただきますよ。 

 

 動いているのがジェスチャーと書きましたが、
 ようするにアニメーションと同じですね。
 ただ、アニメーションと違うのは、1枚1枚描いていない点です。

 この辺とこの辺にきたらジェスチャーと見なす。

 といったロジックになるので、すごい大雑把です。
 この辺とこの辺の間というのが存在しません。

 例えば、


 「右腕を左から右に移動させる。」

 

 どういう移動を連想するでしょうか?
 ・単純に胸の前を通過する移動なのか?
 ・頭の上を通過する移動なのか?
 ・お腹の下を通過する移動なのか?

 

 これだけだと全部当てはまります。 
 どれでもいいならこのままでも問題ないと思いますが、
 いや、そこは頭の上を通過するのが普通だ!
 といった場合は、その間も指示します。
 つまりは、

 

 「右腕を左から頭の上を通して右に移動させる。」  

 

 これが正解のロジックになります。
 そこまで考慮して作るのが今回のプログラムになります。
 (今回のプログラムは、右手を右上、右下、左下、左上を通りぐるっと一周回す)

 

 画像だと分かりにくいので、チョー雑ですが動画にしてみた。 

 

 

■━…━…━…━━━━━━━━━━━━━━━━━━━━━━━━━━…━…━…━■
 【3】 連載 第11回目レビュー
  「やってみよう!Kinectアプリ開発 - 第11回 継続的なジェスチャー認識
■━…━…━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━…━…━■

 今回はなんと!
 アプリケーションを作ってしまってます。
 ソースはあるため、ロジック部分はコピーでOKだけど・・・
 ちゃんと理解してコピーしないと勉強にはならないと思う。
 (自分に言い聞かせてる)
 

 今回作るアプリケーションは、
 「首でマウスを移動させちゃうアプリケーション」

 

 足で移動させたことはあるけど、首はないなぁ〜(笑)

 

 難しい点は・・・配置やプロパティの設定だろうか。
 見よう見まねで設定してはいるが、なぜ最終的な形になるか分からない。
 特に完成したアプリケーションの見え方と、
 実際の開発時での見え方に違いがある。

 

 ・以下が完成した画面

  

 

・以下が開発中の画面
 

 

 今回、APIを利用してマウスを動作させている関係もあるかもしれないが、
 見た目が違うので開発中に意図した見え方になっているのか不安だった。

 

 

■━…━…━…━━━━━━━━━━━━━━━━━━━━━━━━━━…━…━…━■
 【4】 最後に
■━…━…━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━…━…━■

 とうとう・・・それっぽいアプリケーションを作ってしまいました。
 ここまでできると、
 少し工夫すれば何か想像していたものが作れてしまう気がします。 
 その少しの工夫で頭使うのでなかなか大変ではあるんですが・・・
 なにかワクワクしてきます。

 

 しかし、計算があるのが厄介ですね。
 自分はプログラマーといっても、
 計算するようなアプリケーションを作ってないのでこういうの凄く苦手です^^; 
 画面作成とかだとこんな計算いらないですからねぇ・・・ 

 

 次のレビューでとりあえず終了になりますが、
 これ以上何を学ぶのか?
 そして、フラグ(かめはめ波的な動作するアプリ開発)を回収できない理由として、
 ちゃんと理解していないから独自に作れないという問題もあるため、
 もう少しちゃんと理解していきたいところ・・・

 

 復習すればもっと面白くなる。
 自分なりのアプリケーションが作れる。
 そんなところまできております。 

 

 

 ★今回のソース
  第10回 ジェスチャー認識

20人がこのレビューをCOOLしました!

コメント (4)

  • リーダーさん

    2012/08/27

    レビューお疲れ様です(^^

    かめはめ波は世界中に需要があるアプリだと思うので
    ぜひ開発してくださいwww
  • kazgbさん

    2012/08/27

    >リーダーさん

    コメントはやっ!

    かめはめ波はすでに存在しているんですよね。。。
    第1回レビュー参照!


    光を出す事できればちょっと悩んで開発してみたいところなんですが、
    光る球の作り方が分からず停滞中です><。
  • 某支配人@御酒解禁~♪さん

    2012/08/27

    第2回環境作成でSP1当てしましたので、この苦労は気づかなかったです。

    内積・・・・ホントに理解できるのかしら?

    私はポーズもジョイントポジションだけの判定に逃げました^^w


    そろそろ自作アプリを形にし始めないと、ヤバイところですかねぇ~

    第10.11.12.13回は講義習熟のみでスルーしちゃいました^^
他1件のコメントを表示

ZIGSOWにログインするとコメントやこのアイテムを持っているユーザー全員に質問できます。

YouTube の動画を挿入

YouTube の URL または動画の ID を入力してください

動画の ID が取得できません。ID もしくは URL を正しく入力してください。

ニコニコ動画の動画を挿入

ニコニコ動画の URL または動画の ID を入力してください

動画の ID が取得できません。ID もしくは URL を正しく入力してください。

ZIGSOWリンク挿入

検索対象とキーワードを入力してください

    外部リンクを挿入

    リンク先の URL とタイトルを入力してください

    URL を正しく入力してください。

    画像を挿入(最大サイズ6MB)

    画像を選択してください

    ファイルサイズが6MBを超えています

    別の画像を追加

    ほかのユーザーのレビュー

    ZIGSOW にログイン

    ZIGSOW会員登録(無料)はこちらから