수알못 게임 개발자를 위한 기초 수학 스터디를 시작하며...

안녕하세요. 연두아빠에요.


저와 같은 수알못 (수학을 알지 못하는) 게임 개발자들을 위해서...


오늘부터 게임 개발에 필요한 기초 수학 스터디를 진행해보려고 합니다.



오늘부터 진행하게 될 기초 수학 스터디를 따라 오실 수 있으려면


적어도 중학교 수학 교과 과정에서 다루는 것들에 대한 개념 이해 정도는 필요할 것 같습니다.


첫 시간이니 간단히 중학교 수학을 훑어 보는 시간을 갖겠습니다.



방금 혹시나 제가 경험한 중학교 교육 과정과 지금의 중학교 교육 과정이


조금 차이가 있지 않을까 해서 찾아봤는데 다행히 큰 차이는 없는 것 같네요.


제일 먼저 배우는 과정이 역시 자연수의 성질 이라는 단원이군요.



그렇다면 자연수는 무엇인가?


뭐 수학의 정석까지 찾아보며 정의를 여기에 적고 싶지는 않네요.


그냥 자연수는 양의 정수 라고 생각하시면 될 것 같습니다.


프로그래머 식으로 말하면 unsigned int 정도가 되겠네요.


역시 코드로 얘기하니 확확 와닫죠?



더불어 자연수 친구 유리수와 무리수에 대해서도 기억 나시나요?


유리수는 정수인 a와 b를 이용해 a/b와 같이 분수 형태로 표현이 가능한 수를 말하구요.


분모인 b는 당연히 0이 될 수 없구요. (Divide-By-Zero Exception이 뜨겠죠?)


0.75와 같은 소수도 75/100으로 변경이 가능하니 유리수이구요.



그렇다면 무리수는 무엇인가?


당연히 유리수가 아닌 수를 의미하겠죠?


나 원주율 파이(π) 정도가 가장 대표적인 무리수가 되겠네요.


저와 같은 수알못 개발자도 3.141592 정도 까지는 외우고 다닐 정도니까요.


파이는 원주율로 3.14159265359... 와 같이 영원히 나누어지지 않는 무한 소수입니다.


유리수의 정의에서 보셨듯 a/b의 형태로 표현할 수 없으면 무리수입니다.



|a| 와 같이 Bar(|)로 묶여져 있는 수식을 보신적 있으시죠?


네, 절대 값이라고 합니다. 게임 개발자로 적지 않은 시간을 살아오며 Abs()는 알지만,


절대값이 뭔지 모르던 게임 개발자를 딱 1명 봤습니다.


반면에 절대값은 아는데 Abs()가 뭔지 모르는 게임 개발자는 좀 많이 봤던 것 같아요.



그리고 앞에서도 잠깐 언급했던 와 같은 제곱근... 다들 보신 적 있으시죠?


제곱하여 x가 되는 수를 x의 제곱근이라고 합니다.


예를 들어 2를 제곱하.면 4가 되니, 2는 4의 제곱근이 되겠네요.


프로그래밍 언어에서는 Sqrt()라는 함수를 이용해서 제곱근을 이용하죠.


게임 개발에서는 피타고라스의 정리 등을 이용해 두 점사이의 거리를 구하거나 할 때,


루트를 제거 하기 위해서 많이 쓰곤하죠.



피타고라스의 정리가 뭐냐구요?



피타고라스가 이집트 여행을 하며 거대한 피라미드를 만들 수 있었던 방법을 묻자,


고대 이집트 사람들은 일정한 간격으로 매듭을 지은 12개의 밧줄을 이용하여

끈의 길이의 비가 3:4:5가 되도록 삼각형을 만들어 직각을 측정했다고 대답했다고 하죠.



피타고라스가 그 내용을 듣고 연구하다 위와 같은 정리를 내렸다고 합니다.


직각삼각형의 빗변을 한 변으로 하는 정사각형의 넓이는

​나머지 두 변을 각각 한 변으로 하는 정사각형 두 개의 넓이의 합과 같다


그래서 구구절절한 내용 다 빼고... 아래와 같은 삼각형이 존재할 때...



빗변(Hypotenuse) C의 제곱은 밑변(Adjacent) b의 제곱과 대변(Opposite)의 제곱의 합이다.



수식으로 표현하면 위와 같이 되겠죠?


피타고라스의 정리는 대충 알겠는데... 그래서 대체 이걸 가지고 무엇을 할수 있는가...


게임 개발에서는 주로 두 점사이의 거리를 구하기 위해 엄청 많이 사용됩니다.



두 점 A와 B가 있을때, 우리가 거리를 구하기 위해서는 결국 빗변 c의 길이를 구하면 되겠죠?


그렇기에 두 점 A, B를 빗변으로 하는 가상의 직각 삼각형을 그려 밑변의 길이와 높이를 구해주면 됩니다.



그래서 결국 위와 같은 길이를 구하는 공식이 탄생 하게 된 것이구요.


설명이 뭣같지만, 몇번 읽어보시며 할아버지의 명예를 걸고 추리해보시면 이해가 되실거에요.


일단 이 정도만 이해하시면 앞으로의 스터디를 함께 하실 자격은 충분하실 것 같습니다.


오늘은 여기까지 할께요!


공감() 및 댓글은 글쓴이에게 커다란 힘이 됩니다.


길지 않은 이 글을 쓰는데 나름 몇 시간이 걸렸어요^^;


저에게 1초만 시간을 내주셔서 공감 버튼 꾸욱 눌러주세요^^


제 블로그를 방문해 주신 모든 분들 사랑합니다^^


이상입니다. 감사합니다!

이 글을 공유하기

댓글

Designed by CMSFactory.NET