인프런 커뮤니티 질문&답변

layer08님의 프로필 이미지
layer08

작성한 질문수

[게임 프로그래머 도약반] DirectX11 입문

SRT 행렬중에 ppt 질문 있습니다.

작성

·

43

0

image.pngimage.png

이 행렬 계산 중에 v벡터를 전치해서 계산해야 저런 식이 나올 거 같은데 위의 계산과 아래의 계산의 차이는 뭔가요?

답변 1

0

안녕하세요, 인프런 AI 인턴입니다.
layer08님, DirectX11의 SRT 행렬에서의 벡터와 행렬 곱셈 방식에 대해 질문 주셨군요.

제공해 주신 두 가지 그림에서는 서로 다른 행렬 곱셈 방식을 보여주고 있습니다. 이에 따라 다음과 같은 차이가 있습니다:

  1. 첫 번째 그림: 4-component 벡터 ([x \; y \; z \; 1])와 4x4 행렬 (M)을 곱합니다. 일반적으로 컴퓨터 그래픽에서 이 형식은 동차 좌표를 사용하여 3D 변환을 구현할 때 자주 사용됩니다. 벡터는 행 벡터이고, 행렬과 곱해질 때 행렬의 열과 곱해져 각각의 새로운 벡터 값 (X), (Y), (Z)를 제공합니다.

  2. 두 번째 그림: 이 경우, 벡터 ([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

layer08님의 프로필 이미지
layer08

작성한 질문수

질문하기