張典華, 陳一民
(1.上海大學計算機工程與科學學院,上海 201800;2.上海大學數碼藝術學院,上海 201800)
籃球訓練仿真系統的實現
張典華1,2, 陳一民1
(1.上海大學計算機工程與科學學院,上海 201800;2.上海大學數碼藝術學院,上海 201800)
針對當前籃球訓練中缺少量化計算的問題,開發了籃球訓練仿真系統。首先利用籃球運動軌跡方程求導,得到起落點不在同一水平線上的無空氣阻力情況下最佳出手角和出手速度的精確解。實驗表明最佳出手角隨出手速度的增加而增加,隨出手高度的增加而減小。當投籃距離增大時,最小出手速度需要增加,最佳出手角則減小。然后制作了可視化的仿真環境,并對運動員動畫、有物理材質的籃球、聲音模塊、關卡設計、最佳出手角計算模塊及網絡計分系統等進行了研究。運動員可以利用該可視化環境測算適合自己的最佳出手角和出手速度,輔助訓練。
籃球;訓練;無阻力;仿真
投籃是籃球運動中的核心技術。比賽中球隊會使用各種戰術,僅投籃技術就有正面投籃、后仰高手投籃、空中跳起撥球補籃、反手投籃、勾手投籃等,而所做的一切,都是為了投中,所以投籃命中率的高低決定了一個運動員水平的高低。一些人[1-2]從籃球訓練的角度進行了論證,但訓練一般很難進行量化,主要是基于經驗。如果能對籃球運動中的數據運用運動力學和數學進行量化分析,求出精確解,則可以進行針對性訓練,可快速提高籃球運動員的水平。所有的量化分析中求取運動員的最佳出手角一直是研究的熱點問題。因為在最佳出手角投籃最省力,籃球飛得最遠,準確度最高。找到每個運動員的最佳出手角并進行針對性訓練,將發力和角度固化下來,可有效提高運動員的訓練水平。許多力學教材研究的拋物體運動是起終點在相同水平線上的標準拋物體運動,計算結果是當拋射角為45°時可達到最遠射程。實際籃球在飛行過程中起點和終點并不在一個水平線上,所以籃球運動的最佳拋射角并不一定是45°。文獻[3]研究了拋物軌跡中投籃最高點的最佳位置,認為最佳出手角為 45°。籃球的飛行過程中會產生前旋、后旋、側旋。文獻[4]對拋體的實時旋轉進行了研究,實現了拋擲動作的準確判定。文獻[5-6]對運動中的手及手腕進行了自動估測。本文為簡化問題,設籃球飛行時為不旋轉且忽略手的姿態對球的影響。
本文從無空氣阻力的常規物理運動方程出發,求出籃球與出手角和出手速度相關的運動軌跡方程,利用導數求出極值,得到最佳出手角和最小出手速度方程,并針對特例求出數值解。實驗表明最佳出手角隨著出手速度、投籃高度、投籃距離的變化而有很大變化。
籃球訓練仿真系統是上海大學嘉定校區虛擬校園的一部分,虛擬校園分為校園漫游模塊、虛擬展廳模塊、小孩扔書游戲模塊、籃球訓練仿真系統模塊。籃球訓練仿真系統利用微軟的Kinect和磁力跟蹤設備及數據手套獲取真實場景中運動員的出手速度、角度、高度,提交系統計算,在屏幕上顯示虛擬運動員的投籃情況。同時系統根據運動員的投籃情況給出最佳出手角和最小出手速度等提示信息,輔助運動員訓練。
主要功能:運動員進籃球場后,系統提示是否進行訓練,確定后出現訓練場景。籃球進筐時播放進筐的聲音,若打板則播放打板或碰墻的聲音。在屏幕左上角顯示得分情況、當前最高分紀錄、剩余時間(每關總時長為60 s,總共6個關卡)。籃球落地后會不斷彈跳。訓練完畢經注冊,將分數發布到遠程服務器中,以便查看歷次得分情況。
籃球訓練仿真系統主要包括圖形用戶界面、最佳出手角計算模塊、關卡設計、物理模塊、網絡模塊、聲音模塊等。系統結構如圖1所示。
最佳出手角計算模塊:利用物理方程求出籃球不受空氣阻力時的最佳出手角和最小出手速度,這也是該系統要解決的重難點問題。
關卡設計模塊:設計了6個關卡。為提高運行速度,對場景中的模型進行優化,包括減少模型面片數,使用全局光照貼圖,利用主攝像機的平截頭體進行場景裁剪等。
物理模塊:利用基于坐標軸的包圍盒 AABB (立方體包圍盒)來實現碰撞檢測,主要實現籃球對籃板、籃筐、墻體的碰撞檢測。建立3個物理材質分別表示籃球、地面、籃框;物理材質具有動態和靜態摩擦力、表面彈力、各向異性摩擦力等屬性。
網絡模塊:可實現注冊用戶、發布和更新分數、驗證 EMAIL、修改密碼、創建計分系統、查詢最高計分。
聲音模塊:使用FMOD聲音引擎,建立了對籃球碰籃板、籃筐的聲音監聽。

