관리 메뉴

드럼치는 프로그래머

[DirectX] 벡터, 행렬, 평면 본문

★─Programing/☆─DirectX

[DirectX] 벡터, 행렬, 평면

드럼치는한동이 2010. 2. 17. 11:45

백터 상등
D3DXVECTOR u(1.0f, 0.0f, 1.0f);
D3DXVECTOR v(1.0f, 0.0f, 1.0f);
if(u==v) return true;   // 같은지 확인
if(u!=v) return true;   // 다른지 확인
 
벡터의 크기 계산
FLOAT D3DVec3Length{        //크기를 리턴한다.
     CONST D3DXVECTOR3* pV  // 길이를 계산하려는 벡터
);
D3DXVECTOR3 v(1.0f, 2.0f , 3.0f);
float magnitude = D3DVec3Length( &v ); // = sqrt(14)
 
벡터의 정규화
D3DXVECTOR3 *D3DXVec3Normalize(
     D3DXVECTOR3* pOut,    // 결과
     CONST D3DXVECTOR3* pV // 정규화 하려는 벡터
);

내적
FLOAT D3DXVec3Dot(           // 결과를 리턴한다.
     CONST D3DXVECTOR3* pV1, // 왼쪽 피연산자
     CONST D3DXVECTOR3* pV2  // 오른쪽 피연산자
);
결과가 0이면 두 벡터는 직각
결과가 0보다 크면 90 도보다 작다
결과가 0보다 작으면 90도 보다 크다

외적
D3DXVECTOR3 *D3DXVec3Cross(
     D3DXVECTOR3* pOut,           // 결과를 리턴
     CONST D3DXVECTOR3* pV1,    // 왼쪽 피연산자
     CONST D3DXVECTOR3* pV2,    // 오른쪽 피연산자
);

이동 행렬
D3DXMATRIX *D3DXMatrixTranslation(
     D3DXMATRIX* pOut,   // 결과
     FLOAT  x,           // x-axis 축으로 이동할 단위의 수
     FLOAT  y,           // y-axis 축으로 이동할 단위의 수
     FLOAT  z            // z-axis 축으로 이동할 단위의 수
);

회전 행렬
 x-축회전
D3DXMATRIX *D3DXMatrixRotationX(
     D3DXMATRIX* pOut,     // 결과
     FLOAT Angle           // 라디안으로 측정한 회전각
);

크기 변형 행렬
D3DXMATRIX *D3DXMatrixScaling(
     D3DXMATRIX* pOut,  // 결과
     FLOAT sx,          // x-축 크기 변형 단위
     FLOAT sy,          // y-축
     FLOAT sz           // z-축
);
 
포인트와 평면의 공간 관계
FLOAT D3DXPlaneDotCoord(
     CONST D3DXPLANE *pP,     // 평면
     CONST D3DXVECTOR *pV    // 포인트
);

결과값이
 0이면 V는 평면과 공면
 0보다 크면 V는 평면의 앞쪽
 0보다 작으면 뒤쪽

평면 구축
D3DXPLANE *D3DXPlaneFromPoints(
     D3DXPLANE* pOut,             //결과
     CONST D3DXVECTOR3* pV1,     //평면상의 포인트1
     CONST D3DXVECTOR3* pV2,    //평면상의 포인트2
     CONST D3DXVECTOR3* pV3
);
 
D3DXPLANE *D3DXPlaneFromPointNormal(
     D3DXPLANE* pOut,              // 결과
     CONST D3DXVECTOR3* pPoint,    // 평면 상의 포인트
     CONST D3DXVECTOR3* pNormal   // 평면의 법선
);
 
평면 정규화
D3DXPLANE *D3DXPlaneNormalize(
     D3DXPLANE *pOut,
     CONST D3DXPLANE *pP
);




[출처]
벡터, 행렬, 평면|작성자 우하하


Comments