3D 기초 수학 - 6. 삼각함수(sin, cos, tan)

2016-06-27

삼각함수

수학에서, 삼각함수(三角函數, 영어: trigonometric function)는 직각삼각형의 각을 직각삼각형의 변들의 길이의 비로 나타내는 함수이다.

(출처 : https://ko.wikipedia.org/wiki/삼각함수) 벡터 챕터에서 그래왔던 것처럼 이번 챕터에서도 삼각함수의 실제 쓰임에 대해서 알아본 뒤 수학적 정의를 이해해 나가는 형태로 배워보도록 하겠습니다. 편안한 마음으로 읽어 나가시면 됩니다. 삼각함수, 사인, 코사인, 탄젠트 이런 말 한번쯤은 다들 들어보셨겠죠? 제가 학창시절 때 삼각함수를 배웠던 때를 떠올리면 정말 머릿속이 멍했던 기억밖에는 없습니다. 교과서를 아무리 들여다 봐도 삼각함수가 무엇인지, 원과 삼각형이 무슨 관계인지 알 수가 없었기 때문입니다. 저와 같은 분들을 위해서 3D 게임 프로그래밍에서 자주 쓰이는 삼각함수에 대해 아주 쉽게 알려드리도록 하겠습니다.

탄젠트(tan)

이야기로 아주 쉽게 배우는 삼각함수”라는 책을 보면 크리스마스 때 사용할 나무의 높이를 재기 위해 직각 삼각형의 개념을 활용한 부분이 나옵니다. 나무가 너무 높아 직접 올라가서 잴 수 없으니 태양의 고도가 45도 일 때 나무의 그림자 길이를 재서 나무의 높이를 알아냈다고 하죠. 이것을 그림으로 나타내면 다음과 같습니다.

클릭시 이미지 새창.

이 그림을 자세히 보면 두 변의 길이가 같은 이등변 삼각형이 그려진다는 것을 알 수 있습니다. 이등변 삼각형은 두 변의 길이가 같으니 나무의 그림자의 길이는 곧 나무의 높이와 같다는 사실 또한 알 수 있죠. 그리고 이 삼각형은 직각 삼각형이라는 것은 말씀드리지 않아도 아실겁니다. 방금 말씀드린 내용이 삼각함수 중 탄젠트에 대한 내용입니다. 짠! 삼각함수가 이렇게 쉬운 것이었습니다!

클릭시 이미지 새창.

실제로 탄젠트 45도를 계산해 보면 1이라는 결과값이 나옵니다. 이 결과값은 비율을 나타낸 것인데 어떠한 비율이 1이라는 것은 비교 대상이 서로 똑같다 라는 뜻이죠. 각도가 45도 일 때 그림자의 길이와 나무의 높이를 비교해 봤더니 둘이 똑같더라, 즉, 클릭시 이미지 새창. 이라고 수학적으로 표현할 수 있습니다. 제일 첫 강좌에서 어떠한 길이를 비교할 때 사용할 수 있는 것이 분수라고 했었죠.이것을 좀 더 삼각함수스럽게 표현한다면 이렇게 씁니다.

tan(45°) = 1

tan은 삼각함수중 하나인 탄젠트라는 함수인데 직각 삼각형에서 어떠한 각도를 넣었을 때 밑변과 먼변(수직인 변)의 비율을 구해줍니다. 이 예제에서 그림자의 길이와 나무의 높이의 비율을 구했던 것처럼 말이죠.

사인(sin)

이번에는 눈썰매장을 만든다고 상상해 봅시다. 25도 각도의 경사에 100미터 짜리 슬로프로 만들 계획입니다. 그림으로 나타내면 이런 모습이 되겠죠.

클릭시 이미지 새창.

그런데 한 가지 문제가 있습니다. 슬로프의 길이와 각도는 정해졌는데 슬로프를 지지할 기둥의 높이를 몇 미터로 해야 되는지 모른다는 것이죠. 그림을 자세히 보니 이번에도 직각 삼각형이 그려졌네요. 그렇다면 삼각함수를 이용해서 뭔가 알아낼 수 있을 것 같습니다. 다만 밑변이나 높이의 길이를 모르니 아까 배웠던 탄젠트를 사용할 수는 없겠네요. 이 때 사용할 수 있는 것이 사인(sin)입니다. sin은 제일 긴 빗변과 높이의 비율을 구해주는 함수입니다. 위 그림에서 보면 100m짜리 슬로프가 빗변을 의미 하는데 sin함수를 통해서빗변과 먼변(높이)의 비율을 구한 뒤 빗변의 길이만큼 곱해주면 높이값이 나오게 되겠죠.(빗변의 길이만큼 곱한다 라는 부분은 잠시 후에 설명해 드리겠습니다) 그럼 정말 sin함수를 통해서 높이를 구할 수 있는지 계산기를 두드려 봅시다.

클릭시 이미지 새창.

윈도우 계산기로 sin(25°)를 계산한 결과

클릭시 이미지 새창.

sin(25°)에 빗변의 길이인 100을 곱해준 결과

짠! 이렇게 해서 기둥의 높이는 42.2.... 미터가 되겠습니다. 탄젠트(tan)에 이어 사인(sin)도 직각 삼각형에 대해서 사용할 수 있다는 것, 그리고 하나의 각도가 주어져야 한다는 것을 알게 되었습니다. 우리 주변을 자세히 보면 생각보다 많은 것들이 직각 삼각형으로 표현된다는 것을 알 수 있죠. 그런데 여기서 이런 의문을 갖는 분도 계실 겁니다. 직각 삼각형에서 한 각도를 선택해 sin(25°)를 계산한 것 까지는 알겠는데, 왜 이 결과값에 슬로프의 길이인 100을 곱해서 높이를 구한 것일까? 이 의문이 풀려야 사인(sin)에 대해서 확실히 이해했다고 할 수 있겠죠. 일단 한 가지 확실히 알게 된 것은 사인(sin)은 빗변과 높이의 비율을 구해주는 함수라는 것입니다. 그렇다면 탄젠트(tan)와 마찬가지로 다음과 같이 분수의 형태로 표현할 수 있습니다.

클릭시 이미지 새창.

sin(25도) = 0.422 라는 것은 슬로프의 길이(빗변)에 비해 기둥의 높이(먼변)가 0.422배 작다 라고 생각할 수 있겠죠(잘 이해가 안간다면 첫 번째 강좌에 나왔던 분수의 개념을 다시 확인해 보세요). 따라서 슬로프의 길이가 100m 라면 기둥의 높이는 100m에 비해 0.422배 작기 때문에 100 x 0.422 = 42.2라는 식으로 이해할 수 있습니다.

클릭시 이미지 새창.

닮은 삼각형

아직도 약간 알 듯 모를 듯 한 분들을 위해서 또 다른 방법을 준비했습니다. 실제로 100m 짜리 슬로프에 25도 경사를 가진 삼각형을 그리려면 학교 운동장을 다 써야 할 만큼 커다란 삼각형이 나올 겁니다.따라서 집에서도 손쉽게 할 수 있도록 슬로프의 길이를 10cm로 축소하여 그려봅시다.

클릭시 이미지 새창.

이렇게 그리면 실제로 100m의 슬로프 보다는 훨씬 작지만 생김새는 똑같은 삼각형이 됩니다.이제 이 삼각형의 높이를 자로 재 보면...

클릭시 이미지 새창.

4.2cm가 나옵니다.그렇다면 슬로프의 길이가 10cm에서 100m로 늘어났듯이기둥의 높이도 4.2cm에서 슬로프의 길이가 늘어난 것과 같은 비율로 늘어날 것입니다.왜냐하면 둘은 생김새는 같지만 크기만 다른 닮은 삼각형이기 때문입니다. 직접 계산을 해 봅시다. 먼저 종이에 그린 삼각형과 실제 슬로프와의 단위를 맞춰야 합니다. 둘 다 센티미터로 바꾸면 100m는 10000cm가 됩니다(1m = 100cm이므로) 10cm에서 10000cm로 늘어났으니 정확히 1000배가 늘어난 셈이네요. 그럼 4.2cm에 1000배를 하면 4200cm가 나옵니다. 이것을 다시 미터로 환산 하면 42m가 됩니다(4200 / 100 = 42). 종이에 그린 삼각형의 높이를 잴 때 소수점 단위까지 잴 수 없었으므로 42m로 나오지만 아주 정밀한 자를 이용하여 소수점 단위까지 잰다면 42.2m까지 계산될 겁니다. 이런 방법을 통해서 알 수 있는 것은 삼각함수는 삼각형의 크기와는 관계없이 각도에만 영향이 있다는 것을 알 수 있습니다. 즉, 어떤 크기의 직각 삼각형이든 주어진 각도가 똑같다면 항상 같은 값을 돌려준다는 뜻입니다.

코사인(cos)

사인(sin), 탄젠트(tan)에 이어 3D 게임 프로그래밍에서 자주 사용하는 삼각함수는 코사인(cos)입니다. 사인(sin)함수는 기둥의 높이를 잴 때 사용했었죠. 코사인(cos)함수는 밑바닥의 길이를 잴 때 사용할 수 있습니다.눈썰매장 그림을 다시 봅시다.

클릭시 이미지 새창.

기둥의 높이는 사인(sin)함수를 통해 계산했습니다. 바닥의 길이는 어떻게 잴 수 있을까요? 여기에는 코사인(cos)함수가 사용 됩니다.(네. 물론 피타고라스 정리를 이용해서도 구할 수 있습니다.) 사인함수는 빗변과 먼변(높이)의 비율을 계산해 준다고 했습니다. 코사인함수는 빗변과 밑변(바닥)의 비율을 계산해 주는 함수입니다. 이쯤이면 이제 바닥의 길이를 구하는 것도 식은 죽 먹기겠죠? 바로 계산기를 두드려 봅시다.

클릭시 이미지 새창.

이 값에 슬로프의 길이인 100을 곱하면...

클릭시 이미지 새창.

90.6307...m가 나옵니다.

클릭시 이미지 새창.

그럼 종이에 그린 작은 삼각형의 밑변의 길이도 재 봅시다.

클릭시 이미지 새창.

9cm보다 조금 더 큽니다. 이제 이 값을 아까 높이를 구할 때 사용한 방법대로 계산해 보겠습니다. 9cm x 1000 = 9000cm= 90m 소수점까지 잴 수 없으므로 정확하게 맞아 떨어지진 않지만 거의 비슷한 값이 나왔습니다. 이 과정을 통해서 코사인(cos)함수도 삼각형의 크기와는 관계없이 주어진 각도에만 영향이 있다는 사실을 알 수 있습니다. 삼각함수를 계산할 때 변의 길이를 입력하지 않고 각도를 입력한다는 것만 봐도 삼각함수가 각도와 관계가 있다는 것을 직관적으로 알 수 있죠.

삼각함수 정리

사인(sin) = 빗변과 먼변(높이)의 비율을 구한다. 코사인(cos) = 빗변과 밑변의 비율을 구한다. 탄젠트(tan) = 밑변과 먼변(높이)의 비율을 구한다. 삼각함수는 직각 삼각형에 대해서 하나의 각이 주어졌을 때 각 변에 대한 비율을 구해준다.

Last updated

Was this helpful?