Re: [請益] 想請教Ogre內的SVD函式
※ 引述《blackchicke (我要加油)》之銘言:
: 這兩天一直在試Ogre::Matrix3內的SVD函式,看它的API的用法是
: void Ogre::Matrix3::SingularValueDecomposition ( Matrix3 & rkL,
: Vector3 & rkS,
: Matrix3 & rkR
: ) const
: 於是我就試了一下這個函式用法(程式碼如下)
: Matrix3 *ma = new Matrix3(4.0f,0.0f,0.0f
: ,3.0f,-5.0f,0.0f
: ,0.0f,0.0f,1.0f);
: Matrix3 R;
: Matrix3 L;
: Vector3 S;
: ma->SingularValueDecomposition(L , S , R);
: 想說這樣出來L,S,R的結果就會是我的SVD內的V,S,U....可是出來的結果一直都不對
: 因為我這邊有上述矩陣分解的答案了, 想請問有用過Ogre的SVD函式分解的人
: 是我的函式用法錯誤嗎??還是這個函式不是用來作SVD的(那它函式名稱何必寫
: SingularValueDecomposition...>.<)
: 希望版上的大家給我一些指引,我卡很久了真的不知道問題出在哪裡,先謝謝大家了^^
: 順便附上V,S,U的正確答案
: V = 0.7071 -0.7071 0 S = 6.3245 0 0
: 0.7071 0.7071 0 0 3.1622 0
: 0 0 1 0 0 1
: U = 0.4472 0.8944 0
: 0.8944 -0.4472 0
: 0 0 1
Ogre出來的值
rkL = -0.94868 0.31622 0 rkS = 5 0 0
-0.31622 -0.94868 0 0 4 0
0 0 1 0 0 1
rkR = -0.94868 0.31622 0
0.31622 0.94868 0
0 0 1
rkS儲存的方式是Vector3,x,y,z分別是5,4,1,
我想說應該就是求出來的eigenvalue,所以就有這樣子的猜想,
麻煩有用過的人了,因為API也沒有寫怎麼用,不知道問題出在哪,謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.122.184.180
→
03/03 13:45, , 1F
03/03 13:45, 1F
→
03/03 13:57, , 2F
03/03 13:57, 2F
→
03/03 13:59, , 3F
03/03 13:59, 3F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
GameDesign 近期熱門文章
PTT遊戲區 即時熱門文章
112
163