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手勢控制編程感興趣,請關注下一篇,跟我一起繼續研究更加有趣的作品。

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

主站蜘蛛池模板: 国内精品小视频福利网址| 国产杨幂丝袜av在线播放| 国产成人综合网| 中文字幕在线看视频一区二区三区| 成人精品在线观看| 国产美女自慰在线观看| 九九热精品免费视频| 国产AV无码专区亚洲A∨毛片| 国模视频一区二区| 国产9191精品免费观看| 欧美日韩va| 国产91小视频在线观看| 国产精品福利在线观看无码卡| 亚洲综合色在线| 亚洲欧洲日韩国产综合在线二区| 亚洲美女操| 欧美一级黄色影院| 看国产毛片| jizz国产在线| 91精品小视频| 谁有在线观看日韩亚洲最新视频| 天堂网亚洲系列亚洲系列| 亚洲AⅤ无码日韩AV无码网站| 久久精品人人做人人爽| 婷婷亚洲视频| 91偷拍一区| 色综合狠狠操| 91在线国内在线播放老师| 国产精品手机在线观看你懂的| 国产黄色片在线看| jizz亚洲高清在线观看| 国产在线一区二区视频| 久久无码av一区二区三区| 国产精品夜夜嗨视频免费视频| 黄色污网站在线观看| 色久综合在线| 国内精自视频品线一二区| 亚洲国产中文欧美在线人成大黄瓜| 成人av专区精品无码国产| 日本一本在线视频| 欧美亚洲激情| 欧美亚洲一区二区三区导航| 欧美啪啪精品| 欧美精品高清| 国产精品密蕾丝视频| 最新国产午夜精品视频成人| 亚洲人妖在线| 广东一级毛片| 国产成人啪视频一区二区三区 | 无遮挡国产高潮视频免费观看 | 欧美另类图片视频无弹跳第一页| 尤物精品视频一区二区三区| 青青草原国产av福利网站| 无码精品国产dvd在线观看9久| 色婷婷亚洲综合五月| 精品国产成人高清在线| 国产精品人人做人人爽人人添| 在线99视频| 国产精品永久免费嫩草研究院| 成人年鲁鲁在线观看视频| 中国黄色一级视频| 中国美女**毛片录像在线| 无码在线激情片| 欧美国产日本高清不卡| 国产jizzjizz视频| 国产精女同一区二区三区久| 色首页AV在线| 午夜精品福利影院| 国产精品高清国产三级囯产AV| 欧美视频二区| 亚洲一区二区精品无码久久久| 精品国产欧美精品v| 69免费在线视频| 欧美日韩国产在线播放| 亚洲黄色成人| 亚亚洲乱码一二三四区| 无码啪啪精品天堂浪潮av| 国产91线观看| 一级看片免费视频| 国产精品午夜福利麻豆| 免费看一级毛片波多结衣| 国产熟睡乱子伦视频网站|