孫小華
摘 ? 要:在高職院校移動應用開發(fā)專業(yè)“高等數(shù)學”課程綜合實踐中加入相關知識進行教學探索。文章以移動應用開發(fā)中經常用到的碰撞檢測為例,在“高等數(shù)學”課程綜合實踐中進行教學,可以提高高職院校移動應用開發(fā)人才的培養(yǎng)質量,為其今后的實習與工作打好相關的數(shù)學理論基礎,提升移動應用開發(fā)專業(yè)學生的數(shù)學實踐能力。
關鍵詞:高等數(shù)學;課程綜合實踐;移動應用開發(fā);碰撞檢測
近年來,在“互聯(lián)網+”戰(zhàn)略“大眾創(chuàng)業(yè)、萬眾創(chuàng)新”的推動下,我國移動應用市場的應用數(shù)量呈現(xiàn)爆發(fā)性增長。根據(jù)工信部的調查統(tǒng)計,截至2018年12月,我國市場中的移動應用累計數(shù)量達到449萬款。移動互聯(lián)網產業(yè)的高速發(fā)展產生了大量的移動互聯(lián)網開發(fā)人才需求,據(jù)統(tǒng)計,2014年我國移動互聯(lián)網行業(yè)應用開發(fā)人員需求量是200多萬,但由于移動應用開發(fā)人才培養(yǎng)的滯后,實際從業(yè)人員不到70萬人。為此,2015年教育部在《普通高等學校高等職業(yè)教育(??疲I(yè)目錄(2015年)》中新增加了移動應用開發(fā)專業(yè)(專業(yè)代碼:610212)。國內已經有一些高職院校申請開設移動應用開發(fā)專業(yè),有的院校已開設了軟件開發(fā)專業(yè)(移動應用開發(fā)方向)。
目前,移動應用開發(fā)技術人才培養(yǎng)的任務主要由各類教育培訓機構如達內科技、北大青鳥、華清遠見等完成,學員沒有經過體系化、延續(xù)化的培訓,從業(yè)人員的素質與數(shù)量都遠遠落后于行業(yè)發(fā)展需求,無法滿足社會需求。而且移動應用開發(fā)專業(yè)涉及的信息技術發(fā)展迅猛,知識更新很快,除了傳統(tǒng)的技術之外,還涉及HTML5、云計算、傳感器等方面的知識。在進行移動應用軟件開發(fā)的過程中,開發(fā)人員經常需要用到許多數(shù)學知識,如坐標系變換、碰撞檢測、數(shù)據(jù)排序等。高職院校軟件開發(fā)專業(yè)(移動應用開發(fā)方向)雖然一般都開設了“高等數(shù)學”課程,但重點內容是微積分及其應用,沒有涉及移動應用開發(fā)中實際需要用到的數(shù)學知識。因此,為了提高高職院校移動應用開發(fā)人才的培養(yǎng)質量,為他們今后的實習與工作打好相關的數(shù)學理論基礎,亟需提升移動應用開發(fā)專業(yè)學生的數(shù)學實踐能力,在高職院校移動應用開發(fā)專業(yè)“高等數(shù)學”課程綜合實踐中加入相關知識進行教學探索[1]。
1 ? ?學情分析
參加“高等數(shù)學”課程綜合實踐的學生為移動應用開發(fā)專業(yè)的大一學生,已初步掌握了“高等數(shù)學”和移動應用開發(fā)相關專業(yè)的基本理論知識(如Java語言等),初步具備了移動應用開發(fā)專業(yè)的基本專業(yè)技能,但缺乏綜合實踐和交叉應用的能力。
2 ? ?項目基本情況
在市場上所有移動應用中,游戲類應用規(guī)模處于領先。截至2018年12月月底,游戲類應用數(shù)量約138萬款,數(shù)量規(guī)模排名第一。在游戲應用中,經常涉及利用圓或球的邊界進行碰撞檢測問題,所以在“高等數(shù)學”課程綜合實踐中嘗試加入碰撞檢測問題的求解。
課程綜合實踐要求學生利用實踐期間講授的碰撞檢測知識,并結合移動應用開發(fā)專業(yè)的課程配置,根據(jù)綜合實踐提供的相關資料,編寫二維平面碰撞檢測的代碼,并撰寫一份專題應用報告,培養(yǎng)學生解決模型問題的思路和方法,形成“理論構建—數(shù)學建檔—解決問題”的數(shù)學素質教育的教學模式。一方面,使學生具備運用較為嚴謹、有邏輯層次、較為精練準確的數(shù)學思維和語言分析問題、簡化問題以及描述問題的數(shù)學化能力,另一方面,提高學生處理一般實際問題的應用能力與創(chuàng)新能力[2]。
3 ? ?項目流程
本項目由教師負責制定、編撰理論教學與應用實踐內容。對參與項目的學生講解碰撞檢測的原理和基本方法,進行“高等數(shù)學”應用報告寫作指導,將參與項目的學生分成小組,推薦參考資料,布置學生按組進行文獻查閱、概要設計、詳細設計、代碼編寫、測試等,全程跟蹤指導各小組完成撰寫實踐應用報告。
碰撞游戲中的元素是否碰到一起,比如打飛機游戲,沒躲避炮彈就算飛機被擊中,移動應用要能檢測出來,然后執(zhí)行相應的處理程序。游戲里的碰撞檢測分為2D和3D兩種情況,在課程綜合實踐中,主要要求學生進行2D情況下的碰撞檢測。
在移動應用程序中,碰撞檢測主要有矩形判斷、圓形判斷、多矩形判斷3種方式。在對碰撞檢測的精度要求高的情況下,可以采用像素檢測算法達到精確檢測的目的,但采用像素檢測算法計算量大,對手機的性能要求高[3]。
如圖1所示,在矩形判斷方式中,可以把游戲中敵我雙方人物都當作矩形,來檢測兩個矩形是否相交。圖1中把其中一個人物當作中間的矩形,以手機屏幕左上角為坐標原點O,以水平向右方向為x軸正方向,豎直向下方向為y軸正方向。此矩形的左上角與右下角的坐標分別為(x1,y1)和(x2,y2),如果此時把另外一個人物也當作矩形處理,設其左上角與右下角的坐標分別為(x1',y1')和(x2',y2'),那么,此時另一人物處在圖中陰影部分的矩形所示位置時,兩矩形不相交,即兩人物不碰撞。圖1陰影部分的矩形所示位置包含以下幾種情況:
(1)陰影部分矩形全部在中間矩形左邊,即x2' (2)陰影部分矩形全部在中間矩形右邊,即x1'>x2。 (3)陰影部分矩形全部在中間矩形上邊,即y2 (4)陰影部分矩形全部在中間矩形下邊,即x1'>x2。 這時判斷兩個矩形是否相交,通過取反操作進行,因為相交==?。ú幌嘟唬?,即: ?。▁2' 圓形判斷比較簡單,判斷兩個圓心距離d12是否大于兩個圓的半徑之和“r1+r2”即可。對多矩形判斷,需要封裝多個矩形來一一判斷是否有碰撞。 在給學生講解完碰撞檢測的原理之后,學生需要針對3種碰撞檢測方法生成相應的數(shù)學模型,并寫出偽代碼。然后采用Java編程語言編寫簡單的Demo軟件。 4 ? ?教學反思 通過在移動應用開發(fā)專業(yè)開展“高等數(shù)學”課程創(chuàng)新創(chuàng)業(yè)綜合實踐,可以加強培養(yǎng)學生以下3方面的實際應用能力。 4.1 ?數(shù)學化能力 初步具備運用較為嚴謹且有邏輯層次的、較為精練準確的數(shù)學思維和語言分析問題、簡化問題以及描述問題的能力。將專業(yè)知識及實際問題提煉成數(shù)學問題,結合相關的數(shù)學知識進行消化、理解。 4.2 ?處理實際問題的能力 初步具備運用適當?shù)臄?shù)學思想、方法和技巧建立數(shù)學模型來解決所遇到的一般實際問題的能力,初步具備查閱應用文獻資料時對數(shù)學語言的辨識能力。一篇完整的應用報告是學生小組集體的成果,是問題數(shù)學化再到最優(yōu)方案設計的過渡。 4.3 ?應用創(chuàng)新能力 在后續(xù)的專業(yè)學習和實習中具備初步運用數(shù)學知識的創(chuàng)造能力,科學論文寫作時具備初步綜合運用數(shù)學語言的能力。 [參考文獻] [1]弗林特,科迪克.游戲中的數(shù)學與物理學[M].2版.周建娟,譯.北京:清華大學出版社,2014. [2]吳亞峰,蘇亞光,于復興.Android游戲開發(fā)大全[M].3版.北京:人民郵電出版社,2015. [3]喬納森.Android游戲編程入門經典[M].宋松,王小飛,譯.北京:人民郵電出版社,2013.