[請益] 想請教Ogre內的SVD函式
這兩天一直在試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
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 115.43.152.88
推
03/03 02:57, , 1F
03/03 02:57, 1F
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 2 篇):