3D 물리 엔진 분석) 00. 개요
이전에 썼던 box2d lite 분석글의 비공개를 공개로 풀어놓기로 결정했다.
사실 해당 글은 지금 쓴다면 더 좋은 해석으로 쓸 수 있다. 현재 게재된 box2d lite 분석글에 Collide를 분석하는 파트를 보면 초중반까지는 수학적으로 잘 분석하다가 후반가면 수치적으로 값을 대입해서 보여준다거나 그런식으로 간다. 사실 box2d lite에서는 box대box의 충돌을 처리하는 일련의 모든 과정은 최종적으로 Sutherland Hodgman 알고리즘에서 시작된다. 지금은 box2d lite의 내용을 전부 수학적으로 설명이 가능하다. 언젠가 날 잡고 추가 내용을 넣을것이다.
그때는 이를 이용해서 기존 box2d lite에는 없는 box vs circle 같은 충돌 알고리즘도 넣어보고 dynamic aabb tree도 넣어서 최적화 해보고 할것이다.
또한 그 내용이 3d 물리엔진 분석글에서도 유기적으로 이어질 것이다.
이 카테고리에서는 메인으로 cyclone 물리엔진을 분석하고 그외의 다른 내용(레이싱게임 물리 엔진, 폭발, 부력 등등) 도 추가로 넣을 것이다.
가능하다면 모든 영역을 분석할 수 있으면 좋겠다.
처음엔 빡쎄고 코어한 부분부터 분석하고 천천히 쉽고 지엽적인 부분으로 나아갈 것이다.

사실 이 물리엔진은 내가 예전부터 공부해왔지만, 예전에는 코드의 어려운 파트를 완전히 이해하지 못하고 있었다.
하지만 이번에는 수학적인 해석으로 코드의 내용을 완벽히 이해하는 것을 목표로 이 카테고리를 개설했다.
다음 글부터 많이 어려운 내용인 3d공간에서 직육면체vs직육면체의 충돌 탐지 파트를 분석할 예정이다.
당연히 제약조건(contact point, penetration, contact normal)과 같은 부분도 같이 구하게 되므로 상당히 내용이 어렵다.
하지만 꾸준히 포기하지 않고 시간을 들이 부으면 모든 문제는 해결될 것이다.근데 벌써부터 해석하기 어려운 파트가 있다 크흠… (등방성 마찰을 처리하는 부분)
댓글