
- u 는 단위 벡터로 길이가 1이다
- v 는 회전시킬 벡터로 u가 회전축이된다. 여기선 오른손 좌표계를 쓸것이므로 회전축 u의 관점에서 봤을때 v는 θ 만큼 반시계 방향으로 회전한다.
- a 는 u에 v가 사영한 벡터이다.
- b 는 u에 직각인 어느 벡터에 v가 사영한 벡터이다. 즉 a+b = v 다.
- w 는 u x v 의 결과이다(외적). 오른손 좌표계이기 때문에 위와같은 방향을 가진다.
위와 같은 조건으로 벡터들이 놓여있을때, u를 회전축으로 보고 v를 θ만큼 회전한 결과 v_rot 는

로 표현된다.
2. 증명

위와같이 벡터 a, b, v가 놓였을때 a, b, v의 길이가 같다면

v는 위와같이 표현된다. 즉 v = ta + kb 에서 스칼라값 t = cosθ 이고 k = sinθ 란 것이다. 왜냐하면

직선에 대한 사영공식에 따라 v를 a와 b에 사영한 결과는 위와 같고

위에 언급했듯 a, b, v의 길이는 같으므로 결국

가 되기 때문이다. 당연하지만 둘은 사영된 결과와 같기때문에 더하면 v가 된다. 이제 위의 사실을 알았으면 다시 아래의 그림으로 넘어와

w와 b의 길이가 같은지를 증명해야된다. 만약 w와 b의 길이가 같다면 b와 w의 평면에 사영된 v_rot를 p라 한다면 p = bcosθ+wsinθ 일것이고 v가 회전시에 v가 u에 사영한 결과인 a는 변함이 없으므 결국 v_rot = a + bcosθ+ wsinθ 일것이다. ( v가 사영된 결과인 p는 당연히 b 와 길이가 같다. 애초에 b가 v가 사영한 결과이다.)

그런데 위 결과에서 보다시피 u x v 는 사실 u x b와 같다. ( u 와 a의 각도는 0 이므로 u x a 의 결과는 0 이다 ) 그리고

u는 길이가 1인 단위벡터이고 sin π/2는 1이기 때문에 결국

가 된다. 그래서 위의 결과들을 정리하면

Rodrigues's rotation 공식이 나오게 된다.
댓글 없음:
댓글 쓰기