#시뮬레이션
-
나비에-스토크스 방정식이 뭐길래
OpenAI가 유체 역학에서 유명한 나비에-스토크스 방정식의 난제에 대한 해법을 구했다고 발표했다. 나비에-스토크스 방정식과 그 난제가 어떤 것인지 알아보고 방정식을 활용한 유체 시뮬레이션을 구현해봤다.

-
사고도 없는데 왜 막히지? 교통 정체를 시뮬레이션해보자
운전하다 보면 다양한 정체 상황을 보게 된다. 그런데 두 가지 상황은 의문이 들었다. 왜 오르막이나 터널 앞에서 정체가 될까? 또 합류 도로에서 느려지는 건 당연하지만 80킬로로 달리다 10킬로까지 느려지는 게 맞나? 오르막과 합류 도로에서 어떻게 큰 정체가 발생하는지 시뮬레이션을 만들어봤다.
-
비올 때 걸을까? 뛸까?
장마철이라 비가 오락가락한다. 어렸을 때부터 헷갈리던 것 중 하나는 비올 때 우산이 없는 경우 걸어야 비를 덜 맞는지 뛰어야 덜 맞는지 하는 것이었다. 뛰면 앞에 있는 비를 미리 가서 더 맞는 거 같기 때문이다. 내 경우 이 궁금증이 해결된 것은 대학 때이다. 벡터를 가지고 유량이 유입되는 양에 대한 계산을 하고서야 정확히 어떤 게 유리한지 알 수 있었다.그런데 이것을 수치 계산이 아니라 21세기의 컴퓨터 기술을 활용해 시각적으로 보이면 좋지 않을까 생각이 들었다. 그래서 한번 만들어봤다. 비 맞기 시뮬레이션!

-
Verlet 시뮬레이션 예시
지난 번에 Verlet 적산법 개념 설명에 이어 시뮬레이션 예시를 만들어봤다. 중력가속도만 적용되는 단순한 상황인 경우만 놓고 보니 아주 자연스러운 애니메이션이 만들어졌다. 또한 혼자서만 움직이는 게 아니라 입자를 마우스로 잡아 움직일 수 있게, 즉 인터랙티브하게 만들어봤다. 아래 예시는 IE9 이상 및 기타 최신 브라우저에서 볼 수 있다.
-
물리 시뮬레이션을 위한 Verlet 적산법
Verlet 적산법(integration, 계속해서 상태 변화가 있고 그 값을 누적해 더한다는 말)은 Wikipedia 글의 첫 줄에 밝힌 것처럼 뉴턴(Newton)의 운동 방정식을 적산하기 위한 수치 해석법이다. 이미 18세기부터 사용되었지만 1960년대에 프랑스 사람인 Verlet가 분자 운동학에서 많이 사용했다 해서 Verlet 적산법이라고 많이 부른다. (Verlet의 발음은 프랑스어라 익숙치 않지만 [vɛʁˈlɛ], 즉 베흘레와 유사한 것 같다. 외래어 표기법상으로는 베를레가 맞을 것 같다.)이미 HTML5가 나오면서 canvas에서 애니메이션 등 다양한 그림 기법이 시도됐는데 최근에는 천이 찢어지는 애니메이션, 거미줄의 흔들림 등 물리적 운동 효과를 canvas에서 보이고 있다. 세상에나! JavaScript(자바스크립트)로 물리 운동을 시뮬레이션하다니!

