반응형
아핀 변환 이란?
아핀 변환(Affine Transformation)은 선형 변환(Linear Transformation)과 평행 이동(Translation)을 결합한 변환을 의미한다. 즉, 다음과 같은 수식 처럼 를 변환하면, 아핀 변환이다.
이곳에서 는 선형 변환을 하는 행렬이고, 가 수평 변환을 하는 벡터이다.
아핀 변환 사용해보기
를 도만큼 회전시키려면 다음과 같은 를 사용하면 된다.
즉, 45도를 회전하려면 다음과 같은 를 사용하면 되며
전체 수식은 다음과 같아진다.
이를 다음과 같이 파이썬 코드로 만들어 실행해보면
import numpy as np
# 회전 각도 (라디안 단위)
theta = np.pi / 4 # 45도 회전
# 회전 행렬 정의
rotation_matrix = np.array([
[np.cos(theta), -np.sin(theta)],
[np.sin(theta), np.cos(theta)]
])
# 원래 점 정의
point = np.array([1, 0])
# 회전 변환 적용
rotated_point = np.dot(rotation_matrix, point)
print("Rotated point:", rotated_point)
에 있던 점이 45도만큼 회전해 으로 이동한 것을 볼 수 있다.

이런 회전 변환 외에도 다음과 같은 변환들이 있으며, 이 변환들을 와 를 적절히 활용해 만들어 낼 수 있다.
- 확대/축소(Scaling): 특정 비율로 확대하거나 축소시키는 변환.
- 이동(Translation): 일정한 벡터만큼 평행 이동시키는 변환.
- 반사(Reflection): 축을 기준으로 반사시키는 변환.
- 왜곡(Shear): 특정 방향으로 평행하게 이동시키는 변환.
반응형
'Machine Learning Math > Linear Algebra' 카테고리의 다른 글
고윳값 분해(Eigen Decomposition) 란 무엇인가? Numpy, TensorFlow, PyTorch 사용해 고유값 분해 해보기 (0) | 2024.08.06 |
---|---|
고유 벡터(Eigenvector)와 고유 값(Eigenvalue)이란 무엇인가? Numpy, TensorFlow, PyTorch로 고유 벡터 구해보기 (0) | 2024.08.02 |
직교 행렬(Orthogonal Matrix)이란 무엇인가? (0) | 2024.07.31 |
대각 행렬(Diagonal Matrix) 한 번에 정리하기 (0) | 2024.07.23 |
역행렬(Inverse Matrix) 이란 무엇인가? Numpy, TensorFlow, PyTorch 에서 계산 방법 알아보기 (0) | 2024.07.22 |