반응형



http://blog.naver.com/rlawldyd0806/50036277924




행렬식



-행과 열이 같은 정방 행렬에서만 구할 수 있다

정방 행렬 A에 대한 행렬식 표현

detA = det(A) = |A|

 

행렬식을 계산하기 위해 필요한 두 가지 개념

1. 소행렬식(minor)이라는 것으로, (i, j)소행렬식 Mij 는 nXn정방 행렬A에서i번째행과

    j번째 열을 제외한 (n-1)X(n-1) 정방 행렬의 행렬식을 의미

2. 여인자(cofactor)라는 것으로 ij = (-1)i+jij로 표현

 

소행렬식 및 여인자 예)

 가 주어졌을 때, 여인자 12 와 31은?

여인자 식에 대입하면 12 = (-1)1+231와 31 = (-1)3+131된다.

 

소행렬식  12  

소행렬식 31  

 여인자  여인자

 

D3DX함수

여인자를 구하는 함수는 지원하지 않는것 같다.

 

사용자함수

//소행렬식을 구하여 여인자 구한다.

D3DXMATRIX *MYMatrixCofactor(D3DXMATRIX *pOut, D3DXMATRIX *pMat)
{
 pOut->_11 = (pMat->_22 * pMat->_33 - pMat->_23 * pMat->_32);
 pOut->_12 = -(pMat->_21 * pMat->_33 - pMat->_23 * pMat->_31);
 pOut->_13 = (pMat->_21 * pMat->_32 - pMat->_22 * pMat->_31);

 pOut->_21 = -(pMat->_12 * pMat->_33 - pMat->_13 * pMat->_32);
 pOut->_22 = (pMat->_11 * pMat->_33 - pMat->_13 * pMat->_31);
 pOut->_23 = -(pMat->_11 * pMat->_32 - pMat->_12 * pMat->_31);

 pOut->_31 = (pMat->_12 * pMat->_23 - pMat->_13 * pMat->_22);
 pOut->_32 = -(pMat->_11 * pMat->_23 - pMat->_13 * pMat->_21);
 pOut->_33 = (pMat->_11 * pMat->_22 - pMat->_12 * pMat->_21);

 return pOut;
}

 

여인자를 이용한 행렬식 표현

동일한 열 성분(a1j, a2j•••, anj)에 대해서 표현

 

 

동일한 행 성분(aj1, aj2•••, ajn)에 대해서 표현

 

 

1X1정방 행렬  A=[a]의 행렬식 |A|=a

 

2X2정방 행렬 의 행렬식 계산

 

2X2정방 행렬식은 대각선 성분의 곱(a11a22)을 비대각선 성분의 곱(a12a21)으로 뺀 모양이다

 

3X3정방 행렬의 행렬식

       

    

 

 Direct3D 함수

FLOAT D3DXMatrixDeterminant(CONST D3DXMATRIX *pM);

 

사용자 함수

//행렬의 행렬식을 구한다.

float MYMatrixDeterminant(D3DXMATRIX *pM)
{
 return (pM->_11*pM->_22*pM->_33) + (pM->_12*pM->_23*pM->_31) + (pM->_13*pM->_21*pM->_32)
      - (pM->_11*pM->_23*pM->_32) - (pM->_12*pM->_21*pM->_33) - (pM->_13*pM->_22*pM->_31);
}

반응형

'수학 (Mathematics) > 3D수학' 카테고리의 다른 글

광선추적 (Ray Tracing)  (0) 2012.11.02
크래머 공식  (0) 2012.11.02
1차 독립  (0) 2012.11.02
3차 곡선(Cubic polynomial curves )  (0) 2012.11.02
곡선, SVG 곡선 사이트 링크들  (0) 2012.11.02

+ Recent posts