999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

用Scratch玩手勢控制(上)

2015-06-01 14:20:13謝作如
中國信息技術教育 2015年9期

謝作如

科幻電影中最吸引注意力的界面基本是用手勢操作的。2002年拍攝的電影《少數派報告》中預防犯罪小組的警察使用的界面就是如此,揮揮手就能夠控制屏幕上的內容,確實很震撼。后來其具有的開創性的經典場面,也成為科幻片和其他影視作品爭相模仿的橋段。

十多年過去了,這一手勢控制技術也逐步飛入尋常百姓家。從理論上說,只要有一款攝像頭,就能夠編寫程序體驗簡單的手勢識別。如果擁有Kinect和Leap Motion之類的體感傳感器,你也能像《少數派報告》中男主角一樣,用最自然的手勢和電腦進行交互。例如,你可以用手在空中翻動你的音樂專輯,豎起大拇指它就會為你播放;你只要做出開車的手勢就可以在極品飛車中自由馳騁;你用手指做出手槍的形狀就可以代替鼠標來操縱游戲中的槍;你還可以用它畫畫、玩紙牌等。

當然,只要你會編程,哪怕僅僅懂得最簡單的圖形化編程軟件——Scratch,也能夠編個小游戲,用手勢來控制角色運動,夠酷吧!考慮到Kinect體積比較大,需要在較大的空間才能使用,我選擇了Leap Motion來介紹如何實現手勢控制。

● Leap Motion簡介

Leap Motion是體感控制器制造公司Leap生產的體感控制器。當Leap Motion首次亮相之時,外界認為它承載了一個新穎而獨特的計算機用戶體驗──通過揮舞手指或拳頭來和計算機進行交互,甚至有媒體認為可用Leap Motion替換傳統的鼠標。Leap Motion的體積小,僅一包口香糖大小,通過USB連接電腦后,它會創造出一個4立方英尺的工作空間。在這個空間里,10個手指的動作都會被即時追蹤,誤差在0.01毫米以內,最大頻率是每秒鐘290幀,精確度相當于Kinect的200倍(如圖1)。這樣的精準程度足夠保證用戶順利完成如pinch-to-zoom或控制3D渲染物體等操作。

● Leap motion編程環境配置

1.安裝Leap motion的驅動程序

首先要安裝Leap motion的驅動程序。訪問https://www.leapmotion.com/setup,下載驅動。驅動安裝成功后,還要注冊并登錄Leap motion的網站,具體過程這里不再贅述。

2.安裝Scratch 2.0 Plug-in for Leap Motion

Scratch 2.0 Plug-in for Leap Motion是一位名叫斯蒂芬·豪威爾的愛爾蘭老師開發的插件。這位老師先后為Kinect和Leap motion編寫了for Scratch的插件程序,為Scratch的功能擴展做了很多有趣的工作。

點擊Leap motion官網的“APPS”欄目,在搜索框中輸入關鍵詞“Scratch”,就能找到斯蒂芬·豪威爾編寫的插件“Scratch 2.0 Plug-in for Leap Motion”。登錄網站即可免費安裝,只是服務器在國外,安裝速度有點慢。

插件安裝地址:https://apps.leapmotion.com/apps/scratch-2-0-plug-in-for-leap-motion/windows#,插件安裝成功后,Leap Motion App Home中會出現一個新的應用,如圖2所示。

3.安裝Scratch 2.0并載入相關腳本

顧名思義,“Scratch 2.0 Plug-in for Leap Motion”是Scratch2.0的插件,要先安裝Scratch2.0。在插件的安裝頁面中,作者還提供了Scratch2.0的腳本文件“LeapMotion.json”。打開Scratch2.0,按住“Shift”鍵點擊程序上方的“文件”,彈出的下拉菜單中將多出一項命令“Import experimental HTTP extension”(如圖3)。載入“LeapMotion.json”文件后,Scratch的“更多模塊”中就能看到Leap Motion的專屬指令了(如圖4)。

從原理看,“Scratch 2.0 Plug-in for Leap Motion”相當于是一個橋梁,將Leap Motion和Scratch聯系起來。當電腦接入Leap Motion,并且Scratch正常運行時,Scratch 2.0 Plug-in for Leap Motion的界面會顯示如圖5的提示。

● 編一個手勢控制的程序

Leap Motion能夠精確識別雙手,提供一系列和手勢相關的信息,如每一個手指的X、Y、Z的坐標位置等。其遵循右手坐標系,坐標系中單位與物理世界中的一毫米相對應,坐標原點是設備的中心。X、Z軸組成水平的一個平面,X軸指向設備的長邊,Y軸豎直向上為正方向,Z軸相對屏幕向外是正方向,建議通過Leap Motion的觀察器來熟悉操作(如圖6)。

