이전글 [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 각각은 다음과 같다.
'논문 리뷰 > Position Based Dynamics' 카테고리의 다른 글
[Position Based Dynamics] 3.4. Collision Detection and Response (1) | 2024.04.14 |
---|---|
[Position Based Dynamics] 3.3. Constraint Projection (3) (0) | 2024.04.09 |
[Position Based Dynamics] 3.3. Constraint Projection (1) (0) | 2024.04.02 |
[Position Based Dynamics] 3.2. The Solver (0) | 2024.03.19 |
[Position Based Dynamics] 3.1. Algorithm Overview (0) | 2024.03.10 |