선형대수학에서 선형 변환(Linear Transformation)은 벡터 공간의 구조를 보존하며 점들을 새로운 위치로 변형시키는 수학적 도구입니다. 이 개념은 단순한 수식에 그치지 않고, 실제 세계에서 일어나는 회전(Rotation), 이동(Translation), 확대/축소(Scaling)와 같은 물리적 현상과 밀접하게 연결되어 있습니다. 이번 글에서는 선형 변환의 개념과 함께 회전, 이동 등의 실제 세계 적용 예시를 살펴보겠습니다.
1. 선형 변환이란?
선형 변환은 벡터 공간 \( V \)에서 \( W \)로의 변환 \( T: V \to W \)으로, 다음 두 조건을 만족합니다:
- \( T(u + v) = T(u) + T(v) \)
- \( T(c \cdot v) = c \cdot T(v) \)
즉, 덧셈과 스칼라 곱을 보존합니다. 이러한 변환은 행렬 곱을 통해 수학적으로 표현할 수 있습니다:
\[ T(\vec{x}) = A\vec{x} \]
여기서 \( A \)는 선형 변환을 나타내는 행렬입니다.
2. 회전: 현실에서의 선형 변환
2-1. 2D 회전
좌표평면에서 각도 \( \theta \)만큼 회전시키는 선형 변환은 다음과 같은 행렬로 표현됩니다:
\[ R(\theta) = \begin{bmatrix} \cos \theta & -\sin \theta \\ \sin \theta & \cos \theta \end{bmatrix} \]
2-2. 예시
점 \( (1, 0) \)을 90도 회전시키면:
\[ R(90^\circ) \cdot \begin{bmatrix} 1 \\ 0 \end{bmatrix} = \begin{bmatrix} 0 & -1 \\ 1 & 0 \end{bmatrix} \cdot \begin{bmatrix} 1 \\ 0 \end{bmatrix} = \begin{bmatrix} 0 \\ 1 \end{bmatrix} \]
실제 물리현상에서는 풍차, 바람개비, 자동차 바퀴 등의 회전이 이 선형 변환으로 설명됩니다.
3. 이동: 선형 변환의 확장
이동(translation)은 벡터에 일정한 값만큼 더해지는 연산입니다. 이 자체는 선형 변환이 아니지만, 동차 좌표(homogeneous coordinates)를 사용하면 선형 변환 행렬로 확장할 수 있습니다.
3-1. 2D 이동 행렬
\[ T = \begin{bmatrix} 1 & 0 & t_x \\ 0 & 1 & t_y \\ 0 & 0 & 1 \end{bmatrix} \]
점 \( (x, y) \)는 동차 좌표로 \( (x, y, 1) \)로 표현되며, 위 행렬을 곱하면 \( (x + t_x, y + t_y) \)로 이동됩니다.
3-2. 예시
로봇이 지도 위에서 (2,3)만큼 이동한다면, 현재 위치에 이 이동 행렬을 곱하여 새로운 위치를 계산할 수 있습니다.
4. 현실 속의 선형 변환 예시
4-1. 컴퓨터 그래픽스
3D 모델링에서 물체를 이동, 회전, 확대하는 작업은 모두 선형 변환 행렬의 조합으로 구현됩니다. 게임 엔진, CAD, 애니메이션 모두 해당 원리를 사용합니다.
4-2. 물리 시뮬레이션
강체의 회전, 운동 에너지 계산, 관성 모멘트 등은 선형 연산과 회전행렬을 이용하여 구현됩니다.
4-3. 카메라와 영상 처리
이미지를 회전하거나 이동시키는 필터는 선형 변환 행렬 기반으로 처리됩니다. 드론이나 로봇 비전에서 위치 정렬도 같은 원리입니다.
4-4. 로봇공학
로봇 팔의 위치 계산, 손끝 위치 추정은 각 관절의 회전행렬과 이동벡터를 곱하여 최종 위치를 결정합니다.
5. 복합 선형 변환
여러 선형 변환을 차례로 적용하는 경우, 해당 변환 행렬들을 행렬 곱으로 결합하여 하나의 변환으로 합칠 수 있습니다.
\[ T_{\text{전체}} = T_{\text{이동}} \cdot R_{\text{회전}} \cdot S_{\text{확대}} \]
이는 현실 세계에서 물체가 이동하고 회전한 후 크기가 바뀌는 복잡한 동작을 간단한 수학 연산으로 설명할 수 있게 해줍니다.
결론
선형 변환은 단순한 수학적 도구를 넘어, 현실 세계의 회전, 이동, 확대 같은 물리적 현상을 정밀하게 표현하는 수단입니다.
2D/3D 공간에서의 회전행렬과 이동행렬은 그래픽스, 로봇공학, 영상처리, 게임 개발 등에서 널리 사용되며, 복잡한 동작도 행렬 연산으로 효율적으로 구현할 수 있습니다.
선형 변환의 개념을 잘 이해하고 활용하면, 공간과 움직임을 수학적으로 다루는 데 있어 훨씬 높은 수준의 응용력을 갖출 수 있습니다.