2016-05-20 31 views
0

円筒を変換する必要がある場合は、まずスケーリング行列(sx、sy、sz)を使用して変換行列(tx 、ty、tz)、これら2つの行列によって結合された新しい行列を形成する。 => M = T * Sとなる。変換されたプリミティブ - 関数を使用せずに行列の逆行列を計算する

次に、関数を使用せずに行列M^-1の逆行列を計算したいのですが、スケーリング行列の逆行列にはスケール係数(1/sx、1/sy、1/sz)があります。変換行列の逆行列は(-tx、-ty、-tz)ですが、どのようにC++で関数を持たなくてもM^-1を得ることができますか?

答えて

0

ベクトルをいくつかの要因Sx、Sy、およびSzでスケールしたいとします。

Sx 0 0 0 
0 Sy 0 0 
0 0 Sz 0 
0 0 0 1 

次に、いくつかの要因Tx、Ty、およびTzによってベクトルを変換したいとします。以下のように、このための変換行列は、今になります。この行列の逆行列は、具体的

1/Sx 0 0 -Tx/Sx 
0 1/Sy 0 -Ty/Sy 
0 0 1/Sz -Tz/Sz 
0 0 0  1 

ある

Sx 0 0 Tx 
0 Sy 0 Ty 
0 0 Sz Tz 
0 0 0 1 

..限りSxSy、およびSzなど、すべての!= 0です。

アプリケーションによっては、汎用のマトリックス反転方法を作成する方がよい場合があります。 1つ以上の次元のスケーリング係数が0である場合のように、変換(または任意の)行列が可逆でない場合があることに注意してください。より一般的には、行列式は、行列式が非ゼロ。

関連する問題