본문 바로가기

예전/3D수학

[3D 수학] D3DXMatrixInverse 의 이해



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