컴퓨터 공학

OpenGL로 탁구로봇 시뮬레이션을 만들어 봤습니다.

혼새미로 2015. 11. 27. 01:45
반응형


탁구로봇.zip


 

안녕하세요.

이번에 컴퓨터그래픽스와 OpenGL에 대해 공부를 하고 있습니다.

그러다가 제가 블로그에 올려둔 탁구로봇이 있는데, 다음이 그것입니다.


 

저는 이 영상의 탁구로봇을 OpenGL로 만들어보면 어떨까 생각해보았습니다.

그래서 한번 제작으 시도해보았습니다.

동영상에서의 탁구로봇은 사람의 팔과 흡사한 형태를 하고 있는데요,

가장 아래에 Y축으로 회전하는 관절, 그리고 위아래로 회전하는 관절3개, 탁구채를 회전하는 관절 하나로 구성되어 있습니다.

여기서 저는 중앙에 있는 위아래로 회전하는 관절 하나는 없어도 무방하다고 생각해서 제거하였습니다.

먼저 사진은 다음과 같습니다.

 

 





 

제가 만든 프로그램에서는 실제로 탁구를 하는 건 아니고, 탁구를 하는 것 처럼 보이는 것입니다.

즉, 공은 공대로 따로 놀고, 탁구로봇은 단지 그 공을 치는 것처럼 보이는 것입니다.

하지만 공은 공대로 중력가속도와 왼쪽오른쪽의 랜덤값으로 이동을 하기 위한 계산을 해주었고,

탁구로봇은 그 계산된 공의 움직임이 자신이 칠 수 있는 범위에 도착했을 때를 계산하여 그 지점에 맞춰서 4개의 관절과 아래에 이동장치를 움직여서 탁구채가 그 공에 받아칠 수 있도록 계산하였습니다.

 

실행파일은 첨부파일로 올려둘테니 한번 해보세요!

 

프로그램 상에서 소문자 't'를 누르면 공이 발사됩니다. 이때부터 자동으로 탁구로봇이 랠리를 시작합니다.

소문자 'z'를 누르면 시점이 선수입장으로 이동합니다. 다시 누르면 복귀합니다.

반응형