정의
아핀 변환(Affine transformation)은 기하학적 변환의 한 종류로, 선형 변환과 평행 이동을 결합한 변환이다.
즉, 벡터에 선형 변환을 적용한 후, 추가적으로 위치를 이동시키는 연산이다.
직선은 직선으로, 평면은 평면으로 보존되고, 평행성은 유지되지만 길이와 각도는 유지되지 않아도 된다.
수식 표현
아핀 변환은 일반적으로 다음과 같이 표현된다.
y=Ax+b
- x: 변환 전 점(벡터)
- A: 선형 변환을 담당하는 행렬(회전, 확대/축소, 전단 등)
- b: 평행이동(translation)을 담당하는 벡터
이 식에서 A만 있으면 선형 변환이고, b가 추가되면 아핀 변환이 된다.
동차 좌표계(Homogeneous Coordinates)
아핀 변환은 동차 좌표계를 사용하면 행렬 곱셈 하나로도 표현할 수 있다. 예를 들어 2차원에서는 다음과 같이 3x3 행렬로 나타낸다.
⎣⎢⎡xnewynew1⎦⎥⎤=⎣⎢⎡A11A210A12A220b1b21⎦⎥⎤⎣⎢⎡xy1⎦⎥⎤
이렇게 하면 평행이동까지 포함한 변환을 행렬 곱셈 하나로 처리할 수 있다.
포함되는 변환 종류
Affine Transform은 다음의 기본 변환을 조합해서 만들 수 있다.
| 변환 종류 | 설명 |
|---|
| Translation (이동) | 평행 이동 |
| Scaling (스케일) | 크기 조절 (비율 확대/축소) |
| Rotation (회전) | 원점 기준 또는 특정 점 기준 회전 |
| Shear (기울이기) | 축을 따라 기울이는 변형 |
| Reflection (대칭) | 축 기준 대칭 |
이 모든 변환은 선형변환 + 이동이라는 성질을 만족한다.
3D에서 사용
3D에서 점 (x,y,z)에 아핀 변환을 적용할 때는 4×4 행렬을 사용하여 표현한다.
⎣⎢⎢⎢⎡x′y′z′1⎦⎥⎥⎥⎤=⎣⎢⎢⎢⎡r11r21r310r12r22r320r13r23r330txtytz1⎦⎥⎥⎥⎤⋅⎣⎢⎢⎢⎡xyz1⎦⎥⎥⎥⎤
구성 요소:
- R3×3 행렬: 회전, 스케일, 쉐어(Shear) 등 선형 변환
- T=(tx,ty,tz): 이동(Translation) 벡터
- 1: 동차좌표를 위한 보조 성분