수학의 벡터를 이용한 예제

고등학교 수학에서 배우는 벡터 (크기와 방향을 모두 가지는 어떠한 양) 를 이용해 몇 가지 예제를 C++로 구현해 보았습니다.


1. 속도와 가속도를 이용한 벡터 모션

마우스 위치를 타겟으로 멀어지면 가속도가 증가하고 가까워지면 가속이 느려지도록 만들어 보았으며, 게임에서 유도무기 등의 알고리즘으로 많이 쓰입니다.



2. 바람, 중력, 힘, 마찰력을 이용한 벡터 모션

뉴턴의 운동법칙을 코드로 비슷하게 구현해 보았으며, 약간의 바람의 힘을 오른쪽으로 가했을 경우 입니다.



3. 공기 및 유체 저항을 이용한 벡터 모션

뉴턴의 제 2 법칙 가속도는 힘을 질량으로 나눈 값과 같습니다. (A = F / M)
가속도는 물체의 질량이 작을 수록 빨리 가속하지만 아래 예제에서는 항력으로 인해 유체에서 점점 느리지는 가속을 구현해 보았습니다. 

너무 질량이 작은 물체는 유체의 표면 장력으로 튕겨나간 후 다시 유체로 들어가게 됩니다.



  • 개발환경 : Microsoft Visual Studio 2015, Windows 10 Pro 64bit
  • 개발언어 : C++, MFC
  • 참조 문헌 : 칸 아카데미, 다니엘 쉬프만(Daniel Shiffman)이 저술한 "The Nature of Code"



댓글

이 블로그의 인기 게시물

Qt Designer 설치하기

C++ 예제 (소켓 서버, 이미지, 파일전송)