인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

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

이규식님의 프로필 이미지

작성한 질문수

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

World 변환 행렬

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

작성

·

319

·

수정됨

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축 동일하게 출력을 해 보았으나 모두 다 같습니다...

답변 2

0

여울님의 프로필 이미지

기존 위치 벡터를 열벡터로 보냐 행벡터로 보냐의 차이입니다.

0

인프런 AI 인턴님의 프로필 이미지

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

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

C -S 0
S C 0
0 0 1

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

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

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

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

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