피씨컴의 기울어진 공관

● 벡터

- 길이와 가르키는 방향( 벡터는 양도 양이지만 방향) vector(힘의 세기, 방향)

- 위치는 벡터의 속성이 아님(위치를 가끔 담을수도 있는데 그건 바로 Point)

-  point(위치를 표시) : 좌표 시스템 내의 한 위치를 나타냄

- u벡터와 v 벡터는 동일하다.

 

● 스칼라 : 갯수

 

● D3DVECTOR3

- 3공간 내의 벡터를 표현

- 벡터를 담으면 벡터 point를 담으면 포인트, 단지 자료형일 뿐

- sizeof(D3DVECTOR3) == 12 이다

※ 보통 D3DVECTOR2,3,4가 있고 지금 당장 3을 쓰지만 나중에는 4를 많이 쓰게 될 것이다. 또 3을 쓰더라도 내부적인 연산에 있어서는 4를 이용한다.

 

● 좌표계

- 왼손좌표계

눈이기준 모니터 쪽으로 들어가는것이 + z

오른쪽이 +x

위쪽이 +y

 

openGL은 오른손 좌표계

 

● 표준 기저 벡터 : x,y,z축을 따라 진행하는 벡터

 

● 단위벡터 : 크기로 1을 가지는 벡터

 

● 0벡터 : 벡터의 모든 성분이 0인 것

 

● 벡터상등 : 두 벡터가 동일한 차원, 성분(길이,방향)이 같은 벡터를 말함

 

● EPSILON : 부동소수점의 부정확성을 위한 허용한계를 제공하는 것으로 두벡터를 비교해서 상등에 가까운지를 판단하게 하는 일종의 상수값

                    (실수의 경우 정밀도가 100%가 아니기 때문에 이런식으로 상동에 가까운지를 비교판단)

 

●  팁

1. 3D에서는 float를 쓰는게 좋음 double을 쓰면 느려짐 좋은게 아님  그기유는 float와 double의 연산정밀도는 차이가 4배정도 이기 때문에 double을 쓰면 그만큼 더 계산해야해서 느려짐 ㅇㅇ

 

 

● 벡터의 크기 계산

- 벡터의 길이

 

 

FLOAT D3DXVec3Length(CONSTD3DXVECTOR3 * pv)

 // 크기를 리턴하는 함수

리턴 값 : 스칼라값(크기)

인수 1 : 길이를 계산하려는 벡터

 

 

● 벡터의 정규화

- 벡터의 정규화

 

- 어떤 벡터를 u로 나눠주는것

- 벡터의 크기를 1로 만들어 단위벡터가 되도록 하는것

 

- D3DXVECTOR3 * D3DXVec3Normalize(D3DXVECTOR3 * pOut, CONST D3DXVECTOR3* pv)

인수 1: 결과

인수 2: 정규화하려는 벡터

 

'프로그래밍 > 공부' 카테고리의 다른 글

DX 기본수학 (2)  (0) 2013.06.19
API 4장  (1) 2013.04.17
API 3장  (0) 2013.04.16
API 2장  (0) 2013.04.16
AIP 1장  (0) 2013.04.16
Posted by 피씨컴