今天大家討論了之前各自想的方案的問題,基本確定了尋找擊球點的方案,以及擊球手運動軌跡規劃的方案,這裡我只是簡單的說下我們的擊球點的確定方案。
首先我們建立平面在直角座標系,圖中演算法選擇線為六等分線,是我們選擇不同擊球方案的一條分界線,我們的擊球行為大部分發生在擊球區,擊球區的大小按照兩條四等分線確定。
1 假定不考慮對方擊球手阻擋等情況
2 假定只考慮擊球手速度對準冰球球心
3 假定必要時可以優先防守,再考慮進球
4 假定擊球手擊球時速度大小固定為最大速度
當冰球軌跡曲線與擊球區邊界發生的第乙個交點在演算法分界線左側,並且冰球按照軌跡會進入球門時,我們只做防守不進攻,將球沿原方向反向撞回。
當冰球軌跡曲線與擊球區邊界發生的第乙個交點在演算法分界線左側,但冰球不會進入我方球門時,讓冰球在我方球門壁**一次進入擊球區,隨機選擇擊球區內冰球運動軌跡上一點為撞擊時冰球位置,然後根據速度向量合成,確定擊球點以及擊球手速度。
當冰球軌跡曲線與擊球區邊界發生的第乙個交點在演算法分界線右側時,直接以該交點作為撞擊時冰球中心,根據速度向量合成,確定擊球點以及擊球手速度。
1 對於速度向量合成過程中,擊球手的速度大小和方向為一組相關的變數,方程組只能解出速度大小與方向的關係,所以我們是確定速度來定方向,但實際上應該是用最優解的思想,我們為了簡化,沒有進行分析。
2 我們有乙個疑問:物理引擎組應該是做的如何模擬實際的物理碰撞過程,比如動量守恆,動能守恆等等。這樣的話,我們策略尋找擊球點過程中會遇到速度合成的問題,這樣我們分析的時候直接把這些當作已知來用嗎?
如果方案沒什麼太大的問題,我們準備完善下框圖,開始程式設計工作。
感覺我們組單做這乙個模組,程式設計不是很複雜,主要是方案的確定,以及和其他模組之間的介面定義的準確,這就要我們理解好各個模組之間的關係,但是我們感覺和物理引擎租的關係有那麼一點兒模糊,就像上面問題說的,所以有點擔心會弄錯策略的含義。
冰球專案日誌1 yjw
通過已知輸入 球位置速度,擊球手位置速度。確定輸出 擊球手擊球時速度,擊球點位置,擊球手軌跡。1 通過當前的球位置速度,判斷是否會進入我方球門,以判斷是否需要進行防守 2 通過判斷的進球情況,確定需要防守時的擊球方案 思考何時不考慮進球,只需要防守 3 通過判斷的進球情況,確定不需要防守時的進攻擊球...
專案工作日誌(3)
今天是正式展開需求調研的第一天,在此之前兩天整理了調研提綱,梳理清楚每個業務系統應了解的主要內容,包括業務流程 業務表單 統計報表 審批許可權 輔助功能等功能需求和系統效能要求 安全性要求等質量需求。準備好這些相關材料後,今天走訪了四個業務處室,了解這些業務處室使用這些業務系統的功能要求。通過今天的...
蘇嵌專案實戰 學習日誌3
姓名 余宜軒 日期 2018 09 04 今日學習任務 迴圈佇列,程式編寫,列隊的清空,讀取,隊頭,隊尾的取出,先進先出的結構,鏈式結構。完成情況 main.c include include queue.h include int main else if ret success ret empt...