Scratch 2.0 Plug-in for Leap Motion并沒有提供Leap Motion的全部SDK數據,而是提供了其中最常用的幾類數據,如手和手指的坐標。手勢方面也僅僅提供了是否可見以及手掌是否張開。

為了幫助大家理解這些指令,我進行了分類整理,并進行說明(如下頁表1)。

1.小試身手:用手“抓”住小貓

首先用手勢控制一個角色“hand_open”,當“hand_open”角色遇到小貓角色的時候,用“Hand-1 open”判斷是否處于“抓”的動作。如果是,小貓角色的坐標就跟隨手的坐標移動(如圖7)。

具體的程序代碼說明如表2。

2.自由創意:用手勢控制的“捕魚游戲”

這是五年級小學生編寫的一個小游戲,小作者設計了如下功能:漁網在默認情況下是關閉的,隨著手的運動而移動坐標。當張開手掌時,漁網張開,小魚碰到就被捕。一秒鐘后,漁網自動收回。其中每撒一次網,就要扣除一定的金幣,而捕到的魚可以換金幣(如圖8)。

考慮到LeapMotion的Y軸是手的高度,在電腦前操作容易遮住顯示屏。小作者用Z軸的數據來作為Scratch的Y軸數據。其實代碼還是很簡單,如圖9所示。

通過這兩個范例,大家可能對Scratch2.0加上Leap Motion來玩手勢控制有了一定的了解。斯蒂芬·豪威爾老師在插件頁面中提供了他的幾個簡單范例,值得初學者參考。一般而言,我們很難用Scratch2.0編寫很復雜的手勢控制的程序。但是,只要有足夠的創意和算法基礎,僅僅“Scratch 2.0 Plug-in for Leap Motion”提供的功能,就可以讓中小學生編寫出很酷的手勢控制方面的應用來。如果具有足夠的數學功底,完全可以試試一些簡單的手勢識別。如果你對Leap Motion手勢控制編程感興趣,請關注下一篇,跟我一起繼續研究更加有趣的作品。

如果對相關內容感興趣,請關注主持人博客。

主站蜘蛛池模板: 精品91视频| 欧美另类第一页| 国产91成人| 欧美日韩福利| 少妇高潮惨叫久久久久久| 日本一区中文字幕最新在线| 91热爆在线| 亚洲欧美自拍视频| 亚洲精品欧美日韩在线| 国产精品无码在线看| 国产精品大白天新婚身材| 狠狠色丁婷婷综合久久| 欧美精品亚洲精品日韩专区| 一本大道无码高清| 亚洲欧美综合另类图片小说区| 欧美在线伊人| 伊人久久大香线蕉成人综合网| 亚洲国产成人精品青青草原| 99精品这里只有精品高清视频 | 国产免费久久精品44| 欧美激情伊人| 免费无遮挡AV| 无码乱人伦一区二区亚洲一| 亚洲va在线∨a天堂va欧美va| 欧美日韩精品一区二区在线线| 成人日韩欧美| 国产成人免费视频精品一区二区| 四虎综合网| 国产区人妖精品人妖精品视频| 日韩成人在线网站| 一级片一区| 日韩精品毛片| 4虎影视国产在线观看精品| 国产www网站| 亚洲 欧美 偷自乱 图片| 永久天堂网Av| 亚洲国产日韩在线观看| 欧美成人日韩| 欧美一级片在线| 国产XXXX做受性欧美88| 欧洲熟妇精品视频| 亚洲V日韩V无码一区二区| 日韩福利在线观看| 91久久偷偷做嫩草影院电| 91麻豆国产视频| 欧美精品一区在线看| 99久久精品免费看国产免费软件| 欧美色图第一页| 精品福利视频网| 高清无码不卡视频| 一级毛片免费观看不卡视频| 日韩欧美一区在线观看| 日本一区二区不卡视频| 免费在线国产一区二区三区精品| 久精品色妇丰满人妻| 亚洲日本中文字幕乱码中文| 国产精品三级专区| 亚洲精品无码日韩国产不卡| 亚洲人成网站色7799在线播放 | 老司机精品久久| 午夜限制老子影院888| 午夜毛片免费看| 国产精品蜜芽在线观看| 国产一级精品毛片基地| AV在线麻免费观看网站| 在线观看国产一区二区三区99| 亚洲人网站| 亚洲欧美日韩动漫| 国产欧美性爱网| 国产精品一区二区国产主播| 久久久久亚洲av成人网人人软件| 无码综合天天久久综合网| 亚洲国产成人精品无码区性色 | 久草视频一区| 成年人免费国产视频| 亚洲欧洲日韩久久狠狠爱| 日本在线国产| 国产成人午夜福利免费无码r| 亚洲av综合网| 欧美一级高清视频在线播放| a级毛片在线免费观看| 乱系列中文字幕在线视频|