[問題] 彈性碰撞(移動+轉動)
※ [本文轉錄自 Physics 看板 #1ZzjdWoD ]
作者: DJWS (...) 看板: Physics
標題: [問題] 彈性碰撞(移動+轉動)
時間: Thu Feb 23 11:13:31 2023
二維平面,兩個球體碰撞。
球體同時移動和轉動,具備速度和角速度。
採用impulse method,計算碰撞之後的速度和角速度。
impulse method詳細步驟:
1.計算接觸點的相對速度。
2.計算接觸點的衝量。
3.計算碰撞之後的速度、角速度。
我的問題:
為什麼移動和轉動共用衝量?
衝量不用分配給移動和轉動嗎?
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
1. 接觸點的相對速度。
v1 = u1 + (w1 ×r1)
v2 = u2 + (w2 ×r2)
v12 = v2 - v1
u1 u2 速度(質心)
w1 w2 角速度(接觸點)
v1 v2 速度(接觸點)
v12 相對速度(接觸點)
2. 接觸點的衝量(法線分量、切線分量)。
-(1+e) (v12.N)
J_N = ———————————————————————
1/m1 + 1/m2 + (r1×N)^2 / I1 + (r2×N)^2 / I2
-(1+e) (v12.T)
J_T = ———————————————————————
1/m1 + 1/m2 + (r1×T)^2 / I1 + (r2×T)^2 / I2
-u J_N <= J_T <= u J_N
m1 m2 質量
I1 I2 慣性矩
r1 r2 旋轉半徑
v12 = v2 - v1 相對速度(接觸點)
e 恢復係數(e=1是彈性碰撞)
u 摩擦係數
N 法向量(單位向量)
T 切向量(單位向量)
J_N 法線衝量
J_T 切線衝量
3. 碰撞之後的速度u'、角速度w':
u1' = u1 - J_N / m1
w1' = w1 - J_N (r1 ×N) / I1 - J_T (r1 ×T) / I1
u2' = u2 + J_N / m2
w2' = w2 + J_N (r2 ×N) / I2 + J_T (r2 ×T) / I2
參考資料
Building a 2D Game Physics Engine Using HTML5 and JavaScript. page 99.
https://link.springer.com/book/10.1007/978-1-4842-2583-7
https://reurl.cc/zAenYk
Box2D-lite Arbiter.cpp
https://reurl.cc/7Rrz7y
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.137.41.56 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Physics/M.1677122016.A.C8D.html
※ 編輯: DJWS (220.137.41.56 臺灣), 02/23/2023 11:27:40
※ 編輯: DJWS (220.137.41.56 臺灣), 02/23/2023 11:32:46
※ 發信站: 批踢踢實業坊(ptt.cc)
※ 轉錄者: DJWS (220.137.41.56 臺灣), 02/23/2023 11:36:24
※ 編輯: DJWS (220.137.53.226 臺灣), 02/24/2023 12:55:39
討論串 (同標題文章)
完整討論串 (本文為第 1 之 2 篇):
GameDesign 近期熱門文章
PTT遊戲區 即時熱門文章