Math & Physicss
[Math] Scale, Rotation, Translation 변환 행렬 (SRT 변환)
송만덕
2022. 2. 1. 23:48
Translation
Scale
Scale 변환에서 가장 중요하다고 생각되는 점은 바로 기준점이다.
기준점을 올바르지 않은 곳으로 잡게된다면 Scale 변환을 했을 시 크기가 변화함과 동시에 위치도 변화하기 때문이다.
기준점은 원점이 대표적이며 사진과 같이 캐릭터라면 발 밑을 원점으로 두는 것이 기준이 될 수도 있다.
Rotation
Rotation을 할 때 물체의 위치에 따라서 회전의 종류가 변하게 되는데,
물체가 원점에 위치한다면 자전을 하게되고, 원점과 떨어져 있게 된다면 공전을 하게된다고 보면 된다.
따라서 만약 자전이 아닌 공전을 원한다면 SRT가 아닌 STR과 같이 Translation을 먼저 해주면 된다.
각 축에 대한 회전행렬은 다음과 같다.
결론
SRT 순으로 연산해야한다고 써져있지만, 사실 SRT 혹은 TRS 두가지 방법이 있다.
보통 DX의 경우 SRT, OpenGL의 경우 TRS로 하는 것으로 알고있으며
둘의 차이는 다음과 같다.
SRT
TRS