• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      用Scratch玩手勢(shì)控制(上)

      2015-06-01 14:20:13謝作如
      中國信息技術(shù)教育 2015年9期
      關(guān)鍵詞:斯蒂芬體感漁網(wǎng)

      謝作如

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

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

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

      ● Leap Motion簡介

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

      ● Leap motion編程環(huán)境配置

      1.安裝Leap motion的驅(qū)動(dòng)程序

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

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

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

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

      插件安裝地址:https://apps.leapmotion.com/apps/scratch-2-0-plug-in-for-leap-motion/windows#,插件安裝成功后,Leap Motion App Home中會(huì)出現(xiàn)一個(gè)新的應(yīng)用,如圖2所示。

      3.安裝Scratch 2.0并載入相關(guān)腳本

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

      從原理看,“Scratch 2.0 Plug-in for Leap Motion”相當(dāng)于是一個(gè)橋梁,將Leap Motion和Scratch聯(lián)系起來。當(dāng)電腦接入Leap Motion,并且Scratch正常運(yùn)行時(shí),Scratch 2.0 Plug-in for Leap Motion的界面會(huì)顯示如圖5的提示。

      ● 編一個(gè)手勢(shì)控制的程序

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

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

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

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

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

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

      2.自由創(chuàng)意:用手勢(shì)控制的“捕魚游戲”

      這是五年級(jí)小學(xué)生編寫的一個(gè)小游戲,小作者設(shè)計(jì)了如下功能:漁網(wǎng)在默認(rèn)情況下是關(guān)閉的,隨著手的運(yùn)動(dòng)而移動(dòng)坐標(biāo)。當(dāng)張開手掌時(shí),漁網(wǎng)張開,小魚碰到就被捕。一秒鐘后,漁網(wǎng)自動(dòng)收回。其中每撒一次網(wǎng),就要扣除一定的金幣,而捕到的魚可以換金幣(如圖8)。

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

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

      如果對(duì)相關(guān)內(nèi)容感興趣,請(qǐng)關(guān)注主持人博客。

      猜你喜歡
      斯蒂芬體感漁網(wǎng)
      體感交互技術(shù)在腦卒中康復(fù)中的應(yīng)用
      爸爸的漁網(wǎng)
      人體體感感知機(jī)械手設(shè)計(jì)與實(shí)現(xiàn)
      電子制作(2019年13期)2020-01-14 03:15:20
      輪椅上的天才——斯蒂芬·霍金
      斯蒂芬·G·雷茲《完全音樂理論教程》述評(píng)
      樂府新聲(2019年3期)2019-10-17 02:17:34
      透視漁網(wǎng)
      非觸控式的體感機(jī)械臂交互控制系統(tǒng)研究
      電子制作(2017年13期)2017-12-15 09:00:05
      斯蒂芬·庫里招牌動(dòng)作之掩護(hù)投籃
      NBA特刊(2017年10期)2017-08-08 03:01:46
      “漁網(wǎng)”來了,快跑!
      斯蒂芬·霍金:探知外太空,保人類長存
      启东市| 苗栗县| 左权县| 玉林市| 丹江口市| 瓦房店市| 金阳县| 会同县| 固阳县| 敦煌市| 波密县| 荆州市| 乌兰浩特市| 双柏县| 修水县| 家居| 宁远县| 临安市| 安塞县| 仙居县| 黑水县| 抚宁县| 乐陵市| 民乐县| 霞浦县| 石阡县| 鲜城| 福州市| 清水县| 广昌县| 盐津县| 宿州市| 罗平县| 博客| 上饶县| 淅川县| 高安市| 炎陵县| 曲松县| 万山特区| 轮台县|