圖1 仿真系統結構圖
2.1 獲取出手的位置和高度
基于Kinect的方式使用Microsoft SDK對手進行了識別和位置跟蹤,并使用有限狀態機對肢體動作進行了語義解析。基于磁力跟蹤設備和數據手套的方式利用運動鏈模型定義了雙手的交互規則,同時對兩種方式獲取的數據進行了最大似然度數據融合[7-8]。利用自適應網格線性插值校正法對磁力跟蹤器進行了校正[9]。
2.2 籃球軌跡模型
問題的模型圖如圖2所示。

圖2 籃球飛行軌跡
為簡化問題,將籃球與持球的人視為一個整體,將坐標原點設為籃球出手的位置,x, y是籃球在水平和垂直方向的位置,y=y1-h,y1指籃筐離地高度,標準籃架y1為3.05 m,h指籃球出手時的高度,h=h1+Lsinα,h1指運動員肩膀高度,L為運動員臂長。v指出手速度,α指出手角度。
籃球不受空氣阻力時,x軸方向為勻速運動,y軸方向為受到重力的勻變速運動,將運動分解為 x軸和y軸,得方程組如下:

由方程組式(1)得:

因為 g x2>0,求式(2)的最大值,實際也就是求f(α)=2x sinαcosα-2ycos2α的最小值。對 f ( α )求導,得:



則由式(2)得最小出手速度:

標準籃球直徑0.246 2 m。罰球線正中位置離邊線 5.8 m,籃板中心離邊線內沿 1.2 m,籃筐內徑0.45 m,籃板厚0.003 m,籃筐內沿離籃板最近點0.15 m,故罰球時正中位置離籃筐中心點水平距離s=5.8-1.2-0.45/2-0.15-0.015=4.21 (m)。三分球時如運動員站在三分線上,則為 6.25 m。籃筐高度y1=3.05 m。重力加速度g=9.8 m/s2。
在罰球點處 x=4.21 m,設籃球出手高度h=1.755 m,則籃球需要運動的垂直距離 y=y1-h= 3.05-1.755=1.295 (m),則由式(4)、(5)可算得最佳出手角 γ = 5 3.549 1°和最小出手速度 vmin= 7 .473 7 m/s。以此類推可得在罰球點處的最佳出手角和最小出手速度見表1。
由表1可知最佳出手角隨出手速度的增加而增加,隨著出手高度的增加而減小。高個運動員在跳投時,要適當減小出手角度,或者適當減小出手速度,此時籃球的飛行弧線較短,不易受到風等外因的影響,可提高投籃命中率。當投籃高度在2.62~2.91 m時,最佳出手角變化1.963 6°,變化率為6.771 m/s,當投籃高度在1.72~2.23 m時,最佳出手角變化3.255 1°,變化率為6.382 5m/s,所以當投籃高度增加時,手指的靈敏性要提高,因為此時最佳出手角變化較大,運動員要加強跳投時手指撥球的訓練。
利用式(4)、(5)也可算出不同運動員在不同距離上的最小出手速度和最佳出手角,并固化下來,以求提高投籃精度。表2列出相關數據,其中x指投籃平面距離,x=6.25 m是指三分線平面距離。

