'0x0004 > DirectX' 카테고리의 다른 글
[DirectX 기초] 벡터와 스칼라 (0) | 2019.02.23 |
---|---|
[DirectX 기초] 3차원 좌표계 (3D coordinate system) (0) | 2019.02.23 |
[DirectX 기초] 벡터와 스칼라 (0) | 2019.02.23 |
---|---|
[DirectX 기초] 3차원 좌표계 (3D coordinate system) (0) | 2019.02.23 |
- 벡터 : 크기와 방향을 갖는 물리량. (가속도, 속도 등의 크기와 방향을 동시에 표현해야하는 수치)
- 스칼라 : 크기만 갖는 물리량. (기압, 속력 등의 단일한 숫자 표기, 방향이 없다!)
벡터는 3차원 그래픽스 상에서 은면제거(backface-culling)나 음영(shading)등에 주로 사용된다.
아래 그림은 2차원 평면 상에서 원점 O(0, 0)을 기준으로 점 P(x, y)를 향하는 벡터 OP를 나타낸 것이다.
그리고 아래 그림은 3차원 공간 상에서 원점 O(0, 0)을 기준으로 점 Q(x, y, z)를 향하는 벡터 OQ를 나타낸 것이다.
[DirectX 수학] 내적 과 외적 (0) | 2019.02.23 |
---|---|
[DirectX 기초] 3차원 좌표계 (3D coordinate system) (0) | 2019.02.23 |
- 왼손 좌표계란 아래 그림과 같이 양(+)의 Z축이 모니터의 안쪽으로 들어가는 방향을 말한다.
- D3D에서는 왼손 좌표계를 사용한다.
- OpenGL에서는 왼손, 오른손 좌표계를 선택적으로 사용할 수 있다.
Direct X 의 왼손 좌표계를 기준으로한 회전공식 |
// Z축에 의한 회전
float DeltaX = ( x * cos(q) ) + ( y * sin(q) );
float DeltaY = -( x * sin(q) ) + ( y * cos(q) );
// Y축에 의한 회전
float DeltaX = ( x * cos(q) ) - ( z * sin(q) );
float DeltaZ = ( x * sin(q) ) + ( z * cos(q) );
// X축에 의한 회전
float DeltaY = ( y * cos(q) ) + ( z * sin(q) );
float DeltaZ = -( y * sin(q) ) + ( z * cos(q) );
[DirectX 수학] 내적 과 외적 (0) | 2019.02.23 |
---|---|
[DirectX 기초] 벡터와 스칼라 (0) | 2019.02.23 |