行列関係のメモ

前提条件

ここでの行列の話は、Unityでの座標系の話です。 なので、左手座標系の話です。

行列のそれぞれの格納されている値

全部を合わせた時の行列情報時の内容

f:id:herie270714:20200719020632p:plain
行列の情報

平行移動行列

f:id:herie270714:20200719020748p:plain
平行移動行列

なので、InspectorでPosition部分を変更した場合は、行列の然るべき箇所が変化する。 例えば、Position(10,0,0)となった場合の行列は 10010 0100 0010 0001 といった感じの具合になる。

回転行列 X Y Z

f:id:herie270714:20200719020805p:plain
X軸回転行列
f:id:herie270714:20200719020823p:plain
Y軸回転行列
f:id:herie270714:20200719021015p:plain
Z軸回転行列

スケール行列

f:id:herie270714:20200719021127p:plain
スケール行列

行列から取得ができる情報

行列から以下のくくりの情報を取得した際に、これらが、左から、Right、Up、Forwardを指している。

f:id:herie270714:20200719145203p:plain
行列から色々と取り出すもの
また、この3つのくくりの値は、長さを計算で出してあげると、 XYZのスケールの元の値 を取得する事が出来る。

逆行列

スケールの逆行列

1/スケールXの値,  0 , 0,0 0 ,1/スケールYの値, 0,0 0 , 0 , 1/スケールの値Z,0

回転の逆行列

行と列を入れ替えた値を f:id:herie270714:20200719020632p:plain 青い枠の箇所に入るようにする。

参考にしたサイト

Unityは、左手座標系です。 - Qiita

unitylab.wiki.fc2.com

Unity入門/行列 - WisdomSoft