リファレンス applyMatrix()

applyMatrix()

座標系に変換行列を適用します。

translate()rotate()scale() などの変換は、内部で行列-ベクトル乗算を使用しています。数値の表である 行列が各変換をエンコードします。行列の値は ベクトルで表されるキャンバス上の各点に乗算されます。

applyMatrix()を使用すると、多くの変換を一度に適用できます。詳細については、 WikipediaMDN を参照してください。

applyMatrix()を呼び出す方法は、2次元と3次元で2つあります。

2Dモードでは、パラメータabcdefが 以下の変換行列の要素に対応します:

2DモードでapplyMatrixが呼び出されたときに使用される変換行列。

数値は個別に渡すことができます。例: applyMatrix(2, 0, 0, 0, 2, 0)。また、配列として渡すこともできます。例: applyMatrix([2, 0, 0, 0, 2, 0])

3Dモードでは、パラメータabcdefghijklmnopが 以下の変換行列の要素に対応します:

3DモードでapplyMatrixが呼び出されたときに使用される変換行列。

数値は個別に渡すことができます。例: applyMatrix(2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 1)。 また、配列として渡すこともできます。例: applyMatrix([2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 1])

デフォルトでは、変換は累積されます。 push()pop()関数を使用して、 異なる描画グループ内で変換を分離できます。

注意:変換はdrawループの開始時にリセットされます。 applyMatrix()draw()関数内で呼び出しても、 形状が連続的に変換されることはありません。

実例

シンタックス

applyMatrix(arr)
applyMatrix(a, b, c, d, e, f)
applyMatrix(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p)

パラメーター

arr
Array:

変換行列の要素を含む配列。長さは2D用の6または3D用の16である必要があります。

a
Number:

変換行列の要素。

b
Number:

変換行列の要素。

c
Number:

変換行列の要素。

d
Number:

変換行列の要素。

e
Number:

変換行列の要素。

f
Number:

変換行列の要素。

g
Number:

変換行列の要素。

h
Number:

変換行列の要素。

i
Number:

変換行列の要素。

j
Number:

変換行列の要素。

k
Number:

変換行列の要素。

l
Number:

変換行列の要素。

m
Number:

変換行列の要素。

n
Number:

変換行列の要素。

o
Number:

変換行列の要素。

p
Number:

変換行列の要素。

Notice any errors or typos? Please let us know. Please feel free to edit src/core/transform.js and open a pull request!

関連するリファレンス