2014-11-02 40 views
1

我正在嘗試將摩擦運用到3D碰撞。我的資料是:沿飛機的刻度向量

  • 碰撞的速度
  • 的表面法線撞機
  • 任意摩擦係數(0 - 1以下)

enter image description here

我想要做的是將平行於平面的速度部分乘以摩擦係數,同時使部分平行於正常情況克拉。

我該怎麼去執行這個操作?

我在想也許這會涉及點積的使用,但是後來我開始閱讀矩陣,然後是矢量投影,現在我很迷茫。

回答

0

我能夠做解決問題如下:

  1. 獲取正常
  2. 使用正常和切向量的切向量得到一個旋轉矩陣的表面
  3. 使用旋轉矩陣的倒數來變換速度矢量
  4. 通過摩擦係數縮放變換矢量的x和z分量
  5. 使用旋轉矩陣變換rm速度再次回來

我懷疑這是做到這一點的最有效的方式,但它似乎工作。

+0

是的,你已經改變了一個三維問題轉化爲二維排列的問題。順便說一句,你是否也處理不同的恢復係數,或者你的碰撞只是純粹的彈性? – ja72 2014-11-03 15:20:43

+0

我正在寫一個粒子模擬。粒子沒有質量,所以碰撞是有彈性的(我想!)。 – Vesuvian 2014-11-03 16:40:31

0

如果你可以做矢量加法,標量乘法(即乘以數量的向量)和點的產品,那麼這就是你需要:

V =(V•V 正常V 正常

V par = V - V in

V = K V 面值(其中,k是係數,以及 「=」 表示賦值)

V = - V

V = V + V 面值

+0

感謝您輸入測試版。我的數學符號不是很好,=>做什麼?它看起來像Vpar沒有用於計算Vin,或者有兩個輸出? – Vesuvian 2014-11-03 12:25:55

+0

@Vesuvian:對不起,我忘了最後一步。我會編輯。 – Beta 2014-11-03 14:36:46

+0

感謝@Beta的更新,但我仍然有點困惑。第一行是否表示速度和法線的點積乘以法線?爲手持抱歉。 – Vesuvian 2014-11-03 16:43:56