LeapMotionという小型のジェスチャ操作デバイスを買って、pythonで動かしてみました。
私の環境がubuntu12.04なので、それ用のSDKをdeveloperサイトから取得してきます。(ユーザ登録が必要です)
ダウンロードしたファイルを解凍すると中にLeapSDKというフォルダがあるのでその中のlibに入っている以下のファイルがpythonで動かすのに必要なファイルになります。
- Leap.py
- libLeap.so
- LeapPython.so
3次元表示にはVPythonというモジュールを使いました。
以下が今回作成した簡易ビューアです。
finger_viz.py
#!/usr/bin/python
#coding:utf-8
from visual import *
import Leap
scene = display(title='Leap Motion Example',
x = 0, y = 0, width = 600, height = 600,
center = (5, 0, 0), background = (0, 1, 1),
visible = True,
scale = (0.005, 0.005, 0.005),
autoscale = False)
balls = [sphere(radius=10, color=color.red, visible=False) for _ in range(10)]
controller = Leap.Controller()
while True:
rate(100)
f = controller.frame()
for idx, ball in enumerate(balls):
if idx < len(f.fingers):
ball.visible = True
ball.pos = (f.fingers[idx].tip_position.x,
f.fingers[idx].tip_position.y,
f.fingers[idx].tip_position.z)
else:
ball.visible = False
実際の表示画面はこんな感じです。
かなりシンプルで指先のみの表示になっています。
面白いデバイスなので、ゲーム、音楽とか3Dモデリングなどいろいろと使えそうな感じです。