[請益] 想請教Ogre內的SVD函式

看板GameDesign作者 (我要加油)時間14年前 (2010/03/03 02:38), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串1/2 (看更多)
這兩天一直在試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
Ogre做出來的答案是多少?
03/03 02:57, 1F
文章代碼(AID): #1BZLiUXQ (GameDesign)
文章代碼(AID): #1BZLiUXQ (GameDesign)