1. 오일러 공식(Euler's Formula)
오일러의 공식을 이용하면 삼각함수의 합차 공식을 외우고 있지 않더라도 삼각함수의 합차 연산을 할 수가 있다.
$$ e^{j\theta} = \cos{\theta} + j\sin{\theta} $$
여러분이 삼각함수 합차 공식을 잘 외우고 있다면 아래 에 오일러 공식을 이용한 방법을 건너뛰고 바로 계산해도 된다.
2. 점의 2차원 회전 변환
어떤 점 $\boldsymbol{P}$가 좌표축의 원점을 기준으로 $\theta$만큼 회전한 위치를 알고 싶다고 하자. 고등학교 때 6차 교육과정을 받은 노인들까지는 좌표 변환을 수학 시간에 공부했기 때문에 금방(?) 회전 변환을 생각해내고 찾아볼 수 있겠지만 7차 교육과정 이후로는 좌표 변환이 교육과정에서 빠졌다. 대체 무슨 이유로 제외했는지 도저히 이해할 수 없지만 교육부에서 알려주지 말라고 해서 빠졌으니 여러분들은 각자 판단해서 알아서 공부해야 한다. 알겠죠?
어떤 점 $\boldsymbol{P} = (x, y)$가 $\theta$만큼 회전한 위치를 $\boldsymbol{P'} = (x', y')$이라고 하자. 그래프에 그려보면 아래 그림 1처럼 될 것이다.
그림 1에서 점 $P$가 원점을 중심으로 회전을 한 것뿐이니 원점 $O$에서 점까지의 거리 $\overline{OP}$와 $\overline{OP'}$은 같다.
$$ l^2 = x^2 + y^2 = x'^2 + y'^2 $$
점 $P$의 좌표를 삼각함수를 이용해 나타내면 아래처럼 나타낼 수 있다.
\begin{align}
x &= l\cos{\alpha} \\\\
y &= l\cos(\frac{\pi}{2}-\alpha) = l\sin{\alpha}
\end{align}
마찬가지로 점 $P'$의 좌표를 삼각함수를 이용해 나타내면 아래와 같다.
\begin{align}
x' &= l\cos{(\theta + \alpha)} \\\\
y' &= l\sin{(\theta + \alpha)}
\end{align}
삼각함수의 합차 공식을 이용하면 편리할 것이지만 까먹어서 기억이 안 나기 때문에 오일러 공식을 이용해서 $P'$의 $x$좌표를 다시 써보면 아래와 같다.
\begin{align}
x' &= \frac{l}{2} \left[ e^{j(\theta + \alpha)} + e^{-j(\theta + \alpha)} \right] \\\\
&= \frac{l}{2} \left[ e^{j\theta} e^{j\alpha} + e^{-j\theta} e^{-j\alpha} \right]
\end{align}
한 번 더 오일러 공식을 이용해서 $\exp{j\alpha}$와 $\exp{-j\alpha}$를 표현해 보면,
\begin{align}
e^{j\alpha} &= \cos{\alpha} + j\sin{\alpha} = \frac{x}{l} + j\left( \frac{y}{l} \right) \\\\
e^{-j\alpha} &= \cos{\alpha} - j\sin{\alpha} = \frac{x}{l} - j\left( \frac{y}{l} \right)
\end{align}
이제 위의 $\exp{j\alpha}$와 $\exp{-j\alpha}$를 그 위 식이 대입해 본다.
\begin{align}
x' &= \frac{l}{2} \left[ e^{j\theta} e^{j\alpha} + e^{-j\theta} e^{-j\alpha} \right] \\\\
&= \frac{l}{2} \left[ e^{j\theta} \left(\frac{x}{l} + \frac{jy}{l} \right) + e^{-j\theta} \left(\frac{x}{l} - \frac{jy}{l} \right) \right] \\\\
&= \frac{1}{2} \left[ e^{j\theta} \left(x +jy\right) + e^{-j\theta} \left(x-jy\right) \right]
\end{align}
마지막으로 위 식을 $x$와 $y$로 묶어서 정리하면 아래와 같다.
\begin{align}
x' &= x \left[ \frac{e^{j\theta} + e^{-j\theta}}{2} \right] + jy \left[ \frac{e^{j\theta} - e^{-j\theta}}{2} \right] \\\\
& = x \left[ \frac{e^{j\theta} + e^{-j\theta}}{2} \right] - y\left[ \frac{e^{j\theta} - e^{-j\theta}}{2j} \right] \\\\
& = x\cos{\theta} - y\sin{\theta}
\end{align}
마찬가지로 $y'$도 같은 방법으로 정리하면 아래와 같이 정리된다. 귀찮으니까 $y'$은 직접 정리해보자.
\begin{align}
x' = x\cos{\theta} - y\sin{\theta} \\\\
y' = x\sin{\theta} + y\cos{\theta}
\end{align}
이것을 행렬의 형태로 써보면 아래와 같은 익숙한 형태로 나타낼 수 있다.
$$
\begin{Bmatrix}
x' \\
y'
\end{Bmatrix}
=
\begin{bmatrix}
\cos{\theta} &-\sin{\theta} \\
\sin{\theta} &\cos{\theta}
\end{bmatrix}
\begin{Bmatrix}
x \\
y
\end{Bmatrix}
$$
3. 점의 3차원 회전 변환
점의 2차원 회전 변환을 3차원으로 확장하면 $z$축에 대해 회전하는 것으로 생각할 수 있다. 이때 $z$ 좌표는 변하지 않으므로 아래와 같이 z축에 대한 회전 변환을 쉽게 유추해볼 수 있다.
$$ \boldsymbol{x'} = \boldsymbol{R}_z \boldsymbol{x} $$
$$
\begin{Bmatrix}
x' \\
y' \\
z'
\end{Bmatrix}
=
\begin{bmatrix}
\cos{\theta} & -\sin{\theta} & 0\\
\sin{\theta} & \cos{\theta} & 0 \\
0 & 0 & 1
\end{bmatrix}
\begin{Bmatrix}
x \\
y \\
z
\end{Bmatrix}
$$
마찬가지로 점의 $y$ 좌표가 고정되도록 행렬을 구성한다.
$$ \boldsymbol{x'} = \boldsymbol{R}_y \boldsymbol{x} $$
$$
\begin{Bmatrix}
x' \\
y' \\
z'
\end{Bmatrix}
=
\begin{bmatrix}
\cos{\theta} & 0 & \sin{\theta} \\
0 & 1 & 0 \\
-\sin{\theta} & 0 & \cos{\theta}
\end{bmatrix}
\begin{Bmatrix}
x \\
y \\
z
\end{Bmatrix}
$$
마찬가지로 점의 $x$좌표가 고정되도록 행렬을 구성한다.
$$ \boldsymbol{x'} = \boldsymbol{R}_x \boldsymbol{x} $$
$$
\begin{Bmatrix}
x' \\
y' \\
z'
\end{Bmatrix}
=
\begin{bmatrix}
1 & 0 & 0 \\ 0 & \cos{\theta} & -\sin{\theta} \\
0 & \sin{\theta} & \cos{\theta}
\end{bmatrix}
\begin{Bmatrix}
x \\
y \\
z
\end{Bmatrix}
$$
4. 좌표계의 회전 변환
그림 2는 그림 1에서 점 P는 그대로 두고 XY좌표계를 원점을 중심으로 $\theta$만큼 회전시킨 것이다. 점 P도 같이 회전되었다면 P' 위치에 있을 것이다.
고개를 $\theta$만큼 기울여서 그림 2를 보면 원래 좌표계에서 점 P가 $-\theta$만큼 돌아간 것과 같다는 것을 알 수 있다. 회전하기 전 좌표계와 겹쳐서 그림 3에 나타냈다.
따라서 좌표계의 회전은 점의 회전에서 회전각 $\theta$가 반대 방향 $-\theta$로 된다고 생각하면 된다. 따라서 좌표계의 회전 변환 행렬은 아래와 같이 쓸 수 있다.
\begin{align}
\boldsymbol{T}_z =
\begin{bmatrix}
\cos{\theta} & \sin{\theta} & 0\\
-\sin{\theta} & \cos{\theta} & 0 \\
0 & 0 & 1
\end{bmatrix} \\\\
\boldsymbol{T}_y =
\begin{bmatrix}
\cos{\theta} & 0 & -\sin{\theta} \\
0 & 1 & 0 \\
\sin{\theta} & 0 & \cos{\theta}
\end{bmatrix} \\\\
\boldsymbol{T}_x =
\begin{bmatrix}
1 & 0 & 0 \\ 0 & \cos{\theta} & \sin{\theta} \\
0 & -\sin{\theta} & \cos{\theta} \\
\end{bmatrix}
\end{align}
5. 회전의 종속성
5.1. 회전 순서의 영향
회전 변환에서 다른 좌표계에 대해서도 회전하게 되는 점을 주의해야 한다. 예를 들어 점의 회전에서 P(1, 0, 0)을 $z$축에 대해 90도 회전하면 P'(0, 1, 0)이 되어 $y$축 위에 위치하게 된다. 다시 이 위치에서 $y$축에 대해 90도 회전하면 점은 그대로 제자리에 있게 된다. 이번에는 순서를 바꿔 P(1, 0, 0)을 먼저 $y$축에 대해 90도 회전하면 P'(0, 0, -1)이 되어 $z$축 위에 올라가게 된다. 다시 이 점을 $z$축에 대해 90도 회전하면 점은 그대로 제자리에 위치하게 된다. 회전 순서를 어떻게 하느냐에 따라 점의 최종 위치가 달라지는 것이다. 따라서 이런 식의 오일러 회전은 경로 독립적이지 않다. 따라서 회전의 순서에 유의해야 한다.
\begin{align}
&\boldsymbol{R}_x\boldsymbol{R}_y\boldsymbol{R}_z \ne \boldsymbol{R}_x\boldsymbol{R}_z\boldsymbol{R}_y \\\\
\ne &\boldsymbol{R}_y\boldsymbol{R}_x\boldsymbol{R}_z \ne \boldsymbol{R}_y\boldsymbol{R}_z\boldsymbol{R}_x \\\\
\ne &\boldsymbol{R}_z\boldsymbol{R}_x\boldsymbol{R}_y \ne \boldsymbol{R}_z\boldsymbol{R}_y\boldsymbol{R}_x
\end{align}
5.2. 아주 작은 회전인 경우
회전각 $\theta$가 아주 작은 회전인 경우에는 infinitesimal theory처럼 아래와 같은 관계식이 성립한다.
\begin{align}
\lim_{\theta\rightarrow 0}{\sin{\theta}} &\approx \theta \\\\
\lim_{\theta\rightarrow 0}{\cos{\theta}} &\approx 1
\end{align}
따라서 이 경우에는 회전 행렬을 아래와 같이 간단한 형태로 다시 쓸 수 있다.
\begin{align}
\boldsymbol{R}_z =
\begin{bmatrix}
1 & -\theta & 0\\
\theta & 1 & 0 \\
0 & 0 & 1
\end{bmatrix} \\\\
\boldsymbol{R}_y =
\begin{bmatrix}
1 & 0 & \theta \\
0 & 1 & 0 \\
-\theta & 0 & 1
\end{bmatrix} \\\\
\boldsymbol{R}_x =
\begin{bmatrix}
1 & 0 & 0 \\ 0 & 1 & -\theta \\
0 & \theta & 1 \\
\end{bmatrix}
\end{align}
이런 경우에는 회전 순서를 바꾸더라도 결과에 영향이 없다. 즉 회전각이 아주 작은 미소 회전인 경우에는 회전 순서를 아무렇게나 하더라도 최종 결과는 동일하기 때문에 아무런 걱정 없이 편리하게 계산할 수 있다.
$$
\boldsymbol{R}_z\boldsymbol{R}_y\boldsymbol{R}_x =
\begin{bmatrix}
1 & -\theta_z & \theta_y \\
\theta_z & 1 & -\theta_x \\
-\theta_y & \theta_x & 1
\end{bmatrix}
$$
전개할 때 infinitesimal theory에 의해 아주 작은 $\theta$가 여러 번 곱해지면 $\theta^n \approx 0$임을 주의한다.
6. 임의의 기준에 대한 회전
원점이 아닌 다른 점에 대한 회전을 고려할 때는 새로운 기준이 되는 점의 위치가 원점이 되도록 평행 이동을 한 후 회전 변환하고 다시 반대 방향으로 평행 이동을 한다.
기저 축이 아닌 다른 축에 대해 회전을 할 때는 좌표계를 회전시켜 하나의 기저 축(예를 들면 z축)과 일치시킨 후 회전한 뒤 다시 좌표계를 원래대로 회전시켜 돌려놓으면 된다.
최근댓글