3D 기초 수학 - 1. 분수
2016-06-22
Last updated
2016-06-22
Last updated
저같이 수학에 약한 게임 프로그래머들에게 이런 말씀을 드리고 싶습니다.
게임 프로그래밍, 특히 3D 게임 프로그래밍을 하는데 필요한 수학은 아주 재미있을 뿐 아니라 결과가 컴퓨터를 통해서 즉시 출력되기 때문에 학교 수업처럼 지루하게 느껴지지 않을 겁니다.
단, 여기서 말하는 수학은 단순히 시험 점수를 얻기 위한 수학이 아님을 말씀드립니다. 수학과 물리가 일상 생활의 문제점들을 해결하기 위해서 발전해 왔듯이 게임 프로그래밍에서의 수학도 분명한 쓰임새가 있기 때문에 필요한 것입니다.
수학을 사용하지 않고 게임을 만들고 있다면 아직 그러한 쓰임이 필요하지 않은 게임을 만들어 왔거나, 이미 수학을 사용하고 있지만 단지 “수학”이라고 인지 하지 않고 있을 뿐이라고 말씀드릴 수 있습니다.
또한 프로그래밍 언어를 배울 정도의 논리력을 갖고 있는 사람이라면 아주 쉽고 재미있게 3D 게임 프로그래밍을 위한 수학을 배워나갈 수 있다고 확신합니다.
여기에 나무 두 그루가 있습니다.
왼쪽 나무는 1m 오른쪽 나무는 2m의 높이를 갖고 있지요. 어느 쪽 나무가 더 높은가요? “그야 당연히 오른쪽 나무가 더 높죠.”
그럼 왼쪽 나무에 비해 오른쪽 나무는 얼마나 더 높은가요? “왼쪽 나무가 1m이고, 오른쪽 나무가 2m이니까 1m 더 높군요.”
여기 까지 읽는데 머릿속에 별다른 막힘이 없었다면 앞으로 나올 3D 게임 프로그래밍을 위한 수학도 충분히 이해할 수 있는 두뇌를 갖고 계신 겁니다. 왜냐하면 수학적 내용들이 언뜻 보기에 복잡한 수식으로 무장되어 있는 것 같지만 하나하나 따져가다 보면 자연스럽게 이해될 수 있는 얘기를 수와 문자를 통한 논리로 표현했을 뿐이기 때문이지요.
방금 설명해 드린 내용은 분수의 개념을 그림을 통해서 나타낸 것입니다.
답변한 내용 중에 왼쪽 나무에 비해 오른쪽 나무가 1m 더 높다 라고 한 부분이 있죠? 바로 이렇게 서로를 비교하는데 사용할 수 있는 것이 분수입니다.(물론 분수를 정의하는 데에는 다른 뜻도 있습니다.)
(참고 : http://terms.naver.com/entry.nhn?docId=957717&cid=47308&categoryId=47308) 그런데 흔히 알고 있는 분수는 몇 분의 몇 이런 식으로 부르는데 그것과 이 내용이 무슨 관계가 있는 걸까요? 다시 한번 그림을 보면서 차근차근 설명해 드리겠습니다.
우선 왼쪽 나무에 비해 오른쪽 나무는 1m 더 높다고 했습니다. 결국 두배의 차이가 있는데요 이것을 수학적으로 나타내면
오른쪽 나무의 높이 ----------------------------- 왼쪽 나무의 높이
이렇게 표시할 수 있습니다. 수학적으로 말이죠.
반대로 오른쪽 나무에 비해 왼쪽 나무는 절반의 높이를 갖고 있습니다. 이것도 수학적으로 표현해 보면
왼쪽 나무의 높이 ----------------------------- 오른쪽 나무의 높이
이렇게 나타낼 수 있습니다. 초등학교때 봤던 분수의 형태와 똑같죠? 오른쪽 나무와 왼쪽 나무의 글자 위치에 나무의 높이를 넣어보면 각각 이렇게 표현 됩니다.
오른쪽 나무의 높이(2) -------------------------------------- = 2 (두배) 왼쪽 나무의 높이(1)
왼쪽 나무의 높이(1) ------------------------------------- = 0.5 (절반) 오른쪽 나무의 높이(2)
결국 분수 라는 것은 어느 한쪽에 비해서 어느 한쪽이 얼마나 더 크냐를 나타낼 때 사용할 수 있다는 것을 알 수 있죠. 그것을 수학적으로 표현하면 분수의 형태로 나타낼 수 있고 그 분수의 형태는 결국 실생활에서 크기를 비교하고 계산하는데 사용할 수 있는 도구가 되는 셈입니다. 그리고 그런 도구들의 사용법을 배우는 것이 3D 게임 프로그래밍을 위한 수학을 배우는 것과 같다고 말할 수 있는 것이죠.
간단하게 분수의 개념에 대해서 알아봤습니다. 물론 분수를 모르시는 분들은 거의 없을테지만 수학적 개념이란게 이처럼 쉽게 이해될 수 있다는 것을 알려드리고 싶었습니다.
이야기로 아주 쉽게 배우는 삼각함수 수학으로 시작하는 3D 게임 개발 게임 프로그래머를 위한 기초 수학과 물리 게임 수학 & 물리 입문 좋은 게임을 만드는 핵심원리 : 게임 수학과 물리 Head First Physics Real Time Rendering
이 글에 나오는 수학에 대한 설명은 쉬운 이해를 위해 자체적으로 해석한 그림과 설명이 포함되어 있습니다. 전문적인 수학 서적에 나오는 내용과 다른 부분이 있을 수 있으니 혼동되지 않으시기를 부탁드립니다. 정확한 정의는 수학 전문 서적을 참고해 주시기 바랍니다.