게임 벡터, 벡터 덧셈, 뺄셈, 크기, 단위 벡터
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 |