新聞中心

        EEPW首頁 > EDA/PCB > 設計應用 > Leap Motion運行原理介紹

        Leap Motion運行原理介紹

        作者: 時間:2017-10-22 來源:網絡 收藏

        定位與輸入是技術的關鍵,leap MoTIon使用的是一種基于計算機視覺原理的識別技術。目前在業內比較有代表性的就是Leap MoTIon的手勢識別技術,當然這并非Leap MoTIon獨有的技術,hololens上同樣搭載該技術。從 API 的角度大概說一下。

        本文引用地址:http://www.104case.com/article/201710/367551.htm

        Leap MoTIon 傳感器的結構:

        大體上,Leap 傳感器根據內置的兩個攝像頭從不同角度捕捉的畫面,重建出手掌在真實世界三維空間的運動信息。檢測的范圍大體在傳感器上方 25 毫米到 600 毫米之間,檢測的空間大體是一個倒四棱錐體。

        首先,Leap Motion 傳感器會建立一個直角座標系,座標的原點是傳感器的中心,座標的 X 軸平行于傳感器,指向屏幕右方。Y 軸指向上方。Z 軸指向背離屏幕的方向。單位為真實世界的毫米。如圖:

        在使用過程中, Leap Motion 傳感器會定期的發送關于手的運動信息,每份這樣的信息稱為“幀”( frame )。每一個這樣的幀包含檢測到的:

        所有手掌的列表及信息;

        所有手指的列表及信息;

        手持工具(細的、筆直的、比手指長的東西,例如一枝筆)的列表及信息;

        所有可指向對象(Pointable Object),即所有手指和工具的列表及信息;

        Leap 傳感器會給所有這些分配一個唯一標識(ID),在手掌、手指、工具保持在視野范圍內時,是不會改變的。根據這些 ID,可以通過 Frame::hand( ) , Frame::finger( ) 等函數來查詢每個運動對象的信息。

        Leap 可以根據每幀和前幀檢測到的數據,生成運動信息。例如,若檢測到兩只手,并且兩只手都超一個方向移動,就認為是平移;若是像握著球一樣轉動,則記為旋轉。若兩只手靠近或分開,則記為縮放。所生成的數據包含:

        旋轉的軸向向量;

        旋轉的角度(順時針為正);

        描述旋轉的矩陣;

        縮放因子;

        平移向量;

        對于每只手,可以檢測到如下信息:

        手掌中心的位置(三維向量,相對于傳感器座標原點,毫米為單位);

        手掌移動的速度(毫米每秒);

        手掌的法向量(垂直于手掌平面,從手心指向外);

        手掌朝向的方向;

        根據手掌彎曲的弧度確定的虛擬球體的中心;

        根據手掌彎曲的弧度確定的虛擬球體的半徑;

        其中,手掌的法向量和方向如下圖所示:

        “手掌球”的圓心和半徑:

        對于每個手掌,亦可檢測出平移、旋轉(如轉動手腕帶動手掌轉動)、縮放(如手指分開、聚合)的信息。檢測的數據如全局變換一樣,包括:

        旋轉的軸向向量;

        旋轉的角度(順時針為正);

        描述旋轉的矩陣;

        縮放因子;

        平移向量;

        Leap 除了可以檢測手指外,也可以檢測手持的工具。像上文所說的,就是細的、筆直的、比手指長的物件:

        對于手指和工具,會統一地稱為可指向對象(Pointable Object,抱歉不太會翻譯),每個 Pointable Object 包含了這些信息:

        長度;

        寬度;

        方向;

        指尖位置;

        指尖速度;

        方向和指尖位置如下圖:

        根據全局的信息、運動變換,手掌、手指和工具的信息和變換,開發者就可以靠這些來制作游戲、程序了。



        關鍵詞: LeapMotion VR

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 资阳市| 邵阳县| 邻水| 体育| 扶绥县| 三门县| 老河口市| 延边| 北票市| 苍梧县| 璧山县| 岫岩| 贵德县| 锡林郭勒盟| 宜宾市| 疏勒县| 禄丰县| 贺兰县| 靖边县| 台江县| 神木县| 弋阳县| 土默特左旗| 浑源县| 牟定县| 浦江县| 彰化市| 荆州市| 新巴尔虎左旗| 东乡县| 塘沽区| 宜春市| 阿勒泰市| 桂阳县| 永仁县| 屏边| 怀仁县| 抚远县| 阿拉善盟| 措美县| 新巴尔虎左旗|