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 |