이전의 글에서는 기저벡터의 이동으로 표현할 수 있는 운동은 다 구현이 가능하다고 했다.
원운동도 그에 해당하느냐?
물론 해당한다.
이전의 글에서 라디안으로 모든 방향을 기저벡터로 나눌 수 있었고 구현이 가능했다.
[Game Developer, 게임개발자/게임 수학,물리] - 게임 물리 - 라디안의 이용
그러니까 원운동도 가능하다고 생각하는게 당연하다.
원운동이란 구심력 때문에 생기는 운동이라고 보면 된다.
하지만 새로운 개념이 나오는데
원운동의 상태를 표현할 때는
'각속도' 라는 것이 나온다.
속도라는 것이 시간당 가는 거리라고 본다면
각속도라는 것은 시간당 진행한 각도라고 볼 수 있다.
등속 원운동에서는 모든 곳에서 각속도가 같을 것이다.
그래서 2 Pi를 주기 T로 나누는 것으로 각속도를 구하기도 한다.
아무튼 앞서 라디안으로 모든 방향을 표현할 수 있다고 배웠는데
굳이 원운동에 대해서 따로 배워야 하느냐??
혹시 타잔 게임 아나?
내가 어렸을 때 했던 게임이다.
이것을 보고 늙었다고 할 지 모르나..
그 당시에는 갓겜이었다.
버블버블하던 나에게
그래픽은 말도 안 돼...라는 정도였다.
사실 타잔은 보통 때 x,y축 이동을 한다.
하지만 위 사진처럼 덩굴을 탈 때는 부분적으로 원운동을 하게 된다.
앞서 적용한 글에서의 식에서는
물체에 더해진 가속도를 알고 있다면 속도와 위치를 계산했다.(중력가속도)
[Game Developer, 게임개발자/게임 수학,물리] - 게임 물리 - 2가지 이상의 힘이 작용할 때
하지만 여기서는 위치를 이용해서 가속도를 구해보려고 하는 것이다.
가속도를 적분하여 속도, 속도를 적분하여 위치를 알았다면
해당 위치를 미분해서 속도, 속도를 미분해서 가속도를 구해보자는 말이다.
해보자
이 두가지 식을 이용해보자.
우선 원운동에서 x좌표를 구하는 방법을 생각해보자
r만큼 떨어져서 w의 각속도로 움직이는 물체의 x좌표는 어떻게 표현할 수 있을까?
x = r * cos (wt) 가 될 수 있을 것이다.
위치를 알았으니 x를 t에 대해서 미분해보자
Vx = -rw * sin(wt) 가 나온다.
가속도를 구하면
Ax = -rw^2 * cos(wt)가 나온다.
즉, 위치에서 속도, 가속도를 다 구해냈다.
위에서 Ax와 x의 식을 잘보면 같이 cos(wt)를 포함하고 있는 것이 보인다.
그렇다면 Ax = -w^2 * x 가 됨을 알 수 있다.
다시 말하자면
원점을 중심으로 하는 원운동을 만드려면
해당 x 좌표에 -w^2을 곱한 값을 x방향의 가속도로 하면 된다.
y좌표에 대해서도 위와 같이 적용하면 된다.
위가 말하는 바는...?
해당 좌표에서의 위치벡터에 -w^2를 곱한 것이 가속도일 때
원운동을 하게 된다는 말과 같다.
또한 부호가 -로 되어있기 때문에 해당 위치벡터와 반대방향 즉, 원점을 향하는 가속도라고 볼 수 있다.
저렇게 x,y에 대한 가속도가 나오게 된다는 말이다.
즉, 위의 타잔 게임에도 원운동을 하기 위해서 적용되었을 수도 있다.
아니..?
근데 그냥 앞에서 했듯이 원점만 이동해서 원운동 좌표식 쓰면 되는거 아냐? 라고 할 수 있다.
맞다...
타잔 게임에서 그냥 해당 나무덩쿨의 끝을 원점으로 바꿔서 해당 위치부터 다시 삼각함수를 쓸 수 있다.
하지만!! 위에서 보았듯이 가속도를 구할 때 삼각함수를 직접 구하지 않고
-w^2 만 곱해서 가속도를 구했다.
이것이 연산에서 이점을 가져오기 때문에 사용한다고 한다.
참고해두면 나쁠 것이 없다.
'Game Development, 게임개발 > 게임 수학,물리' 카테고리의 다른 글
게임 물리 - 화면스크롤 (0) | 2021.08.21 |
---|---|
게임 물리 - 운동방정식의 해석, 미분방정식 (0) | 2021.08.21 |
게임 물리 - 랜덤하게 힘을 적용하기 (0) | 2021.08.20 |
게임 물리 - 2가지 이상의 힘이 작용할 때 (0) | 2021.08.19 |
게임 물리 - 라디안의 이용 (0) | 2021.08.19 |