Matrix3D.invert()

Matrix3D.invert();
と同じ機能の関数を作ってみる。
MAC 10,0,2,54,MAC 10,0,12,36で動作確認。



◆処理内容
余因子(cofactor)を作り、
サルス(Sarrus)の公式(関－サルスの公式)で
随伴行列(余因子行列,adjugate matrix)を作る。
行列式(determinant)で反転可能かを確認し、
可能なら随伴行列を行列式で割り、逆行列を得る。


◆確認方法
平行移動と回転にrandomを入れてrecomposeしたものを、
interpolateし、行列の各要素を比較して確認とした。

◆参考
「実例で学ぶゲーム3D数学」オライリーP126
ベクトルと行列　行列式と外積
http://www.snap-tck.com/room04/c01/matrix/matrix08.html
線形代数@wiki 行列式の展開公式
http://www22.atwiki.jp/linearalgebra/pages/21.html


↓こちらは掃き出し法(sweep out method)を使ってるのかな
３Ｄゲーム用の４行４列のマトリックスの関数を作ろう#逆行列を作成する
http://hakuhin.hp.infoseek.co.jp/main/as/matrix_44.html#MATRIX_11


Matrix3D.invert()
http://help.adobe.com/ja_JP/AS3LCR/Flash_10.0/flash/geom/Matrix3D.html#invert()
