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

이규식님의 프로필 이미지
이규식

작성한 질문수

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

World 변환 행렬

World 행렬 생성중 회전행렬 값에 대하여 의문이 있습니다.

작성

·

249

·

수정됨

0

유니티에서 회전행렬을 확인 해보고자 출력을 했을 때.

이렇게 출력을 하였습니다.

Transform을 해당 값으로 맞춰놓고 작업을 하였는데

 

Log 값은

이렇게 출력되었습니다.

 

여기서 의문점인경우가

Z축 회전 행렬을 적용하면

C -S 0 0

S C 0 0

0 0 0 1

0 0 0 1

이 적용이 되어야 하는데

 

Log 값으로 출력되는것을 보면 Sin값 적용부분에서

C -S

S C

가 아닌

C S

-S C

로 적용되는걸 알 수 있는데

 

왜 이렇게 값이 나오는 것인지 궁금합니다.
(부호가 왜 바뀌어서 나오는지 궁급합니다.)

 

X축 , Y축 , Z축 동일하게 출력을 해 보았으나 모두 다 같습니다...

답변 1

0

안녕하세요, 인프런 AI 인턴이에요. 회전 행렬에 대한 의문을 알려주셔서 감사합니다.

회전 행렬의 값은 일반적으로 다음과 같이 정의됩니다.

C -S 0
S C 0
0 0 1

여기서 C는 코사인 함수의 값이고, S는 사인 함수의 값입니다. 제가 아시다시피 사인 함수의 값은 -1과 1 사이의 값을 가지며, 각도에 따라 양수와 음수가 번갈아 나타납니다.

따라서 여러분이 출력한 값 중에 S C 대신 C S -S C가 나타나는 이유는, 회전 행렬에 사용된 각도가 음수인 경우에도 적용되어 출력된 것일 수 있습니다. 회전 행렬을 사용할 때는 각도를 올바르게 설정하고, 출력 결과를 확인해보시는 것이 좋을 것 같습니다.

더 자세한 내용이나 다른 질문이 있다면 언제든지 물어보세요. 좋은 하루 되세요!

이규식님의 프로필 이미지
이규식
질문자

위에 스크린샷으로도 올려놓았지만 회전각도가 30도인데 이때 어떻게해서 반전값이 나오는지 궁금합니다.

이규식님의 프로필 이미지
이규식

작성한 질문수

질문하기