-
[선형 변환과 행렬의 관계]이러저런 이야기 2019. 12. 19. 10:44
1. 선형 변환이란?
벡터의 성질을 만족시키면서 벡터를 변환시키는 것을 선형 변환이라 한다.
v = ax + by 이러한 벡터 공간이 선형변환(LinearTransform)으로 새로운 벡터 공간을 만들 때 기본적인 전제조건은 원점은 변하지 않는다. (대표적으로 변하는 방법 가만히 있기[항등 변환], 늘리기[스케일], 돌리기[로테이션], 밀기[Shear]) [이동은 선형 변환이 아니다. 이동을 하면 원점이 바뀌기 때문에 선형 변환에는 이동이 포함이 안됨 -> 선형 변환에서 이동은 밀기로 해결이 가능하다]
1차원에서 이동을 하고 싶을 때 2차원 공간에서 이동하고 싶은 축이 아닌 다른 축(ex : x를 이동하고 싶으니 y축) y =1인 영역으로 밀기, 2차원에서 이동은 3차원에서 z가 1인 영역에서 밀기 하면 2차원에서 이동한 값을 얻을 수 있다. 선형 대수학에서 이동이 존재 하지 않기 때문에 밀기 변환이라는 방법을 사용해 이동을 한다. 밀기 변환을 하기 위해 아핀 공간이라는게 존재한다
.
2. 선형 변환과 행렬의 관계
선형대수학의 기본 정리로 두 유한차원에 벡터 공간 사이에 정의된 선형 변환의 집합 m 과행렬 n의 집합 [m x n]이 덧셈과 스칼라배를 보존하는 일대일 대응 함수가 존재한다는 것이다. 이 정리에 "기본정리"라는 이름까지 붙은 이유는, 선형 변환을 마치 행렬처럼, 행렬을 마치 선형 변환처럼 다룰 수 있다는 것을 이 정리가 보장해주기 때문이다. 한마디로 유한차원 벡터 공간에서 유한차원 벡터 공간으로 가는 선형 변환은 행렬과 일대일 대응한다.
'이러저런 이야기' 카테고리의 다른 글
카메라의 뷰 좌표계와 LookAt 행렬 유도하기 (0) 2019.12.19 오일러각 입력에 따라 Forward, Up, Right 벡터를 구하고 이를 토대로 3차원 회전 행렬 구하기 (0) 2019.12.19 프리스텀 컬링 (0) 2019.12.17 [STL Vector] push_back과 emplace_back의 차이 (0) 2019.11.29 [Lazy Initialization]늦은 초기화란 (0) 2019.09.09