컴퓨터 그래픽스 : 수학/게임 수학

[게임 프로그래머 입문 올인원] 게임 수학 : 삼각함수와 포신 구현하기 (94강)

순정법사 2024.04.10

A. 삼각함수

1. 삼각함수 기초

a.  삼각함수를 알아야 하는 이유

삼각형을 그려 제한된 정보를 가지고 나머지 값을 구하는 학문

 

b. 삼각함수 기초 : 피타고라스 정리

결국 비율을 따지고 있는 것

 

c. 단위 원 (unit circle) 

각도를 재는 두가지 방법이 있음

각도법, 호도법

 

 

호도법 : 1rad라는 각도보다 오른쪽 값이 더 중요

 

단위 원을 생각하면서 cos 과 sin 값의 변화를 기억하자

 

cos는 우함수(-넣어도 같은것) sin은 기함수

 

이런 공식이 있음

 

 

2. 게임에 삼각함수 더하기

a. 슈팅게임에 적용하기

슈팅할때 각도를 구해서 쏴야 함

 

여기서 더해줘야 하는 x(cos),y(sin) 으로 값을 구하기 

 

b. 포신의 정보 생성하기

포신은 Player가 가지고 있으니 Player에서 작성

 

포신의 각도, 길이, 마지막위치를 생성

 

포신은 q, e 방향키로 돌게 만듦

 

정의되어 있지 않으니 q, e 추가해주기

 

삼각함수 공식으로 포신의 위치를 구해주기

 

c. 포신 출력과 색상 변경하기

포신을 그려주고 포신의 색상만 변경해주기

 

여기까지 하면 이렇게 된다

 

d. 각도에 따라 미사일 나가기

미사일이 각도에 따라서 나가야 하기 때문에 미사일에 정보를 추가해주기

 

미사일에 각도와 각도를 설정하는 코드를 작성해주고

 

미사일이 update 될 때 x, y축으로 포지션이 이동하도록 설정

 

다 됐다면 플레이어가 미사일의 위치를 포신의 위치로, 각도를 설정해주고 미사일을 생성하면

 

포신에서 미사일이 잘 나간다!!

 

 

 


출처 : https://www.inflearn.com/course/%EA%B2%8C%EC%9E%84-%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8-%EC%9E%85%EB%AC%B8-%EC%98%AC%EC%9D%B8%EC%9B%90-rookiss#curriculum

 

[게임 프로그래머 입문 올인원] C++ & 자료구조/알고리즘 & STL & 게임 수학 & Windows API & 게임 서버 -

어디부터 시작할지 막막한 게임 프로그래밍 입문자를 위한 All-In-One 커리큘럼입니다. C++, 자료구조/알고리즘, STL, 게임 수학, Windows API, 게임 서버 입문으로 이어지는 알찬 커리큘럼으로 게임 프

www.inflearn.com