Why?
삼각함수 왜 필수이고 반드시 알아야 하는가?
오늘은 위와 같은 제목을 주제로 글을 써보려합니다.
유니티 또는 언리얼을 사용하시는 실무 개발자를 포함해서 위와 같은 의문이 들수도 있습니다.
프로젝트에서 사용해야 하는 경우도 드물수도 있고 또는 전혀 필요로 하지않을수도 있습니다.
하지만 대표적으로 삼각함수를 사용하는 게임 기믹 두가지를 예시로 들어보겠습니다.
게임 개발자가 삼각함수를 이용하는 예시
1. 적과 나의 거리를 알아야하는경우
2. 특정 대상의 각도를 내가 원하는 방향으로 바꿔야하는경우
위 두가지 케이스는 정말 많이 사용됩니다.
몬스터가 나의 위치를 알아야하는 경우는 정말 무수한 게임의 로직에서 볼수있는 로직이고
총알이 각도를 휘어가며 발사되는 기믹은 옛날 1945와 같은 게임에서도 다양하게 등장합니다.
이를 하드코딩으로 개발하실거라면 상관없지만, 한계는 반드시 올거라 생각합니다.
이러한 이유로 시작하는 기초 삼각함수를 기준으로 오늘 나눌 이야기 제목은 4가지입니다.
1. 지루하지만 한번은 넘어가는 삼각비 이해 공식
2. 단위원의 중요성
3. sin과 cos 그래프가 왜 이렇게 생겼는가.
4. 이걸 게임 어디서 적용하는가.
1. 지루하지만 한번은 넘어가는 삼각비 이해 공식
아 정말 보기 싫고 벌써 부터 글을 닫고싶은 욕구가 올라오는 자료 사진입니다.
저도 여러분의 마음을 충분히 이해하기에 지루한 설명보다 반드시 집고 넘어가야할 설명만을 조금 짚고 넘어가겠습니다.
삼각비란?
삼각비란 고대 그리스 수학가가 발견해낸 공식입니다.
위 자료 사진과 같이 직각 삼각형이 있다면 빗변,밑변,높이 간의 서로 반드시 필수적으로 지켜지는
비율을 공식으로 나타낸것이 우리가 보는 삼각비 입니다.
이는 피타고라스 정리과 같습니다.
무슨 직각삼각형이든 밑변² + 높이² = 빗변²이 불변한것과 동일합니다.
사인이 무엇이냐
sin은 직각삼각형 두 변의 길이 중 빗변과 높이의 길이의 비 입니다.
지금까지 위 자료 사진 그리고 삼각비라는것만을 이용해서 알수있는것은 이게 끝입니다.
이를 조금 더 활용하기 위해서는 빗변의 길이가 1인 경우 삼각비는 어떻게 바뀌는지를 알아보는것이 중요합니다.
빗변의 길이가 1이라면 삼각비의 sin,cos는 분모가 1인 진분수가 됩니다.
cos = 1 / 밑변
sin = 1 / 높이
tan = 높이 / 밑변
또 알수있는 점은
높이 = y = sin 이는 모두 같은말이 됩니다 즉,
x축의 길이 = cos
y축의 길이 = sin
이를 피타고라스 정리로 빗변의 길이를 식으로 나타낼수도 있습니다.
cos² + sin² = 1
우리는 지금 빗변을 1로 기준한것만으로 삼각비의 많은 정보를 획득할수 있었습니다.
이러한 빗변을 반지금으로 기준하여 만든 원을 단위원 이라합니다.
다음 2번 제목에서 단위원의 중요성과 성질을 설명하겠습니다.
2. 단위원의 중요성
단위원이란?
단위원은 반지름의 길이가 1인 원을 나타냅니다.
이 원은 그 자체로 별다른 의미가 없어 보일 수 있지만, 삼각비를 활용하여 각도를 계산해야 하는 상황에서는 귀중한 역할을 수행합니다.
실제로 이러한 단위원은 지도와 같은 역할을 하며, 좌표계 내에서 중요한 기준 역할을 하게 됩니다.
단위원에서 우리는 P의 좌표가 원을 기준으로 매번 바뀌거나 또는 다르게 지정할 경우의 각도θ는 어떻게 바뀌는지 이를
단위원을 활용해서 알수있게 됩니다.
이런 단위원의 활용을 위해서 자료사진을 보고 알수있는 정보들을 정의해보겠습니다.
1. 각도가 0~90도 사이라면 밑변은 cos이다.
2.각도가 0~90도 사이라면 높이는 sin이다.
3.각도가 0~90도 사이라면 P는 (cos,sin)이다.
여기까지는 그림을 보고 왜 이렇게 될수밖에 없는지 고민하고 생각하면 누구나 알수있는 결론입니다.
하지만, 우리가 그림에서 알수 없는 정의가 있습니다.
4. 위 그림에서도 P의 좌표가 2사분면에 존재하여 90도 이상을 넘어가는 둔각을 이루는 경우에서도
위 1,2,3은 삼각비에서는 그대로 동일하게 적용된다는 점입니다.
2번 단위원의 중요성에서 우리가 반드시 알아야하는것은 1,2,3도 물론 중요하지만 4.성질을 반드시 알아두어야합니다.
4번 성질을 통해서 우리가 만나게될 반가운 친구를 3제목에서 보여드리겠습니다.
3. sin과 cos 파형 왜 이렇게 생겼는가.
오랜만에 만나게되어도 반갑지 않은 추억이 있다면
그건 1번 그림과 3번 그림이 아닐까 합니다.
하지만 학창시절 그때와는 다릅니다.
지금은 시험을 위해서가 아닌 게임 프로그래밍에 응용하기 위해 흥미를 가지고 공부할수있습니다.
지금부터 3제목에서는 자료사진 파형에 보여지는 cos,sin 파형이 무엇을 뜻하고
어떻게 저런식으로 그려지는지를 알아보겠습니다.
위 파형이 만들어지는 원리는 2번 제목의 1,2,3,4번의 정의들로 이루어집니다.
cos = x
각도가 0일때 x는 단위원에서 1입니다. 따라서 그래프에서 0도일경우 cos는 1인것을 확인할수있습니다.
각도가 1일때 x는 단위원에서 0입니다. 따라서 그래프에서 90도일경우 cos는 0인것을 확인할수있습니다.
90도를 넘어간 180의 경우도 이 정의가 달라질까요?
각도가 180일때 x는 2,3사분면의 -1 입니다. 따라서 그래프에서 180일 경우 cos는 -1인것을 확인할수있습니다.
각도가 270일때 x는 3,4사분면의 0입니다. 따라서 그래프에서 270일 경우 cos는 0인것을 확인할수있습니다.
완벽하게 파형과 단위원에서 정의한 공식과 일치합니다.
sin = y
sin은 직접 정의하지 않겠습니다.
스스로 여러분이 단위원을 보고 그리드 표에서 어떻게 드려지는지 0,90,180,270까지 점을찍어보고
점들을 이어서 위 그래프와 같은지 확인해봅시다.
실습이 생각보다 지루하지않고 시간이 흘러도 기억속에 오래 남을수있습니다.
실습을 해보셨다면
위 파형두가지가 무엇을 뜻하는지 왜 저렇게 만들어졌는지 이해했습니다.
그러다면 파형의 활용은 어떻게 할까요
우선은 이것만을 파형에서 이해하고 생각합니다.
1. 어느각도에서 cos,sin이 음수 또는 양수인가.
2. 어느 각도에서 cos,sin이 0이 되는가.
외워야할 필요성은 없습니다.
자! 우리는 삼각함수를 배웠습니다.
다음 글에서는 오늘 배운 삼각함수를 이용해서 유니티에서 활용해보겠습니다.
글이 이해가기 어렵게 보이는 부분을 댓글로 남겨주시면 꼭 수정하겠습니다.
감사합니다
'수학' 카테고리의 다른 글
유니티에서 삼각함수를 활용해보자 (0) | 2023.08.31 |
---|---|
[게임 개발] 왜 게임개발에서 벡터를 알아야하는가 (0) | 2023.01.15 |