Direct 3D를 이용한 프로그래밍에서는 변환을 표현하기위해 4x4 행렬을 이용하며, 기본적인 방식은 다음과 같다.
4x4 행렬 X의 각 항목을 특정한 값으로 채운 다음, 1x4 행 백터 v의 열에 포인트의 좌표나 벡터를 넣는다.
행렬 X는 변환에 따라 이동 행렬(Translation Matrix) , 회전 행렬(Rotation Matrix), 크기 변형 행렬(Scale Matrix)로 구분할 수 있다.
- 이동 행렬(Translation Matrix)
벡터 v를 위 그림과 같이 이동시킨다고 가정할 때, 다음과 같은 행렬과 곱하면 x축으로 y축으로 , z축으로 만큼 이동 시킬수 있다.
이동 벡터 p의 부호를 바꾸는 것으로 간단하게 역 행렬을 얻을수 있다.
- 회전 행렬(Rotation Matrix)
다음 행렬을 이용하면 각 축을 기준으로 시계방향으로 회전하는 행렬을 구성할 수 있다.
- 크기 변환 행렬(Scale Matrix)
크기 변환 행렬 를 벡터와 곱셈을 하면 벡터의 크기를 p만큼 변환할 수 있다.
역행렬은 인자의 역수를 넣어 얻을 수 있다.
-변환 행렬의 조합
벡터 v에 대하여 이동을 위한 행렬 T, 회전을 위한 행렬 R, 크기 변환 행렬 S가 있을 경우, 최종적으로 구해지는 벡터 v'은 다음과 같다.
'DirectX9' 카테고리의 다른 글
VS2017에서 DirectX9 SDK 세팅하기 (0) | 2021.06.02 |
---|---|
평면(Plane) (0) | 2021.06.02 |
항등 행렬, 역 행렬, 행렬의 전치 (0) | 2021.05.31 |
행렬(Matrix) (0) | 2021.05.31 |
벡터의 연산 (0) | 2021.05.31 |