공부/게임 수학

삼각함수(Sin, Cos)

밤톨ㅇl 2024. 12. 4. 22:55

삼각함수!!

삼각함수는 게임에서 위치 계산, 움직임 구현, 카메라 제어, 물리 엔진 등에서 다양하게 활용한다

이 글에서는 삼각함수의 간단한 개념과 게임 개발에서 삼각함수가 어떻게 쓰이는지 알아보고 간단한 예제를 만들어 보려고 한다~~

 

삼각함수

삼각함수는 수학에서 삼각형의 각과 변의 관계를 나타내는 함수로, 특히 직각삼각형을 다룰 때 매우 유용하다

- 사인, 코사인, 탄젠트의 세 가지 기본 함수로 구성된다

- 사인과 코사인의 그래프

빗변이 1인 직각삼각형에서 코사인은 x좌표가 되고 사인은 y좌표가 된다

그렇다면 0 90 180 270 도 4가지 각도로 사인과 코사인을 봤을 때

  0도 90도 180도 270
Sin 0 1 0 -1
Cos 1 0 -1 0

-1 ~ 1 사이를 반복적으로 왔다갔다하게 된다

이 그래프처럼

나무위키 - 삼각함수

유니티에서는 삼각함수를 어떻게 활용하고 있을까?

빗변이 1인 직각삼각형을 기준으로 단위원을 그려보자!!!

빗변을 단위화한 벡터로 봤을 때 벡터의 종점 좌표는 (Cos, Sin)이 된다 즉 유니티의 Mathf.Sin과 Mathf.Cos 함수에 원하는 각도를 넣어 벡터의 방향을 알게된다. 그 방향을 이용해서 오브젝트를 제어할 수 있게 된다

특히 삼각함수의 주기성과 반복성으로 오브젝트를 다양한 움직임, 궤적, 애니메이션등을 구현할 수 있따

생각나는 건 탄막 게임에서 적이 탄막을 생성할 때 쓰거나 공전하는 거처럼 뱅글뱅글 돌리기도 가능하다~~

 

이번엔 탄막게임에서 보스가 사용하는 몇가지 패턴을 만들어 보자~~

유니티 첫 2d 게임 만들 때 이런 탄막 패턴 코드를 복붙해서 사용했던 경험이 있는데

그때 코드들을 내 손으로 만들어보니 신기방기했다

1. 직선 패턴

 

2. 부채꼴 패턴

3. 동그라미 패턴

4. 동그라미 발사 패턴

5. 난사 패턴

6. 하트 패턴 

 

마지막 하트패턴은 파라매트릭 방정식을 참고해서 구현했다

끝!!

'공부 > 게임 수학' 카테고리의 다른 글

벡터(내적)  (0) 2024.12.08
삼각함수(tan)  (1) 2024.12.05
벡터(Vector)  (0) 2024.12.01
피타고라스의 정리  (2) 2024.12.01