2019年11月12日 星期二

Global space 的轉動慣量

看到cyclone-physics
用下面的方式算出w(角速度)

= R * I' * R-1
τ =α
w = w + αΔt

I'是Local space 的轉動慣量
(它是一個矩陣)
R 是物件當下的旋轉矩陣(用來變換到Global space)
R-1是旋轉矩陣的逆(用來變換到Local space)
--------------

Global space
旋轉中的物體,每個frame的 都在變
但在Local space
I' 是固定的

類似衝量
Δt = ΔP = Δ (m V) = m ΔV
τ * Δt = ΔL = Δ (w) = Δw
( τ = R X F )

L'為Local space的角動量
τ為Local space的力矩

τ' Δt = ΔL'
τ' = ΔL' / Δt
τ' = Δ(I'w') / Δt
τ' = I'Δ(w') / Δt
τ' = I' α'
(類似 F = m a )

--------------

上面提到 τ' = I' α'
(R-1 * τ) = I' * (R-1 * α)
R * (R-1 * τ) = R * I' * (R-1* α)
τ = R * I' * R-1 * α
τ = I * α
就得到了Global space 的轉動慣量
I = R * I' * R-1

--------------

使用
τ = α
w = w + αΔt
如果τ = | 0,0,0 |Tα 也會是 | 0,0,0 |T
那麼 w就不會改變

如果改用
L= L+ΔL
L = w
只要有初始動量,就算之後ΔL = | 0,0,0 |Tw還是會不停的改變

備註:

I = R * I' * R-1 是在Ben的教學裡看到的

沒有留言:

張貼留言