상세 컨텐츠

본문 제목

쿼터니언 이해 예습 - 로드리게스 회전 공식

Unreal

by Real_Go 2025. 12. 15. 21:47

본문

아 쿼터니언 변환 글 쓰다가 수학적 설명을 이어갈려고 했더니 

결국 로드리게스 양반 회전 공식으로 넘어가야되는데 

글이 너무 장황해질 거 같아 먼저 여기서 짧게 짚고 넘어가야되겠다 .

 

로드리게스 회전 공식은 다음과 같다.

 

먼저 축 N 에 대해서 V라는 벡터가 theta 만큼 회전한 벡터 V' 에 대해서 V 와 theta 와 N 으로 설명이 되야한다는 것이다. 

 

먼저 V=Va+Vb 로 벡터 더하기로 표현할 수 있다.

V' = 같은 N 축 방향 벡터라 Va로 퉁칠수 있어서 V'=Va+V'b 이다.

 

여기서 이 회전 원을 위에서 보면 

아 일단 회전하는 반경 단면과 벡터 V가 만나는 점을 P 라고 할때 벡터 OP 와 회전 중심 축 N 벡터가 직교하는 동시에 (NxVb) 수직인 벡터는 OW 가 되겠다. 

이걸 기준으로 할때 

OP 에서 cosθ  하면 OR 인데 이걸 θ  기준으로 회전하면 벡터 OQ 의 가로 성분이 된다. 

마찬가지로 

OW 의 sinθ 하면 OS 인데 이걸 회전 돌려버리면 OQ 벡터의 세로 성분이 된다. 

OW = N x Vb 로 설명할 수 있고 OP 벡터는 Vb 로 설명할 수 있다.

따라서 

OQ = Vb cos θ  + (N x Vb) sin θ  가 되고 

V=Va+Vb 였으니까 

Vb = V-Va

 

 

따라서 

OQ = (V-Va)cos θ  +N x (V-Va) sin θ 

      =  (V-Va)cos θ + N x V sin θ - N x Va sin θ

 

문제는 N 과  Va 는 평행하기때문에 평행한 벡터는 x 연산하면 0 됨 

 

OQ = (V-Va)cos θ+ N x V sin θ

 

이제 OQ = V'b 라고 할 수 있는데 

 

V' = V'a+ V'b 였는데 

 같은 축 공유해서 V'a = Va 고 

V'b = OQ 를 통해 (V-Va)cos θ+ N x V sin θ 라는걸 알 고 있으니까 

 

V'= Va+ (V-Va)cos θ+ N x V sin θ 

   = Va- Va cos θ + Vcos θ +(NxV)sin θ

   = Va(1-cos θ)+ V cos θ+ ( N x V) sin θ

 

 

Va 가 N 축으로 V 벡터를 사영 내린거라 Va=  V ·  N 축으로 정사영 내린 것을 들춰내면 식이 딱딱 맞아 떨어진다. 

관련글 더보기