우리의 설명은 불가피하게 압축적이었습니다. 진짜 물리학 전문가가 이 설명을 보고 느낄 비웃음을 생각하면 몸이 움츠러듭니다. 컴퓨터 시뮬레이션을 진지하게 공부하려는 학생이라면 여기서 제공한 것보다 더 탄탄한 물리학 배경이 필요하다는 점은 분명합니다. 역학의 기초는 보통 전통적인 물리학 강좌의 첫 학기에 다루며, 좋은 교과서가 많습니다.
이 책을 준비하면서 우리는 매우 저렴하다는 뚜렷한 장점이 있는 Resnick과 Halliday의 오랫동안 인정받아 온 교과서 [57], 그리고 Knight의 교과서 [38]를 참고했습니다. 이런 내용은 수업 시연 없이 배워서는 안 됩니다. 혼자 공부하는 학생이나 수업에서 시연을 충분히 접하지 못한 학생도 시연을 놓칠 필요는 없습니다.
온라인에서 많은 시연을 찾을 수 있기 때문입니다. 원서 저자들은 MIT OpenCourseWare의 ocw.mit.edu에서 제공하는 Walter Lewin 교수의 강의를 추천합니다.
비디오 게임의 필요에 맞춘 물리 시뮬레이션을 설명하는 책 세 권도 추천합니다. Bourg의 『Physics for Game Developers』 [8]는 입문서로, 기초를 잘 다루며 여러 종류의 차량 시뮬레이션에 다양한 힘 법칙을 적용하는 독특한 설명이 있습니다. 『Physics-Based Animation』 [19]에는 강체와 연속체 시뮬레이션 모두에 관한 풍부한 정보와 여러 다물체 시뮬레이션 접근법의 개관이 있습니다.
여기서 우리가 간략한 설명만 하고 넘어간 부분을 채우기에 가장 좋은 책입니다. Eberly의 『Game Physics』 [17]는 게임 물리 엔진을 조금 더 학술적이고 수학적인 관점에서 다룹니다. 수치 적분 기법에 관한 좋은 설명과 라그랑주 동역학의 잠재적 이점—원문 집필 당시에는 실현되지 않은—을 다루는 독특한 절이 있습니다.
Bourg의 책에는 이 책에서 다룬 미적분이면 충분하지만, 나머지 더 발전된 두 책을 읽기 전에는 미분방정식을 접해 보기를 권합니다.
실시간 물리 시뮬레이션을 배우는 또 다른 좋은 방법은 실제 코드를 공부하는 것입니다. 상용 게임에 사용되었고 설계와 문서가 좋은 두 오픈소스 물리 엔진은 이 책을 쓰는 데 영향을 주었으므로 언급할 가치가 있습니다. Russell Smith의 Open Dynamics Engine [65]는 http://ode.org/ 에서 찾을 수 있습니다.
원문 집필 당시의 설명으로는 조금 오래되었고 활발히 개발되지는 않았지만, 업계에 영향을 주었으며 유용한 자료입니다. 여러 업계 전문가가 협력한 더 새로운 엔진 Bullet Physics는 http://bulletphysics.org/ 에서 찾을 수 있습니다. 원문 집필 당시 활발히 유지보수되었고 많은 게임뿐 아니라 몇몇 드림웍스 영화에도 쓰였습니다.
엔진과 웹사이트 모두 유용한 자료입니다.
충돌 검출은 코드 줄 수와 CPU 시간 모두에서 물리 엔진의 큰 부분을 차지합니다. 안타깝게도 충돌 검출을 ‘조금만’ 설명하기는 어려우며 이 책에서는 충분히 설명할 공간이 없었습니다. 첫 번째 추천은 Ericson의 『Real-Time Collision Detection』 [18]이며, van den Bergen의 책 [70]도 유용합니다.
Eberly의 물리 엔진 책 [17]과 게임용 기하학 도구 책 [59]에도 상당한 충돌 검출 내용이 있습니다.
컴퓨터 시뮬레이션에서 생기는 수학 문제 중 상당수는 넓은 의미의 과학 계산(scientific computing) 에 속합니다. 같은 기본 분야를 예전에는 ‘응용수학’이나 ‘수치해석’이라고 불렀습니다. 『Numerical Recipes in C』 [56]는 명확한 설명과 방대한 소스코드 도구 모음을 갖춘 공학자를 위한 고전입니다.
좋은 교과서도 여럿 있으며 Heath의 『Scientific Computing』 [32]를 추천할 수 있습니다. Strang의 교과서 [67]는 전체 강좌의 대응 강의를 MIT OpenCourseWare의 ocw.mit.edu에서 무료로 볼 수 있다는 매력적인 특징이 있습니다.
원문 표현과 구현 조건
원문의 시기별 소프트웨어 상태, 서적 가격, 강의 공개 상태, 우주정거장 고도는 그 책의 설명 또는 문제 조건입니다. 이 번역은 그 문장들을 보존하며 최신 현황으로 갱신한 자료는 아닙니다.




