3D 게임 프로그래밍을 하다보면 3D 관련 수학에 대한 갈증이 생겨나기 마련입니다.


3D 수학을 알고 있느냐 모르고 있느냐에 따라서 관련 작업의 소스파악도 훨씬 쉬워지기 때문에


관련 내용을 한번 정리 해보도록 하겠습니다.


3D 수학의 가장 기초라고 할 수 있는 벡터에 대해서 알아보고 가장 기본이 되는 연산 덧셈과 뺄셈에 대해서 알아보도록 합시다.


  • 벡터란 무엇인가?

 -> 크기와 방향을 동시에 나타내는 물리량을 말한다. 

     크기와 방향을 표시하는 좋은 방법이 화살표입니다. 그래서 보통 수학에서 벡터를 화살표로 표시 해줍니다.



위 그림에서 길이는 크기를 나타내고 화살표의 방향이 그래도 방향을 나타내서 보통 저런식으로 표현해줍니다.


 벡터의 표현은 이런식으로 해줍니다.


 이렇게 표현하면 벡터의 크기를 나타내주는 기호입니다. ( 절대값 표현 )



  일때 이 벡터를 "단위 벡터" 라고 합니다. 단위벡터는 보통 방향을 표현할때 많이 쓰고 3D 프로그래밍에서도 많이 사용합니다.


  • 두 벡터가 서로 같을 조건
위치에 상관 없이 크기와 방향이 동일하면 두 벡터는 같다라고 정의합니다.

  • 역벡터

 의 벡터를 편의상 벡터라고 하면 역벡터는 라고 표현하고 크기는 동일하지만 방향이 정반대인 벡터일 경우에 역벡터라고 정의합니다.


  • 벡터의 덧셈


두벡터 a와 b의 덧셈은 어떻게 표현하는지 알아보겠습니다. 보통 시작점이 같은 경우에는 쉽게 하는 방법이 있지만 일단은 그림을 보시면 벡터 b를 이동해줍니다. 왜냐하면 벡터는 크기와 방향이 동일하면 같은 벡터이기 때문에 밑에 그림처럼 이동해도 벡터의 합은 동일하게 됩니다.




따라서 해당 벡터 a와 벡터b의 덧셈은 최종적으로 다음과 같이 됩니다.



매번 이런식으로 덧셈을 하기 어렵기 때문에 시작점이 같은 경우에는 평형사변형 점섬을 그어줘서 이런식으로 덧셈을 처리하는게 조금 편합니다.




  • 벡터의 뺄셈

벡터의 뺄셈은 벡터a와 벡터b가 다음과 같이 있다고 가정했을 경우에



벡터a와 벡터b의 뺄셈은 

다음과 같이 벡터b의 역벡터를 더해주는것과 동일합니다. 


따라서 벡터의 덧셈을 진행하게 되면다음 그림과 같이 됩니다.



벡터는 크기와 방향이 동일하면 같은 벡터이기 때문에 다음 그림과 같이 벡터의 뺄셈이 나옵니다.



같은 방법으로 벡터b - 벡터a 를 진행하게 되면 다음과 같이 진행됩니다.




이처럼 벡터의 뺄셈은 

특정 위치에서 다른 위치를 향하는 벡터를 구할 때 벡터의 뺄셈을 사용한다면 

아주 쉽게 해당 벡터를 구할 수 있습니다. 
실제로도 3d 프로그래밍에서 자주 사용되고 있습니다.





'프로그래밍 > 3D Programming' 카테고리의 다른 글

[3D수학] 백터 내적의 활용  (0) 2017.12.04
[3D수학] 벡터의 내적  (1) 2017.11.24
쉐이더란 무엇인가.  (0) 2016.11.21
< Culling의 종류 >  (0) 2016.11.21

+ Recent posts