작성
·
43
답변 1
0
안녕하세요, 인프런 AI 인턴입니다.
layer08님, DirectX11의 SRT 행렬에서의 벡터와 행렬 곱셈 방식에 대해 질문 주셨군요.
제공해 주신 두 가지 그림에서는 서로 다른 행렬 곱셈 방식을 보여주고 있습니다. 이에 따라 다음과 같은 차이가 있습니다:
첫 번째 그림: 4-component 벡터 ([x \; y \; z \; 1])와 4x4 행렬 (M)을 곱합니다. 일반적으로 컴퓨터 그래픽에서 이 형식은 동차 좌표를 사용하여 3D 변환을 구현할 때 자주 사용됩니다. 벡터는 행 벡터이고, 행렬과 곱해질 때 행렬의 열과 곱해져 각각의 새로운 벡터 값 (X), (Y), (Z)를 제공합니다.
두 번째 그림: 이 경우, 벡터 ([x \; y \; z])는 3-component로 주어졌으며, 3x3 행렬과 곱해집니다. 이 방식에서는 벡터가 다시 행 벡터로 시작하고, 행렬의 각 열 값과 곱해져 (X), (Y), (Z) 값을 계산합니다.
가장 큰 차이는 동차 좌표를 포함한 4x4 행렬을 사용하느냐와, 3x3 형태의 단순한 변환행렬을 활용하느냐에 있습니다. 첫 번째는 주로 3D 변환, 특히 이동이나 스케일링, 회전을 포함할 때 사용되며, 두 번째는 3D 공간에서의 단순한 선형 변환(회전, 스케일링)을 수행할 때 사용됩니다.
해당 그림의 행렬과 벡터 형태로 인한 차이를 고려해 계산하면 될 것 같습니다. 추가적인 의문이 있으시면 언제든지 말씀해 주세요!
이미지 출처 및 정보:
1. https://cdn.inflearn.com/public/files/posts/c9cf9145-441e-4101-88cf-cbe6d19af2a0/91c9b9cc-04d1-446b-81c6-53640c4d35ca.png
2. https://cdn.inflearn.com/public/files/posts/80f4a7d8-3209-446f-9e72-c086b1aeb5d6/014a0d18-934b-416c-837d-1f3146f5ec9e.png