본문 바로가기

카테고리 없음

[게임수학] 미적분

미적분은 수학의 모든 분야에 걸쳐있는 복잡한 계산 체계이다. 모두들 고등학교 때 열심히 배워봐서 알겠지만 미적분은 굉장히 광범위하고 복잡한 계산 체계이다.

하지만 다행히 게임에서의 미적분은 그 광범위한 부분에서 극히 일부분만을 필요로 한다.

게임에서 미적분은 흔히 어떠한 힘에 의해 움직이는 물체의 위치, 스프링의 힘, 회전 속도 등등이 시간에 따라 어떻게 변화하는지 알기 위해 사용된다.

여기서는 미분과 적분이 무엇을 의미하는지 알아보고 게임안 3D 공간상에서 어떻게 사용되는지 간단한 예제까지만 만들어볼 예정이다.

 

1. 미분

미분이라고 하면 극한이니, 미분계수니, 도함수니 아주 복잡한 식과 정의들 그리고 트라우마를 불러일으키는 모의고사 문제들이 떠오를 텐데

일단은 간단하게만 정의해 보겠다. 간단하게 미분은 어떤 양의 변화율로 볼 수 있다.

즉 현재 어딘가로 이동하고 있는 물체의 속도(velocity)가 미분값이 되는 것이다.

 

1-1. 속도(velocity)

어떠한 물체가 움직이고 있다고 하자. 그러면 잠시 후에는 물체의 위치가 지금과는 약간 달라져 있을 것이다.

그때 물체가 이동한 위치와 해당 위치로 이동하는 데 걸린 시간을 알고 있으면 물체가 해당 위치까지 어떤 속도로 이동했는지 구할 수 있다. 이를 식으로 보여준다면 이렇게 될 것이다.

$$v = \frac{p\prime - p}{\Delta t} = \frac{\Delta p}{\Delta t}$$

여기서  $v$는 물체의 속도 그리고  $p\prime$은 현재 위치,  $p$는 시작 위치,   $ \Delta t $는 시간의 변화량이다.

 

하지만 이렇게 계산해서는 해당 물체의 특정 시점 에서의 정확한 속도는 알지 못한다.

우리는 해당 물체가 해당 위치까지 이동하는데 일정한 속도로 움직였는지 아니면 처음 시작할 때만 아주 빠르게 움직이고 이후에는 느리게 움직였는지 알 수 없기 때문이다.

 

물체의 정확한 속도를 계산하고 싶다면 속도를 측정하는 간격을 좁히면 된다. 간격이 좁아질수록 물체의 속도가 시간에 따라 변화하는 모습을 좀 더 정밀하게 알 수 있다. 이 간격을 무한히 좁힌다면 정확한 값을 알 수 있을 것이다.

수학에서는 이를 극한이라는 표현을 써서 이렇게 표현한다.

$$v = \displaystyle \lim_{\Delta t\to 0}\frac{\Delta p}{\Delta t}$$

 

1-2. 가속도(acceleration)

물체의 위치와 속도를 알아냈으면 가속도도 구할 수 있다.

가속도는 속도의 변화율이다. 가속도가 양수면 속도가 점점 빨라지는 것이고, 가속도가 0이면 속도 변화가 없는 것이며, 가속도가 음수면 점점 느려지는 것이다. 즉 속도의 미분값(변화율)이 가속도가 되는 것이다.

이를 속도와 마찬가지로 식으로 표현해 보면 이렇게 될 것이다.

$$a = \displaystyle \lim_{\Delta t\to 0}\frac{\Delta v}{\Delta t} $$

또한 이것을 2차 미분이라고 한다. 속도는 위치의 1차 미분이고, 그 속도를 다시 미분한 값은 가속도 이므로 가속도는 2차 미분이라고 할 수 있다.