D3DXMatrixInverse 의 이해 ( 부제 : Direct3D 역행렬 함수의 이해)
1. 2 x 2 의 역행렬
- Direct3D에서 자주 쓰이는 4 x 4의 역행렬을 하기 전에 2 x 2 역행렬 부터 알아보도록 하자.
행렬 A가 이러할 때,
행렬 A의 역행렬은 아래와 같다.
- ad - bc 라는 판별식(=행렬식)이 0이 아닐 때만 역행렬이 존재한다. 왜나하면, 판별식의 값이 0이 되면 분모가 0이 되므로 값이 존재하지 않게 된다.
2. D3DXMatrixInverse
- 이것은 D3DXMatrixInverse 함수의 매개 변수들의 의미이다.
2번째 행렬식의 경우 필요한 경우에 이용되며, 일반적으론 0을 전달한다. pM의 행렬식은 내부에서 따로 계산한다.
3. 역행렬을 구하는 방법
- 역행렬을 구하는 방법은 첨가 행렬에 의한 역행렬과 수반 행렬에 의한 역행렬이 있다.
① 첨가 행렬(Augmented Matrix)에 의한 역행렬
: 주어진 행렬 A의 오른쪽에 추가적으로 어떤 행렬을 첨가(Augmented) 하여 만든 행렬이다.
② 수반 행렬에 의한 역행렬
: 수반 행렬을 구하기 위해서는 우선 행렬식을 구하는 방법 2가지를 알아야 한다.
하나는 사루스의 법칙이고, 나머지는 여인수에 의한 행렬식의 계산이다.
- 사루스의 법칙
사루스의 법칙은 3 x 3 까지만 적용이 된다는 것에 유의하자.
- 여인수에 의한 행렬식의 계산
다시 한번 정리하자면,
소 행렬식은 한 원소가 존재하는 행과 열을 제외한 나머지로 이루어진 행렬이고, 여인수는 소 행렬식에 위치(i와 j)에 따라 부호를 넣은 것이다.
행렬식은 한 행의 원소와 여인수의 곱의 합이다.
: 이제 행렬식을 구하는 방법과 여인수에 대해서 알았으니 수반 행렬에 의한 역행렬을 구할 수 있다.
어떤 행렬 A의 여인수를 성분으로 가지는 행렬 B를 행렬 A의 여인수 행렬이라고 한다.
이때, 여인수 행렬의 전치 행렬을 수반행렬이라고 하고, Adj(A) 라고 쓴다.
복잡한 것 같지만, 천천히 읽어보면 이해할 수 있다.
여인수를 성분으로 가지는 행렬이 여인수 행렬이고, 그 여인수 행렬을 전치! 한 행렬이 수반행렬이다.
그리고, A의 역행렬은 이 수반행렬을 0이 아닌 행렬식(Det(A))로 나눈 것이다.
: 이제 역행렬을 구하는 순서에 대해 알아보자.
오타 혹은 문제가 있을 시 댓글 달아주시면 수정하겠습니다.
'예전 > 3D수학' 카테고리의 다른 글
[3D 수학] 평면 (1) | 2012.09.14 |
---|---|
[3D 수학] 사원수(Quaternion : 쿼터니언) (4) | 2012.09.12 |
[3D 수학] 3D 변환 행렬 (0) | 2012.09.03 |
[3D 수학] D3DX 행렬 (0) | 2012.09.03 |
[3D 수학] 기본적인 행렬 (0) | 2012.09.03 |