새소식

인기 검색어

게임 개발/그래픽스

회전

  • -

핵심:

  • 회전도 선형 변환이다.
  • 따라서 회전도 행렬로 표현할 수 있다.
  • 어떤 포인트를 회전시키고 싶다면, 벡터 곱하기 행렬형태로 사용할 수 있다.

회전축에 대한 벡터의 회전

  • 먼저 회전 축을 정해야 한다.
  • 그 다음 몇도만큼 회전할지 정해야 한다.

컴퓨터 그래픽스에서는 3차원 회전에 가장 기본적으로 사원수(Quaternion)을 사용한다.

|| n x v || == || v ⊥ || 이렇게 길이가 같은데 왜 같을까?

크로스 프로덕트해서 나온 벡터의 길이는 두 벡터가 만드는 평행사변형의 넓이와 같다.

사각형의 넓이는 밑변 x 높이

밑변은 w, 높이는 |v|sinθ 다.

따라서 || n x v || == || v ⊥ || 이다.

따라서 두 벡터가 원을 정의 할 수 있다.

그래서 그 원을 위와같이 한 평면으로 보면,

sin( θ ) n x v 가 빨간색 부분이 된다.

같은 원리로 cos( θ ) v⊥ 가 노란색의 짧은 벡터가 된다. 

과정을 말로 정리하면

Rodrigues' rotation formula (로드리게스 회전 공식)

 

 

 

참고로 회전행렬의 역행렬은 Transpose 행렬과 동일하다.

이 성질을 이용해서 컴퓨터에서 연산에 최적화에 사용할 수 있다.

로보틱스, 비전, 그래픽스에 자주 사용되는 성질이다.

 

'게임 개발 > 그래픽스' 카테고리의 다른 글

좌표계 변환  (0) 2023.11.22
애파인 변환 (Affine Transformation)  (0) 2023.11.21
선형 변환 (Linear Transformation)  (0) 2023.11.18
변환 (Transformations)  (1) 2023.11.17
행렬  (0) 2023.11.17
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.