이동은 선형변환이 아니다.
하지만 그래픽스에서 이동과 선형 변환을 동시에
표현하고 싶을 때 사용하는 것이 애파인 변환이다.
즉, 애파인 변환이란
선형 변환과 이동을 하나의 행렬로 표현한 것이다.
Homogeneous Coordinates란?
선형 변환하고 선형 변환이 아닌
이동을 합치기 위해서 새롭게 추가가 된 개념이다.
- 벡터 : (x,y,z,0) < 이동 x
- 포인트 : (x,y,z,1)
- 포인트 - 포인트 = 벡터
- 포인트 + 벡터 = 포인트
- 변환 전 직선은 변환 후에도 직선이다.
이 식을 행렬 식으로 표현하면 다음과 같다.
이러한 개념을 수학적으로 간단히 나타내면 애파인의 a를 따고,
선형변환을 Tau라고 했다. 애파인 변환을 식으로 나타내면 다음과 같다.
이런 식으로 애파인 트랜스폼을 사용할 수 있으므로,
3차원에서는 4x4 행렬을 사용한다고 했었다.
그럼 이는 3차원에서는 다음과 같은 행렬을 가진다.
이동 행렬
여기서 이동 행렬 부분은 다음과 같다.
이동 행렬 부분만 역행렬 한다면 다음과 같이 표현할 수 있다.
스케일링과 회전 행렬
이 행렬은 다소 식이 복잡하다.
하지만 실질적으로 스케일링에 관련된 부분만 때로 빼면 보기 간편하다.
이 행렬은 아래와 같다.
이 행렬은 에파인 트랜스폼에 대한 회전 행렬로 확장이 된 것이다.
'그래픽스 > DX11' 카테고리의 다른 글
D3D11 회전축에 대한 벡터의 회전 (1) | 2024.12.13 |
---|---|
D3D11 선형 변환(Linear Transformation) - 동차성과 가법성 (0) | 2024.12.12 |
D3D11 그래픽스 - 변환 (1) | 2024.12.11 |
D3D11 Rasterization - Light (0) | 2024.10.30 |
DX11 - 쉐이딩(Blinn-Phong Shading) (0) | 2024.10.25 |