表2 不同距離上的最小出手速度和最佳出手角
由表2可知,當投籃距離增大時,最小出手速度需要增加,最佳出手角則減小。所以運動員在投遠距離球時,應提高出手速度,減小出手角。與表1中相應x值進行比較,并將不同γ、vmin變化值取平均值后發現,當投籃距離從 4.21 m增加到5.32 m再至6.25 m時,γ的變化值由平均值1.38°,降至0.948°,vmin的平均變化值由0.538 3 m/s,增加至0.687 4 m/s。所以運動員在投遠距離球時,應減少最佳出手角約1°,速度應增加約0.6 m/s。
2.3 與有空氣阻力的情況比較

當考慮籃球飛行的空氣阻力,從文獻[10]可知,籃球的空氣阻力:其中,k取0.014 28,空氣阻力系數Cd=0.5,籃球的直徑D=0.246 2 m,籃球的迎風面積=3.1416 × 0 .24622/4 =0.0476(m2),空氣密度ρ= 1.20 kgm-3。當人站在罰球點上時,球離球框的水平距離x=4.21 m,文獻[10]與表2中的數據比較見表3。

表3 有無空氣阻力時的出手角度比較
由表3可知,當考慮空氣阻力時,相應的最佳出手角度平均要減少11.7°。
2.4 與實驗數據的比較
使用磁力跟蹤設備跟蹤手部位置時,因設備固有的缺陷造成位置的誤差。主要原因有:①電磁場易受到周圍磁場的影響,包括地磁、永磁體、電路板磁場。②磁場強度會因發射器與接收器之間距離的增加而減弱。需對實驗獲取的數據進行校正,本實驗使用坐標變換校正法校正磁力設備獲取的數據。以持球時手部位置為坐標原點,獲取投球及彈跳后的手部位置。由表4可知,磁力設備獲取的數據存在較大誤差,使用坐標變換校正后相關的誤差會明顯降低。

