본문 바로가기

수학&물리

회전행렬 유도



a = c * cos(θ)
b = c * sin(θ) ... ①

여기서 붉은 색으로 그려진 원의 반지름은 c이기 때문에 각 th가 0도일 때 점(c,0)을 θ만큼 회전한 거라고 생각할 수 있겠네요.

이제 이 점을 각 θ2만큼 회전시킨 점 p'(a',b')를 봅시다. 위의 관계에서 이 새로운 점 p'는 다음과 같이 생각할 수 있습니다.

 

a' = c * cos(θ+ θ2)
b' = c * sin(θ+ θ2) ... ②

식 ②는 삼각함수의 덧셈정리에 의해 다음과 같이 바꿀 수 있구요..

 

a' = c * cos(θ) * cos(θ2) - c * sin(θ) * sin(θ2)
b' = c * sin(θ) * cos(θ2) + c * cos(θ) * sin(θ2) ... ③

이제 식 ③에 식 ①을 넣으면 다음과 같이 바뀌죠...

 

a' = a * cos(θ2) - b * sin(θ2)
b' = a * sin(θ2) + b * cos(θ2)

이걸 행렬식으로 바꾸면 다음과 같구요...

| a' b' 1 | =

| a  b  1 | *

 

|  cos(θ2)  sin(θ2)  0 |
| -sin(θ2)  cos(θ2)  0 | 
|  0         0         1 |

위의 경우는 XY평면에서 Z축을 중심으로 임의의 각도만큼 회전한 경우 입니다. 3차원으로 생각할 때 변환 후 Z값은 그대로 넘어오게 되죠. 따라서 (x,y,z)를 Z축 중심으로 th만큼 회전한 경우 Z값을 그대로 넘기는 3차원 동차행렬은 다음과 같이 구성할 수 있습니다.

Z축 회전 행렬

| x' y' z' 1 | =

| x  y  z  1 | *

 

|  cos(θ)  sin(θ)  0  0 |
| -sin(θ)  cos(θ)  0  0 | 
|  0        0        1  0 |
|  0        0        0  1 |


다른 평면에 대해서도 생각해 보죠. 위와 마찬가지로 YZ평면에서 X축을 중심으로 θ만큼 회전시킨 점 p'는 다음과 같고

p(x,y,z) --> p'(x',y',z').

 

x' = y
y' = y * cos(θ) - z * sin(θ)
z' = y * sin(θ) + z * cos(θ)

XZ평면에서 Y축을 중심으로 θ만큼 회전시킨 점 p'는 다음과 같겠네요.

p(x,y,z) --> p'(x',y',z').

 

x' =   x * cos(θ) + z * sin(θ)
y' =   y
z' = - x * sin(θ) + z * cos(θ)

양의 방향 회전이므로 오른손 법칙에 의해 X축을 수직, Z축을 수평으로 놓은 2차원 좌표계를 그려 위의 과정대로 풀어보면 다른 축의 회전과는 sin 부호가 반대로 되는 것을 알 수 있습니다.

이제 위의 수식을 행렬로 표시하면 다음과 같게 됩니다.

X축 회전 행렬

 

|  1   0        0        0  |
|  0   cos(θ)  sin(θ)  0  |
|  0  -sin(θ)  cos(θ)  0  | 
|  0   0        0        1  |

Y축 회전 행렬

 

|  cos(θ)  0  -sin(θ)  0  |
|  0        1   0        0  |
|  sin(θ)  0   cos(θ)  0  | 
|  0        0   0        1  |

'수학&물리' 카테고리의 다른 글

코사인 제 2법칙  (0) 2012.12.26
라디안의 정의  (0) 2012.12.26
내적 외적 증명  (0) 2012.12.26
선과 점 사이의 최소 거리 구하기  (0) 2012.12.26
두변의 길이를 알때 각 구하는법  (0) 2012.12.26