1. 程式人生 > >LeapMotion控制器Java語言開發手冊

LeapMotion控制器Java語言開發手冊

(1)LeapMotion系統識別和追蹤手,手指,以及根手指類似的工具,這個裝置執行在一個極小的範圍,這個範圍擁有個高精度,高跟蹤頻率可以記錄離散的點,手勢,和動作。

(2)LeapMotion控制器使用的是光學感測器和紅外線,當控制器在其標準操作位置,有大約150度的視野時光學感測器直接沿y軸向上。在控制器上面(2英尺到1英寸)LeapMotion控制器的有效範圍從25到600毫米。控制器有一個明確的、高對比度的檢視物件輪廓時,控制器的檢測和追蹤效果最好。                       LeapMotion控制軟體將感測器資料和人手的內部模型結合起來去幫助處理有挑戰性的跟蹤情況。

(3)LeapMotion的座標系統(如上圖所示)LeapMotion系統有一個右手的笛卡兒座標系統。控制器的物理單位,距離:毫米  時間:微秒(一般是這樣,除非有說明) 速度:毫米/秒  角度:弧度

(4)運動跟蹤資料:當LeapMotion在其範圍內跟蹤手,手指和工具時,它提供了更新的一組資料或者一幀。每一個Frame物件代表了一個包含一組像手,手指,工具,以及被被識別出來的手勢和描述整體運動場景的一組實體的幀。Frame物件本質上是LeapMotion的根資料模型。

(5)Hands:手模型提供了關於被檢測到的手,這個手的手臂,和這個手有關係的手指集合的特性,位置,以及其它特性的資訊。

        Hands由Hand類來表示。Hand類的 palmNormal() 和direction()返回的向量值定義了手的方向。

        LeapMotion軟體使用一個內部的模型人手提供預測的跟蹤,即使部分手是不可見的。手模型總是提供了五個手指的位置,當一隻手的輪廓及其所有手指都清晰可見時跟蹤是最優的。LeapMotion軟體使用手的可見部分,軟體的內部模型,以及過去觀測計算最有可能位置的目前不可見的部分。 需要注意的是,掩

        藏在手內部的手指或者LeapMotion感測器遮蔽掉的手指是通常檢測不到的。Hand類的 confidence()方法返回的值表示觀測到的資料和軟體內部模型的符合度。

        如果超過了一個人的手或者其它跟手類似的模型在出現在控制器的檢視中,超過兩個手可以出現在Frame的手集合。然而,為了保證好的跟隨效果官方建議最多隻能兩隻手在控制器的感應區域內。

(6)Arms:一個Arm類的物件是一個類似骨頭的物件,他提供了方向、長度、寬度 和手臂的終點。當肘部不在控制器的感應範圍你內,LeapMotion控制器根據過去的觀察以及典型的人體比例來推測它(手臂)的位置。

(7)Fingers:LeapMotion控制器提供手上面的每一根手指的資訊,如果手指完全(部分)不可見則可根據最近的觀察和解剖模型的手來推測手指的特徵。這些手指分別被命名為大拇指,食指,中指,無名指,和小指。

        手指由Finger類得來,Finger類繼承了pointable介面。

     一根手指物件提供了一個骨頭物件描述每個解剖手指骨的位置和姿態。所有手指都含有四個骨頭從底部到尖。具體的結構如下圖。

       大拇指不適合這個骨頭體系,大拇指只有三根骨頭,為了程式設計方便,我們這裡也將大拇指定義有四個骨頭,只是認為Metacarpls骨頭的長度為0.

(8)Tools:一個工具類的物件就像一個鉛筆一樣。鉛筆物件都是由Tool類來例項化的,Tool類實現了Pointable介面。

        一個工具物件比手指更長,更細,更直;只有細,圓的物體才會被認為是tool物件。在文件的第二版本中tools是獨立於hands的。

(9)Gestures:LeapMotion軟體認出確定確定的運動模型作為手勢,這些手勢可以表明使用者的意圖和控制。Gesture物件是有Gesture類或者它的子類來定義並例項化的。

      注意點:當你將手勢運用到你的應用中之前,你必須識別出你想要使用的手勢。控制器類有一個enableGesture()的方法來識別你使用的手勢型別。

(10)運動:運動是一段時間內使用者手運動的改變,運動包括:scale,ratation,translation,如下圖所示

         運動是兩個幀之間的計算,你可以在整個Frame物件的場景中獲得運動因素。同樣你也可以從一個與之相關的單手Hand物件中獲得運動因素。你可以使用提到的運動元素去設計你的應用程式的互動,例如,為了代替跟蹤在很多幀之間的穿梭的手指的變化的數              據,你可以使用兩個偵之間scale元素去讓使用者改變一個物體的形狀。

(11)sesor image(感測器影象):隨著計算跟蹤資料你可以從Leapmotion控制器得到原始的影象。

      影象的資料包括所測得紅外亮度值和校正複雜透鏡畸變所需的資料,你可以使用感測器影象增強現實效果的應用程式,尤其是在將控制器應用到VR領域。