表4 實驗數據及校正后的數據
3.1 關卡優化
3.1.1 優化模型
根據系統要求一般仿真系統500~600個三角面比較好,比如半條命2游戲的角色約為2 500~5 000個三角面,達到AAA標準的次時代游戲如PS3或者XBOX360上的游戲角色通常為5 000~7 000個三角面。本系統中的運動員模型被優化為5 736個三角面、3 291個頂點,從而可在不影響美觀的情況下提高渲染效率。采用的方法有面合并、刪除隱藏面和重疊面、盡量用多邊形面少用布爾曲面、減少物體分段數等方法。同時按材質合并模型,爭取做到一個模型一個材質,此系統中的人物共使用了4種材質。同時將燈光附近的物體合并,并限制燈光數,以加快渲染。使用同樣方法將場景模型降低到175個三角面、206個頂點。優化模型的工作是在建模軟件3DMAX中實現的。
3.1.2 靜態模型使用全局光照貼圖
常用的靜態模型貼圖方式有光照貼圖(light map)與頂點光照(vertex lighting)。其中,光照貼圖的優點:可以減少CPU和GPU的占用;讓CPU需要計算的光照和物體間的互動更少;不需要在GPU的多重通道中被渲染;光照貼圖通道被整合進自發光(emissive)通道中,可以縮短渲染時間。因此,使用Illuminate Labs 的Beast對場景進行光照貼圖。理論上,在渲染時各個多邊形根據其所對應的紋理坐標來訪問場景光照貼圖就能得到正確的顯示效果,但在實際中卻由于浮點運算的精度誤差而使得到的紋理坐標產生誤差,特別是場景中多邊形的邊緣處會出現很不自然的裂痕,使渲染的質量降低。解決方法如下:
(1) 通過提高計算多邊形紋理坐標的精度,如由float類型變為double類型。但在實現中此操作并沒有什么實質的改善。
(2) 在進行多邊形光照貼圖到場景光照貼圖的合并過程中,對多邊形的光照貼圖進行處理。在進行貼圖擴展時,對原始單個多邊形的光照貼圖進行擴展,對原始貼圖的邊緣顏色值進行擴展,使其邊緣范圍變大,即使是在場景的光照圖中出現訪問的偏差,得到的依然是該貼圖邊界的顏色值,就可以使相鄰的兩個多邊形的邊緣融合得很好。在實際使用中該方法可以很好地解決各個多邊形邊界裂痕的問題。
3.1.3 主攝像機
對場景建立主攝像機,同時采用平截頭體裁剪(frustum culling)對場景進行裁剪,超出平截頭體的物體不顯示。主攝像機參數有:視野為 60°,平截頭體的近端剪切面為0.3,遠端剪切面為1 000,采用透視投影,景深為-1,裁剪不在主攝像機視野內的所有物體。
3.2 物理模塊
3.2.1 碰撞檢測
本文利用基于坐標軸的包圍盒 AABB來實現碰撞檢測。對籃球建立球形碰撞體。對籃球場、籃板和籃筐建立基于網格的碰撞檢測。在籃筐內建立一個小的立方體做為碰撞檢測對象,使用OnTriggerEnter()來檢測碰撞,當碰撞體 Trigger被擊發時播放投中的聲音。
3.2.2 籃球的物理材質
物理材質是物體的表面屬性和碰撞屬性,這些屬性可以確定一個物體和另一個物體發生碰撞時,是如何在該物體上反彈、滑動、滾動。建立basketball bouncy、ground bouncy、hoop bouncy 3個物理材質分別表示籃球、地面、籃筐。可以實現籃球碰到籃筐、籃板、墻面后的反彈效果,而且籃球可在各種摩擦力的作用下越彈越低,最后變成滾動如圖3所示。其中basketball bouncy的各參數如表5。

圖3 網頁版

表5 籃球的彈跳物理材質參數
籃球對象使用剛體表示,籃球的彈跳、滑動、滾動等性狀用物理材質來表現,為提高系統運行速度,目前未對籃球在不同作用力下的形變進行表現,相關工作放到后續研究中實現。因為籃球需要反復出現,故將其設為prefab對象,從而新生成的籃球均只是這個對象的實例,同時將物理材質加到籃球的球狀碰撞檢測中,檢測半徑為 0.2。相關代碼如下:
Nxmaterial* defaultMaterial=gscene →getMaterialFromIndex(0)
Default Material→setRestitution (0.9);
DefaultMaterial→setStaticFriction (0.3); //靜態摩擦系數
DefaultMaterial→setDynamicFricfion (0.3); //動態摩擦系數
3.3 網絡計分系統
界面見圖4。為此建立GetMyScore、MyScore、PlayerRegister、Score 4個場景。將網頁版運動仿真系統所在的文件夾設為網絡共享文件夾。將網頁MIME 類型設為 application/unity3d,擴展名為.unity3d,使網頁能夠打開這個運動仿真系統。
3.4 聲音模塊
首先在場景中的主攝像機上建立聲音監聽器,用來監聽并播放籃球碰板、碰籃筐的聲音。其次要建立聲音源。其中聲音的優先級為128,能聽到聲音的最小距離為 1,最遠聲音距離為 500。初始音量為 1,音高為 1,聲音是衰減模式為對數衰減。主要代碼如下:

本系統開發的硬件環境為:微軟的 Kinect for Windows,Ascension公司的Flock of Birds跟蹤器,5DT的Data Glove 5 Ultra數據手套,華碩F80C筆記本電腦,顯卡為ATI Mobility Radeon HD 3470,CPU為Intel Celeron D,主頻為1.2 GHz。軟件開發使用Unity3D三維游戲引擎、C#、OpenGL、C++。為適合不同訓練場合的需要,將系統移植為Windows單機版、網頁版、MAC單機版、MAC Dashboard Widget 4個版本,如圖3和圖4所示。

