변환행렬
Scale
Rotation
Translation
행렬의 곱셉은 결합법칙은 성립하나, 교환법칙을 성립하지 않는다고 했었다. 
이는 결과적으로 곱해주는 순서가 바뀌게 되면 값이 달라지게 된다.

우리가 특정 오브젝트를 이동하고 크기를 바꾸고 회전 3가지를 동시에 움직일때 
유니티툴에서는 이를 순서를 지켜서 진행하게 된다.
순서는 
1. Scale 
2. Rotation
3. Translation

순서로 이루어진다. (SRT)

 

Scale과 Rotation의 경우 원점 정보로 부터 영향을 많이 받기 때문에 순서가 바뀌게 되면
공전이 된다던가, 또는 스케일이 이상하게 커지는 현상이 일어 날 수도 있다.

Translation
벡터 * 매트릭스 곱하는 상황
벡터같은 경우 1*4
행렬같은 경우 4*4로 이루어져있다.

이동행렬이 이루어질때는  

1같은 경우에는 특별한 의미를 갖지 않지 않는다. 단지 계산을 하기 위해 1이 존재한다.
이동같은 경우 x,y,z이 직접적으로 곱해지지 않기 때문에 
벡터의 1값이 곱해지는 곳에 이동하고 싶은 만큼의 좌표를 넣어주면 된다
이동 매트릭스 같은 경우 아래와 같이 설정해준다.

이렇게 된다면
x = x + a
y = y + b

z = z + c
가 나오게 된다.

 

Scale
Scale같은 경우 x,y,z이 직접적으로 곱셈으로 바뀌기 때문에 아래와 같은
4*4 매트릭스를 곱해줘야한다.

x = xa
y = yb

z = zc

 

Rotation

 

x축 회전

y축 회전

z축 회전

'개발 공부 > DirectX12 및 게임수학' 카테고리의 다른 글

[게임수학] 행렬  (0) 2022.10.10
[게임수학] Vector 외적  (0) 2022.03.13
[게임수학] Vector 내적  (0) 2022.03.13
[게임수학] 기하 벡터 기초  (0) 2022.02.22
[게임 수학] 삼각함수  (0) 2022.02.17

+ Recent posts