RubyでLeapMotion
書いた人 [[shokai.icon]] [[Rubyで実世界指向プログラミング]]特集 第二回 [[Ruby]]で[[LeapMotion]]を使えるライブラリを作りました LeapMotionとは? パソコンにUSB接続し、手の動きを認識できる装置です 手の数、指の本数とどの手に属しているか それぞれが空間上のどこにあるか 簡単なジェスチャーの認識 が可能です [[http://gyazo.com/8b9f471475f79f0c06ccd117c9ceac2b.png]] 利用例 LeapMotionでジェスチャーを認識し、Webブラウザを操作する [[[http://www.youtube.com/watch?v=Uubo9YXBFnk http://gyazo.com/a288acbe02235113aa9e396418b1a859.png]]] RubyでLeapMotionを使う LeapMotionを自分のアプリケーションに組み込むには2種類の方法があります 1. C言語で書かれたライブラリを使う [[https://developer.leapmotion.com]]で配布されている 2. WebSocket APIを使う 自分のマシンのTCP 6473番ポートでWebSocketでデータが取得できます [[http://leapmotion.com/setup]] にあるドライバをインストールする インストールするだけで自動的に有効になります ライブラリのインストール [[Rubygem]]で公開しています % gem install leapmotion 使用方法 require 'leapmotion' leap = LeapMotion.connect leap.on :data do |data| # データ取得時のイベントを登録 puts "hands #{data.hands.size}" puts "pointables #{data.pointables.size}" puts data puts "-"*5 end leap.wait 手と指の数、空間上の座標、手のひらをどれぐらい広げているか・・などが取得できます [[http://gyazo.com/52439cdb7c59842e4b1accb36541d687.png]] ジェスチャー認識 leap = LeapMotion.connect :gestures => true leap.on :gestures do |gestures| gestures.each do |g| puts g.type # => "circle", "screenTap", "keyTap", "swipe" puts g end puts "-"*5 end leap.wait swipe、circleなどのジェスチャーとその空間上での位置が認識できます [[http://gyazo.com/ef750fe720b87604bc9b34b98e1ef57d.png]] ライブラリのソースコードはこちら [[https://github.com/shokai/leapmotion-ruby]]

Search: