논문 리뷰/Position Based Dynamics

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

남하욱 2024. 4. 11. 17:53

이전글 [Position Based Dynamics] 3.3. Constraint Projection (1)에서 설명한 constraint projection 식을 다음과 같은 예제에 적용하여 particle의 position을 update하는 방법을 설명하려고 한다.

 

예제의 조건들은 다음과 같다.

  • 이 예제는 distance constraint 하나만 고려한다.
  • point는 p1, p2 두 개만 고려한다.
  • 일반적인 상황으로, 두 point의 mass가 다르다.
  • constraint function 식은 다음과 같다 (p1, p2 사이의 거리가 d를 만족하도록 함)

 

 

이때, ∇C은 p1,p2 각각에 대해서 다음과 같다. 이는 두 point를 잇는 단위 벡터이다.

 

또한, mass가 다르므로 weighting을 하여 scaling factor s와 최종 △p를 구해야 한다.

 

scaling factor s

s의 식은 원래 다음과 같다.

 

이 예제의 값들로 대입하면 s는 다음과 같다.

 

최종 △p

△p의 식은 원래 다음과 같다

 

앞서 구한 scaling factor s와 이 예제의 값들로 대입하면 △p1, △p2 각각은 다음과 같다.