논문 리뷰/Position Based Dynamics

[Position Based Dynamics] 3.3. Constraint Projection (3)

남하욱 2024. 4. 9. 17:28

type handling

type handling은 constraint type 두 경우에 대해서 다음과 같이 한다

  1. type이 equality : 항상 projection 진행
  2. type이 inequality : C(p1, p2, ... , pn) < 0 에만 projection 진행

 

※ constraint type

  • equality : constraint function이 0을 만족해야 함
  • inequality : constraint function이 0보다 크거나 같아야 함

stiffness parameter k handling

물체의 stiffness k k ∈ [0 ... 1] 을 만족한다.

가장 쉬운 방법은 앞서 구한 Δp에 k를 곱하여 인위적으로 projection을 만족하지 않게 하는 것으로 물체가 쉽게 늘어나게 한다. 하지만, 이 방법은 k의 영향이 non-linear 하기 때문에 문제가 있다.(iteration 하면서 나오는 문제가 non-linear)

 

대수학적 trick을 이용해서 다음과 같은 k'를 이용하여 k에 linear dependent하게 하고, n_s에 독립적이게 한다.

 

그러나, 여전히 stiffness는 time step에 dependent하다는 문제가 있다. 그래서, Real time 환경에서는 일반적으로 이 dependency가 문제가 되지 않는 고정된 time step을 사용한다.