- Today
- Total
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 재능이의 돈버는 일기
- StresslessLife
- K_JIN2SM
- 소소한 일상
- My Life Style & Memory a Box
- Blog's generation
- 공감 스토리
- 취객의 프로그래밍 연구실
- Love Me
- Dream Archive
- 세상에 발자취를 남기다 by kongmingu
- hanglesoul
- 카마의 IT 초행길
- 느리게.
- 미친듯이 즐겨보자..
- Joo studio
- Gonna be insane
- 악 다 날아갔어!! 갇대밋! 왓더...
- xopowo05
- 맑은공기희망운동
- 엔지니어 독립운동
- 혁준 블로그
- Simple in Complex with Simple
- 무의식이 의식을 지배한다
드럼치는 프로그래머
[DirectX] 벡터, 행렬, 평면 본문
백터 상등
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
);
[출처] 벡터, 행렬, 평면|작성자 우하하
'★─Programing > ☆─DirectX' 카테고리의 다른 글
[DirectX] 벡터 / 벡터의 연산 (0) | 2010.02.17 |
---|---|
[DirectX] 선형대수의 기초 - 행렬(Matrix) (0) | 2010.02.17 |
[DirectX] 선형대수의 기초 - 벡터(vector) (0) | 2010.02.17 |
[DirectX] 3D 프로그래밍에서의 기본?! (0) | 2009.01.29 |
[DirectX] DirectX SDK Symbol Files (February 2007) v9.0c - REVIEW (0) | 2009.01.29 |