works/old
Verlet Integration
Hwix
2009. 4. 16. 14:20
위치와 가속도만으로 물리 시뮬레이션을 해야할 때 유용. 게임에서 Cloth를 표현하기 위해서 구현해보았다.
Verlet 적분의 원리를 정리하면(참고:게임 & 인터랙티브 애플리케이션을 위한 수학)
y(t+h) + y(t-h) = y(t) + hy'(t) + h^2 / 2 y''(t) + ...
y(t) - hy'(t) + h^2 / 2 y''(t) - ...
y(t+h)에 대해 풀면
y(t+h) = 2y(t) - y(t-h) + h^2 y''(t) + O(h^4)
간격형식으로 다시 정리하면
y_(i+1) = 2y_i - y_(i-1) + h_i^2 y_i''
Cloth를 시뮬레이션 하는 방법은 Verlet 방법 이외에도 Particle과 Spring-Damper를 이용하는 방법이 있는데, Verlet 방법은 충돌반응을 신경쓰지 않고 충돌에 대해 위치만 제대로 잡아주면 되기 때문에 더 간단히 시뮬레이션 할 수 있다.
복잡한 Cloth 자체의 충돌처리는 게임에서는 하지않고 Cloth와 Cloth가 서로 겹쳐지지 않게 충돌박스나 구를 적절하게 배치하는 것이 중요하다.
참고: