Matrix link
- class Matrix(l) link
該類是一種4×4矩陣,在Ren’Py的很多地方都有用到。
用作坐標變換時,矩陣的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軸坐標值,x’是變換值。其他的y、z和w值類似。 常見的情況是w的值為1,在一個矩陣中就可以實現坐標的位移、旋轉和縮放的組合變換。
When used to transform colors, the 16 elements of this matrix are 用作色彩變換時,矩陣的16個元素是:
rdr, rdg, rdb, rda, gdr, gdg, gdg, gda, bdr, bdg, bdb, bda, adr, adg, adb, ada,
分別對用紅綠藍和alpha通道。
使用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,