[DX] 선형변환 (linear transformation)

김진우·2025년 6월 27일

DirectX

목록 보기
7/32
post-thumbnail

정의

선형변환이란, 벡터 공간에서 벡터를 다른 벡터로 변환하는 함수로서, 다음 두 가지 조건을 만족하는 함수 TT를 말한다.

T:RnRmT: \mathbb{R}^n \rightarrow \mathbb{R}^m

조건

  1. 덧셈에 대해 보존:
T(u+v)=T(u)+T(v)T(\vec{u} + \vec{v}) = T(\vec{u}) + T(\vec{v})
  1. 스칼라 곱에 대해 보존:
T(cv)=cT(v)T(c \vec{v}) = c \cdot T(\vec{v})

즉, 선형변환은 한 벡터 공간의 벡터를 다른 벡터 공간의 벡터로 변환하는 규칙이다.
기저가 바뀌면 같은 벡터도 다른 좌표로 표현될 수 있는데, 이때도 선형변환이 사용된다.

예시

기하학적인 선형 변환

변환 종류설명행렬 표현
스케일링크기를 늘리거나 줄임[2003]\begin{bmatrix} 2 & 0 \\ 0 & 3 \end{bmatrix} (x2, y3 배)
회전원점을 중심으로 회전[cosθsinθsinθcosθ]\begin{bmatrix} \cos\theta & -\sin\theta \\ \sin\theta & \cos\theta \end{bmatrix}
반사축을 기준으로 대칭[1001]\begin{bmatrix} 1 & 0 \\ 0 & -1 \end{bmatrix} (x축 기준 반사)
전단(Shear)한 방향으로 밀기[1k01]\begin{bmatrix} 1 & k \\ 0 & 1 \end{bmatrix} (x축 방향 전단)

행렬 표현

모든 선형변환은 행렬 곱으로 표현할 수 있다.
즉, 선형변환 TT은 다음과 같이 **행렬 AA**와의 곱으로 나타납니다:

T(x)=AxT(\vec{x}) = A \vec{x}

여기서:

  • AAm×nm \times n 행렬
  • x\vec{x}Rn\mathbb{R}^n의 벡터
  • 결과 T(x)T(\vec{x})Rm\mathbb{R}^m의 벡터

0개의 댓글