레퍼런스 applyMatrix()

applyMatrix()

좌표계에 변환 행렬을 적용합니다.

translate(), rotate(), scale()와 같은 변환은 행렬-벡터 곱셈을 내부적으로 사용합니다. 행렬은 각 변환을 인코딩하는 숫자 표입니다. 행렬의 값은 벡터로 표시되는 캔버스의 각 지점에 곱해집니다.

applyMatrix()를 사용하면 여러 변환을 한 번에 적용할 수 있습니다. 변환에 대한 자세한 내용은 위키백과MDN을 참조하세요.

applyMatrix()를 2차원과 3차원에서 호출하는 두 가지 방법이 있습니다.

2D 모드에서, 매개변수 a, b, c, d, e, f는 다음과 같은 변환 행렬의 요소에 해당합니다:

The transformation matrix used when applyMatrix is called in 2D mode.

숫자들은 applyMatrix(2, 0, 0, 0, 2, 0)와 같이 개별적으로 전달할 수 있습니다. 또한 applyMatrix([2, 0, 0, 0, 2, 0])와 같이 배열로 전달할 수도 있습니다.

3D 모드에서, 매개변수 a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p는 다음과 같은 변환 행렬의 요소에 해당합니다:

The transformation matrix used when applyMatrix is called in 3D mode.

숫자들은 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 루프의 시작 지점에서 재설정됩니다. draw() 함수 내에서 applyMatrix()를 호출해도 도형이 계속해서 변환되지 않습니다.

예제

구문

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:

변환 행렬의 요소를 포함하는 배열. 그 길이는 6(2D) 또는 16(3D)이어야 합니다.

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!

관련 레퍼런스