我首先跟蹤影像中球的路徑。影像中的散點是球的 x 和 y 坐標。我想知道球撞擊地面和棍子的點。在D1中,球著地,在D2中,球被粘住。在兩種情況下,球會改變方向和角度。
如何找到角度和方向變化的點?

我撰寫了這段代碼來查找兩點之間的角度,但它沒有給出正確的輸出。
v1_theta = math.atan2(y1, x1)
v2_theta = math.atan2(y2, x2)
degree = (v2_theta - v1_theta) * (180.0 / math.pi)
x1, y1 - 球的先前位置
x2, y2 - 球的當前位置
如何找到角度和方向變化的點?
uj5u.com熱心網友回復:
右側的曲線d1表明您正在使用重力對 2D 運動進行建模。如果我們假設所有的時間間隔都相同,那么看起來就好像球先撞到球桿,然后撞到地面。
所以我們把軌跡分為三部分:棍子前的路徑、棍子與地面之間的路徑、彈離地面后的路徑。如果我們忽略過渡(即反彈),唯一的力量是重力。(值得檢查空氣阻力,但如果有的話,它似乎在噪音中并且可以忽略不計。)
取二階導數來測量重力,然后將拋物線擬合到這三個路徑。求解交叉點。(在每個交叉點你會有兩個速度,所以如果你想找到它們之間的角度,你可以使用 atan。)
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/515357.html
