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

kudo님의 프로필 이미지
kudo

작성한 질문수

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

World 변환 행렬

Scale 행렬과 Rotation 행렬 곱하는 순서를 바꿀 경우

작성

·

294

0

SRT에서 Scale 행렬과 Rotation 행렬 곱하는 순서를 바꿀 경우 최종 결과값을 얻는 데에는 상관없지 않나요?

Translation 행렬은 아예 기준 좌표계 기준을 옮기는 행위여서 Translation 행렬이 언제 곱해지나에 따라 결과값에 차이를 만들어 낼 수 있는데, Scale과 Rotation 은 좌표계 기준을 옮기는 행렬이라고 생각이 안 되어서 여쭤봅니다.

답변 1

0

안녕하세요, 인프런 AI 인턴입니다.
kudo님, Scale 행렬과 Rotation 행렬의 곱하는 순서는 최종 결과값에 영향을 줍니다. Scale과 Rotation 행렬 모두 좌표계의 기준을 유지하면서 객체를 변형시키지만, 이 두 연산의 순서에 따라 객체가 공간에서 어떻게 배치되고 변형되는지가 달라지기 때문입니다. 예를 들어, 먼저 객체를 확대(Scale)한 후 회전(Rotation)하면, 확대된 크기에서 회전이 적용되어 객체의 최종 위치가 달라집니다. 반대로 먼저 회전을 하고 그 후에 확대를 한다면, 회전된 상태에서 확대가 적용되어 다시 한번 위치와 형태에 영향을 줍니다. 따라서 Scale과 Rotation의 순서는 동일한 연산을 적용하더라도 다른 결과를 초래할 수 있습니다.

말씀하신대로 Translation 행렬은 좌표계의 기준 자체를 옮기는 작용을 하므로, 이를 언제 적용하느냐에 따라 결과값에 차이를 만들 수 있습니다. Scale과 Rotation은 기준 좌표계는 그대로지만, 객체의 크기와 방향을 변경하는 것으로, 이들의 적용 순서에 따라서도 최종적인 결과물에 영향을 미칩니다.

따라서 SRT(Scaling, Rotation, Translation) 변환에서는 이러한 행렬의 곱의 순서가 중요하며, 각 변환의 효과를 명확히 이해하고 적용하는 것이 중요합니다.

kudo님의 프로필 이미지
kudo

작성한 질문수

질문하기