プログラミング言語「ドリトル」

大阪電気通信大学 兼宗研究室

ユーザ用ツール

サイト用ツール


ch_leapmotion

LeapMotionを使ってみよう

LeapMotionというデバイスを使って、手の動きでタートルなどを操作しよう。LeapMotionを使用するためには、ローカル版のドリトルが必要である。

LeapMotionは空中の手指の位置などを赤外線センサーで認識できる入力デバイスである。

ドリトルと通信するための設定

LeapMotionのサイトにアクセスする。1)「セットアップ」から「Windows用ダウンロード」「Mac用ダウンロード」などを選び、ダウンロードしたファイルからLeapMotionのソフトウェアをインストールする。

手の位置と指の情報の取得

動作を確認するには、コンピュータにLeapMotionを接続し、ドリトルを起動する。ドリトルに次のプログラムを入力して実行する。画面のタートルがLeapMotionの上の空間に置いた手の位置によって移動すれば、LeapMotionは正常に動作している。

このプログラムでは、手の横の位置でタートルの向きを変え、手の高さでタートルの歩く速度を変えている。

 かめた=タートル!作る。
 リープ!接続。
 時計=タイマー!作る 600 時間。
 時計!「
  「(リープ!横の位置?)>50」!なら「かめた!15 右回り。」実行。
  「(リープ!横の位置?)<−50」!なら「かめた!15 左回り。」実行。
  「(リープ!縦の位置?)>100」!なら「かめた!((リープ!縦の位置?)×0.03) 歩く」実行。
 」実行。

ジェスチャーの取得

LeapMotionは、手が特定の動きをしたときに、動きをジェスチャーとして認識できる。

このプログラムでは、指の本数をグーパーで認識し、パーの場合は画面に星を増やし、グーの場合はそれらの星を移動させている。手を垂直に回転させると「回転」のジェスチャーと認識され画面の星が回転する。手を下に動かすと「キータップ」のジェスチャーと認識され画面の星が消える。

 かめた=タートル!作る。
 かめた!"star.png" 変身する ペンなし きえる。
 かめたち=配列!作る。
 リープ!接続。
 リープ:キータップ=「かめたち!「|かめ| かめ!消える」それぞれ実行」。
 時計=タイマー!作る 600 時間。
 時計!「
  幅=画面!幅?。高さ=画面!高さ?。
  「リープ!パー?」!なら「かめたち!(かめた! 作る(乱数(幅)−(幅/2)) (乱数(高さ)−(高さ/2))位置)書く。」実行。
  「リープ!グー?」!なら「かめたち!「|かめ| かめ!10 歩く」それぞれ実行」実行。
  「リープ!右回転?」!なら「かめたち!「|かめ| かめ!15 右回り」それぞれ実行」実行。
  「リープ!左回転?」!なら「かめたち!「|かめ| かめ!15 左回り」それぞれ実行」実行。
 」実行。
ch_leapmotion.txt · 最終更新: 2018/02/09 11:07 by klab