아 쿼터니언 변환 글 쓰다가 수학적 설명을 이어갈려고 했더니
결국 로드리게스 양반 회전 공식으로 넘어가야되는데
글이 너무 장황해질 거 같아 먼저 여기서 짧게 짚고 넘어가야되겠다 .
로드리게스 회전 공식은 다음과 같다.

먼저 축 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 축으로 정사영 내린 것을 들춰내면 식이 딱딱 맞아 떨어진다.
| 쿼터니언 변환 이해 (0) | 2025.12.15 |
|---|---|
| ECEF->Unreal 회전 좌표계 변환 (0) | 2025.12.08 |
| 저비용으로 나무를 머티리얼 활용만으로 최대한 사실 적으로 만들기 (0) | 2025.12.03 |
| 블렌더>언리얼 FBX 텍스쳐 무손실 export 및 import 방법 (0) | 2025.12.03 |
| 변수 변화값 탐지 알고리즘 (0) | 2025.10.31 |