Matrix link

Matrix(l) link

これはRen'Pyの様々な場面で使用される4x4のマトリックスを表します。

座標変換に使用されると、このマトリックスの16要素は以下となります。

xdx, xdy, xdz, xdw,
ydx, ydy, ydz, ydw,
zdx, zdy, zdz, zdw,
wdx, wdy, wdz, wdw

ここで x' = xdx * x + xdy * y + xdz * z + xdw * w で、 x はオリジナルの値、 x' は変換後の値で y, z, w も同様です。これは通常座標に適用され、 w は回転やスケーリングとの組み合わせを1つのマトリックスで表現できるようにします。

色変換に使用されると、このマトリックスの16要素は以下となります。

rdr, rdg, rdb, rda,
gdr, gdg, gdg, gda,
bdr, bdg, bdb, bda,
adr, adg, adb, ada,

赤と緑、青、アルファチャンネルです。

マトリックスオブジェクトは Python 乗算オペレータを使用して乗算可能でどちらの使用にも使えるマトリックスを生成します。マトリックスの順番は問題となります。 v は変換される座標または色です。

(step2 * step1) * v

これは次と等価です。

step2 * (step1 * v)
l

これはこのマトリックスの導出に使用される 4 または 9, 16個の数値のリストです。最大の16でなければ、 zdz と wdw を指定がなければ1.0 にしてマトリックスの左上の隅を初期化します。例 :

Matrix([ 1, 2, 3, 4 ])

これは次のマトリックスになります。

1.0, 2.0, 0.0, 0.0,
3.0, 4.0, 0.0, 0.0,
0.0, 0.0, 1.0, 0.0,
0.0, 0.0, 0.0, 1.0,