[问题] 弹性碰撞(移动+转动)

楼主: DJWS (...)   2023-02-23 11:36:24
※ [本文转录自 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

Links booklink

Contact Us: admin [ a t ] ucptt.com