본문 바로가기
DirectX/[서적] DirectX12를 이용한 3D 게임 프로그래밍 입문

파트1-Chapter-01. 벡터 대수

by 헛둘이 2022. 9. 8.
이 장의 목표
  • 벡터의 기하학적 표현 방법과 수치적 표현 방법
  • 벡터에 대해 정의되는 연산들과 기하학적 응용 방법
  • DirectXMath 라이브러리 함수와 클래스 익숙해지기

 


벡터
벡터란? 크기와 방향을 모두 가진 수량을 가리킨다.
크기와 방향을 모두 가진 수량을 벡터값 수량 이라고 한다.
  • 벡터값 수량의 예로는 힘, 변위 속도가 있다.
    • : 특정한 방향과 세기로 가해지는 것, (세기=크기)
    • 변위 : 이동 방향, 거리
    • 속도 : 빠르기와 방향

 

 

벡터는 힘이나 변위, 속도를 나타내는데 쓰인다.




  • 벡터가 가진 선분의 길이는 크기이고, 화살표는 방향을 나타냄

  • 벡터의 위치는 중요하지 않다. 위치를 바꿔도 크기나 방향이 바뀌지 않기 때문

 

두 벡터가 상등(equal)인 경우
  1. 두 벡터의 길이가 같을 때
  2. 같은 방향을 가리킬 때

 

 

 

좌표계가 달라지면 벡터의 좌표가 달라진다 (벡터의 화살표 끝 점)


  • 분명 같은 벡터지만, 좌표계가 바뀜에 따라 벡터가 가리키는 (x, y) 좌표가 달라진다.
  • 3차원 그래픽 데이터를 만질 때 여러 좌표계를 사용하므로
  • 좌표계 간 변환 방법도 알고 있어야 한다.

 

 

 


좌표계
  • 좌표계는 왼손잡이 좌표계와 오른손잡이 좌표계가 있다.

 

 

 

 

 


기본적인 벡터 연산들
  • 두 벡터 (u, v)가 상등이려면 각각 벡터의 x, y, z 성분이 전부 일치해야 한다.
  • 벡터 덧셈은 성분별로 이루어진다. u + v = { (ux + vx) + (uy + vy) + (uz + vz) }
  • 벡터에 스칼라를 곱할 수 있고 스칼라 곱셈이라고 한다. ku = (kux, kuy, kuz)
  • 벡터 뺄셈은 벡터 덧셈과 스칼라 곱셈을 통해 정의된다.
    • u - v = u + (-1 * v) = (ux - vx, uy - vy, uz - vz)

댓글