給定3D空間中的兩個點A和B,我得到一條線段LS。給定兩個新點A'和B'產生線段LS',我需要找到將LS轉換爲LS'的變換矩陣。假定線段的長度相等。如何找到對齊兩條線的變換矩陣?
我對如何計算矩陣理論,但我真的很喜歡你,從它是否是一個好的理論,或者優秀的人一些反饋存在一些更好的方法。
這裏是我的算法:
- 令L和L '是平行於LS的線條和LS'
- 求點P其中L相交L」
- 查找L和之間的角度v L」
最終變換矩陣將是:
平移(-P)*旋轉(V)*翻譯(p)
一些背景的好奇:我建立這個在XNA,雖然數學題應該是相當普遍的。線段是連接線段較大結構的一部分。對於每個片段,我將爲每個動畫幀預先計算一個變換矩陣。
難道這些線路始終相交? – tafa 2010-03-05 09:35:12
@tafa:不,謝謝你指出。我不能保證,事實上很可能會想到,它們在某些情況下會是平行的。 – 2010-03-05 10:00:35