게임 벡터, 벡터 덧셈, 뺄셈, 크기, 단위 벡터

Programming/DirectX|2016. 11. 2. 10:50
반응형

1. 벡터

2. 벡터의 덧셈(이동)

3. 벡터의 뺄셈

4. 벡터의 크기

5. 단위 벡터

 

 

 

1. 벡터 ( 두 개 잘 구분해야됨 , 서로 반대되는 개념 )

     

   

 

 ⑴ 방향 벡터

   - 이동, Speed, 객체간의 거리 표현

   - 위치를 가지지 않는다.

   - vDir

   - vLook

 

 ⑵ 포인트 벡터(위치 벡터)

   - 객체의 위치를 표현

   - 방향 벡터와는 반대개념

   - 크기, 방향을 가지지 않는다.

   - vPos

 

 

 

 

2. 벡터의 덧셈

     

   

 

D3DXVECTOR3     vPos  (0, 0, 0)      // 위치

D3DXVECTOR3     vLook (5, 5, 0)      // 이동

 

vPos += vLook ;                      // 이렇게 해주면 연산자 오버로딩 가능, x, y, z차례대로 더하기가 됨

 

* 추가

위 그림에서 벡터의 크기는 5√2이다.

* 구하는 법 *

AB를 대각선으로 하는 직각삼각형에서 밑변은 5이고 높이는 5이므로 피타고라스 정리를 써서

5제곱 + 5제곱의 값에 루트를 씌우면 루트50가 나옴(√50 = √ 5 * 5 * 2 = 5√2)

 

 

 

3. 벡터의 뺄셈

     

   

 

⑴ A가 B를 바라본다.

⑵ B - A

 

B.vPos - A.vPos = (5, 5)

 

 

 

4. 벡터의 크기를 구하는 함수

 - D3DXVec3Length

 - 인자값에 벡터의 주소를 넣어줌

 - 오로지 방향벡터만 들어감(Speed, 객체간의 거리, 이동)

 - float 리턴

 

 

 

5. 단위벡터

     

   

 

 - 길이(크기)를 1로 만든다.

 - 지금 벡터 크기는 5루트2(5√2)

 - ( 5 ÷ 5√2 , 5 ÷ 5√2 )

 - ( 5√2분의 5 , 5√2분의 5) 

 - ( √2분의 1, √2분의 1)            // 위에꺼 약분

 - ( 2분의 1, 2분의 1)               // 위에꺼 제곱( 피타고라스 정리(x,y에 제곱))

 -   2분의 1 + 2분의 1  = 1         // 더한다.

 -   1에 루트를 씌우면 1이므로 벡터의 크기가 1인 단위벡터를 구함

반응형

'Programming > DirectX' 카테고리의 다른 글

[c#] directX 연동 및 툴 만들기 - 1  (3) 2017.12.15
DirectX7 Blt함수  (0) 2016.11.09
랜더링파이프라인의 정의  (0) 2016.10.31
DirectX9 SDK 설치법 및 코드적용  (0) 2016.10.14
디바이스 소실 DeviceLost  (0) 2016.09.25

댓글()