圖4 MAC Dashboard 版
在不同的平臺下,系統運行都比較流暢。該系統可通過提示信息,對運動員的最佳出手角度和最小出手速度進行校正,通過科學訓練,可有效提高投籃命中率。同時該系統具有占地少、不受天氣影響、成本低等優勢,具有一定的推廣價值。
此系統使用數學模型模擬了在無空氣阻力的情況下籃球的飛行狀況,籃球運動員可用此方法精確算出在不同距離得到的最佳出手角和最小出手速度,并以此為基礎進行固化訓練。同時籃球真實飛行是在有空氣阻力的情況下,而且有旋轉,本項目組已在其他文章中對這些問題進行了探討。同時因為磁力跟蹤等設備存在相應的誤差,實際使用過程中也會有小的誤差,已經進行了相應的改進,后續還需進一步改進,減少誤差。
[1] 許 博, 崔魯祥, 柴 萍. 籃球運動員核心穩定性對跳投命中率的影響[J]. 沈陽體育學院學報, 2010, 29(6): 113-116.
[2] 洪 燕, 徐發榮. 籃球比賽中投籃命中率問題的探討[J].景德鎮高專學報, 2006, 21(2): 71-72.
[3] 馮大志. 籃球的最佳投籃路徑[J]. 山西財經大學學報, 2011, 33(2): 85-86.
[4] 姚爭為, 陳一民, 陳 明. 增強現實系統中拋體實時旋轉的研究與實現[J]. 系統仿真學報, 2009, 21(23): 7503-7510.
[5] 姚爭為, 潘志庚, 滕國棟. 基于深度相機的手腕識別與掌心估測[J]. 中國圖象圖形學報, 2014, 19(3): 463-470.
[6] 姚爭為, 潘志庚. 基于體素的人手結構自動估測[J].中國圖象圖形學報, 2014, 19(1): 54-61.
[7] 李 蕓. 基于增強現實的人機交互系統的技術研究[D].上海: 上海大學, 2013.
[8] 黃 晨. 運動環境下的增強現實系統技術研究[D]. 上海: 上海大學, 2012.
[9] 李啟明, 陳一民, 黃詩華, 等. 增強現實系統中磁力跟蹤注冊的精確性研究[J]. 計算機工程與設計, 2009, 30(24): 5785-5789.
[10] 張典華, 陳一民. 多平臺三維籃球運動仿真系統的設計與實現[J]. 計算機工程與設計, 2014, 35(10): 3568-3573.
Realization of Basketball Training Simulation System
Zhang Dianhua1,2, Chen Yimin1
(1. School of Computer Engineering and Science, Shanghai University, Shanghai 201800, China; 2. College of Digital Arts, Shanghai University, Shanghai 201800, China)
In view of the lack of quantitative calculation problems in the current basketball training, the basketball training simulation system was developed. The exact solution of the best shot angle and velocity of shots without air resistance is solved using the trajectory equation of basketball movement whose start and end point are not in the same level. The result shows that the best shot angle will increase with the increasement of the shot speed, decrease with the increasement of the shot height. With the increasement of the shot distance, the minimum shot speed need to be increased, and the best shot angle is decreased. At the same time, a visual simulation environment is created which includes the animation of athletes, the basketballs with physical material, sound, level design, the best shot angle calculation module and network scoring module. Players can use the visual environment to measure the best shot angle and shot speed for auxiliary training.
basketball; training; no resistance; simulation
TP 391.9
A
2095-302X(2015)05-0789-06
2015-03-30;定稿日期:2015-04-18
國家“863”計劃資助項目(2007AA01Z319);國家科技支撐計劃課題資助項目(2006BAK13B10);上海市科委資助項目(11511503400, 11511503302)
張典華(1975-),男,山東萊州人,講師,博士研究生。主要研究方向為虛擬現實、增強現實。E-mail:bandit05@163.com