Stable Real-Time Deformations - Korea...
Transcript of Stable Real-Time Deformations - Korea...
-
Stable Real-Time Deformations
Copyright of figures and other materials in the paper belongs original authors.
Presented by Yang,Daebong
2015.08.11
Computer Graphics @ Korea University
Matthias Muller et al.
Proceedings of the 2002 ACM SIGGRAPH / EurographicsSymposium on Computer Animation
-
Yang, Daebong | 2015. 08.11 | # 2Computer Graphics @ Korea University
Contents
• 2. Modeling Deformation
• Abstract & 1. Introduction
• 3. Stiffness Warping
• 4. Result
• 5. Conclusion
-
2. Modeling Deformation
-
Yang, Daebong | 2015. 08.11 | # 4Computer Graphics @ Korea University
• Deformation Modeling
𝑀 =𝑚1 ⋯ 0⋮ ⋱ ⋮0 ⋯ 𝑚𝑛
, C =𝐶1 ⋯ 0⋮ ⋱ ⋮0 ⋯ 𝐶𝑛
Internal force function F 𝐱 − x𝟎 = f𝑒𝑙𝑎𝑠𝑡𝑖𝑐 = [f1 f2 … f𝑛]𝑇
Deformed position x = [x1 x2 …x𝑛]𝑇
Original position x0 = [x01 x02 …x𝑛]𝑇
• n차 상미분 방정식 → n개의 1차 연립 상미분 방정식 → Integration (※ Explicit Euler or Implicit Euler method)
2. Modeling Deformation
2.1 Dynamic Deformation
※ n : # of vertex
-
Yang, Daebong | 2015. 08.11 | # 5Computer Graphics @ Korea University
• n차 상미분 방정식 → n개의 1차 연립 상미분 방정식 → Integration (※ Explicit Euler or Implicit Euler method)
2. Modeling Deformation
2.1 Dynamic Deformation (Integration)
Implicit Euler Method
Explicit Euler ( ※ un-stable, 추가적인 Constraint 필요)
-
Yang, Daebong | 2015. 08.11 | # 6Computer Graphics @ Korea University
• Elastic Force F 𝐱 − x𝟎 = f𝑒𝑙𝑎𝑠𝑡𝑖𝑐 = [f1 f2 … f𝑛]𝑇
• Non - Linear elastic force & Linear elastic force
2. Modeling Deformation
2.2 Non-Linear Elasticity, 2.3 Linear Elasticity
Green Strain tensor → F 𝐱 − x𝟎 : non-linear function
Infinitesimal Strain tensor → F 𝐱 − x𝟎 : linear function
※ 𝜖 : strain tensor, 𝜎 : strass tensor
1
2 𝑉 𝜖
𝑇𝜎 𝑑𝑉
-
Yang, Daebong | 2015. 08.11 | # 7Computer Graphics @ Korea University
• Strain measure ( ※ See Appendix A )
2. Modeling Deformation
2.2 Non-Linear Elasticity, 2.3 Linear Elasticity
𝜖𝑥𝑥
𝜖𝑦𝑦
𝜖𝑧𝑧
𝜖𝑥𝑦
𝜖𝑥𝑧
𝜖𝑦𝑧
𝜖𝑥𝑥
𝜖𝑦𝑦
𝜖𝑧𝑧
𝜖𝑥𝑦
𝜖𝑥𝑧
𝜖𝑦𝑧
Green Strain Tensor (Non-linear) Infinitesimal Strain Tensor (Linear)
-
Yang, Daebong | 2015. 08.11 | # 8Computer Graphics @ Korea University
• Non – Linear Elasticity
장점• Large Rotational Deformation이 일어 났을 경우에도 정확히 Simulation을 수행
단점
• Implicit Euler Method 적용 시, 매 Time step 마다 Stiffness Matrix(※K =𝝏𝑭
𝝏x )를 재계산 해주어야 함
• “Stiffness Matrix 계산 수행”은 Simulation Cost가 상당히 큼
• Linear Elasticity
장점• Implicit Euler Method 적용 시, Stiffness Matrix가 상수가 되므로, 최초 한번만 계산
• 따라서, Simulation Cost를 낮출 수 있고, Real-Time Simulation이 가능
단점• Rest Shape으로 부터 tension/compression 또는 Rigid body translate 의 경우에만
적절한 결과를 냄
• Large Rotation Deformation이 일어났을 경우, Artifact 발생
2. Modeling Deformation
2.2 Non-Linear Elasticity, 2.3 Linear Elasticity
Green Strain tensor
Infinitesimal Strain tensor
-
Yang, Daebong | 2015. 08.11 | # 9Computer Graphics @ Korea University
• Non – Linear Elasticity
장점• Large Rotational Deformation이 일어 났을 경우에도 정확히 Simulation을 수행
단점
• Implicit Euler Method 적용 시, 매 Time step 마다 Stiffness Matrix(※K =𝝏𝑭
𝝏x )를 재계산 해주어야 함
• “Stiffness Matrix 계산 수행”은 Simulation Cost가 상당히 큼
• Linear Elasticity
장점• Implicit Euler Method 적용 시, Stiffness Matrix가 상수가 되므로, 최초 한번만 계산
• 따라서, Simulation Cost를 낮출 수 있고, Real-Time Simulation이 가능
단점• Rest Shape으로 부터 tension/compression 또는 Rigid body translate 의 경우에만
적절한 결과를 냄
• Large Rotation Deformation이 일어났을 경우, Artifact 발생
2. Modeling Deformation
2.2 Non-Linear Elasticity, 2.3 Linear Elasticity
Green Strain tensor
Infinitesimal Strain tensor
-
Abstract, 1. Introduction
-
Yang, Daebong | 2015. 08.11 | # 11Computer Graphics @ Korea University
• The linear strain measure → fast and stable simulation
Large Rotational Deformation이 일어 났을 경우, Artifact 발생
• Artifact를 발생시키지 않기 위해, Non-linear strain measure 사용
Non-linear strain measure를 사용했을 경우, Simulation cost 높음
Non-linear system 을 풀기 위한 수치해석 기법 적용 시, 불안정한Simulation을 초래 할 수 있음
Abstract, 1. Introduction
Green bar : non-linear strainBlue bar : our approachRed bar : linear strain
-
Yang, Daebong | 2015. 08.11 | # 12Computer Graphics @ Korea University
Abstract, 1. Introduction (Contribution)
• Linear strain measure 를 사용하여, 상수 Stiffness Matrix 를 적용
Simulation Cost를 낮춤으로서 Real-Time이 가능하게 함
• Stiffness Warping
Linear Strain measure를 사용하고, Large Rotational Deformation이 발생 했을 경우의Artifact를 해결하는 기법 제안
- 𝑅𝑏 : Global Rigid body rotation matrix- 𝑅𝑖 : Local Rotation matrix
-
Yang, Daebong | 2015. 08.11 | # 13Computer Graphics @ Korea University
• Physically based models with rigid and deformable components
[ Terzopoulos et al / CGA 1988 ]
• Artdefo, accurate real time deformable objects
[ James and Pai / SIGGRAPH 99 ]
• Dynamic real-time deformations using space & time adaptive sampling
[ Debunne et al / SIGGRAPH 01 ]
1. Introduction
1.1 Related Work
Hybrid model = Rigid component + Deformable component
Single Rotation Matrix 사용
• 회전이 일어나지 않은 작은 부분도 회전행렬이 적용 됨
Linear Elasticity + Boundary Element Method
• Large rotational deformation 발생 시, Artifact 발생
Multi – Resolution hierarchy of tetrahedral mesh
변형이 일어 나는 부분만 고해상도 mesh를 사용하여 detail 과성능을 효율적으로 고려함
• 본 논문은 성능향상을 위해, 위 기법을 사용했음
-
3. Stiffness Warping
-
Yang, Daebong | 2015. 08.11 | # 15Computer Graphics @ Korea University
3. Stiffness Warping (Internal Force)
• 한 개의 tetrahedral element 의 elastic force
• Linear elasticity 의 경우, Rest Shape(= x0)에서 Deformed Shape (=x) 까지 변형 중tensile/compression 또는 Rigid body Translate만 일어난 경우에만 적절한 결과를얻을 수 있음
※𝝏𝑭
𝝏x= K ∈ R𝟏𝟐 𝒙 𝟏𝟐, f𝒆𝒍𝒂𝒔𝒕𝒊𝒄 ∈ R
𝟏𝟐 𝒙 𝟏, x ∈ R𝟏𝟐 𝒙 𝟏, x𝟎 ∈ R𝟏𝟐 𝒙 𝟏
z
x
y
f𝟎
f𝟑f2
f𝟏※
-
Yang, Daebong | 2015. 08.11 | # 16Computer Graphics @ Korea University
• 반면에, x0 에서 x 의 변형 중, 회전이 섞여 있다면 → Artifact 발생
• Rigid body Transformation 의 Rotation Matrix(=𝑹𝒙) 으로부터 𝑹𝒆 행렬 생성
3. Stiffness Warping (Rotation Matrix)
※ 𝑹𝒆 ∈ R𝟏𝟐 x 𝟏𝟐, 𝑹𝒙 ∈ R
𝟑 x 𝟑
𝑅𝑥−1x − x0
𝑅𝑥−1
Stiffness warping
※ 회전이 적용되지 않은 좌표계에서Internal force를 구함 으로 써, Artifact 제거
-
Yang, Daebong | 2015. 08.11 | # 17Computer Graphics @ Korea University
• 따라서, 각 vertex 𝑖 의 internal force f𝑖 는 다음 과 같다
• Sub-matrix 𝒌𝒊𝒋 ( 3𝑖 -2 ≤ 𝒗 ≤ 3𝑖 and 3j - 2 ≤ 𝑤 ≤ 3𝑗)
• 각 vertex의 internal force를 계산하기 위한 Global Stiffness Matrix 𝑲 의 부분 행렬
• 동일한 방법을 전체 메쉬에 적용
3. Stiffness Warping (Entire Mesh)
※ 𝑖 ∈ (1…4)
※ 𝑖 ∈ (1…𝑛)
-
Yang, Daebong | 2015. 08.11 | # 18Computer Graphics @ Korea University
• (Local) Rotation Tensor Field
• 각 Vertex의 전체 Mesh의 해당하는 Rotation Matrix(=𝑹𝒙)가 아닌, 지역적으로 적용된Rotation Matrix (𝑹𝒊) 를 적용하여, 좀 더 정확한 결과를 근사
3. Stiffness Warping
3.1 Rotation Tensor Field
𝑅𝑥𝑅𝑖
-
Yang, Daebong | 2015. 08.11 | # 19Computer Graphics @ Korea University
1. 주어진 vector 집합 {𝑢𝑖} , {𝑣𝑖} 으로부터, 행렬 𝑭 ∈ R𝟑 𝒙 𝟑 는 다음과 같다
2. 𝑭 에 SVD(Singular value decomposition),를 적용하면 𝑭 = 𝑼𝑺𝑽𝑻 이고, 따라서 각 Vertex에 대응하는 Rotation Matrix는 다음과 같다
3. Stiffness Warping
3.1 Rotation Tensor Field (Cont)
• Lasenby et al [ New geometric methods for computer vision / Comp. Vision 98]이제안한 기법 사용
p4p1 u4
u2u3
u1
p2p3
p0
Rest Shape
v4
v2v3
v1p’4p’1
p’2p’3
p’0
Deformed Shape
※ 𝑛1, 𝑛2, 𝑛3 is orthonormal based vector of R𝟑
(직교 좌표계에서 𝑛1 = 𝑒1, 𝑛2 = 𝑒2, 𝑛3 = 𝑒3 )
-
Yang, Daebong | 2015. 08.11 | # 20Computer Graphics @ Korea University
3. Stiffness Warping
3.1 Rotation Tensor Field (A simpler and faster technique)
• 본 논문이 제안하는 좀 더 간단하고 빠른 방법
• 𝑛1 : Vertex에 연결 된 임의의 Edge중 3개를 선택하여 평균
𝑛1 =1
3𝑒1+𝑒2+𝑒3
1
3𝑒1+𝑒2+𝑒3
• 𝑛2 : 𝑛1 과 선택된 Edge 중 한 개와 외적
𝑛2 = 𝑐𝑟𝑜𝑠𝑠(𝑛1 , 𝑒)
• 𝑛3 : 𝑛1 과 𝑛2 의 외적
𝑛3 = 𝑐𝑟𝑜𝑠𝑠(𝑛1 , 𝑛2)
• 동일한 절차를 Deformed Shape에서 적용한 후
단, Deformed Shape에서 선택 될 Edge들은 Rest Shape에서 선택된 Edge와 동일한위상정보를 가진 Edge들이 선택되어야 함
-
Yang, Daebong | 2015. 08.11 | # 21Computer Graphics @ Korea University
3. Stiffness Warping
3.2 The Algorithm
-
4. Result
-
Yang, Daebong | 2015. 08.11 | # 23Computer Graphics @ Korea University
4. Result
4.1 The Bars
• Rectangular bar : 450 tetrahedral elements (4 x 4 x 11 vertices)
Elastic modulus E : 105 N/m2 , Poisson ratio ν : 0.33
• The time to compute on time step
Linear case : 5ms
Stiffness warping case : 6ms
Non-linear case : 12ms
-
Yang, Daebong | 2015. 08.11 | # 24Computer Graphics @ Korea University
4. Result
4.1 The Bars (Experiment Result)
• Linear Model의 경우 Volume 이 증가하는 Artifact를 보여줌
• Non-Linear model과 본 논문의 기법이 적용 된 경우, Volume이 정확히 유지 되는 것을 알 수있음
• 위 표는 본 논문의 기법이 Linear Model만큼 빠르고, Volume Conservation에 있어, Non-Linear Model 만큼 정확하다는 것을 보여줌
-
Yang, Daebong | 2015. 08.11 | # 25Computer Graphics @ Korea University
4. Result
4.2 A Simple Tube
• The tube : 1,000 tetrahedral element (50cm x 13cm in size)
Density ρ : 1 g/ cm3 , Poisson ratio ν : 0.33
• 충돌이 일어난 경우, time step 값 에 따라 Simulation이 unstable 할 가능성이 있음
Time step 값은 stiffness (Young’s Modulus E)에 영향을 받음
-
Yang, Daebong | 2015. 08.11 | # 26Computer Graphics @ Korea University
4. Result
4.3 The Bunny, 4.4 The Great Dane
-
Yang, Daebong | 2015. 08.11 | # 27Computer Graphics @ Korea University
결과 영상
-
5. Conclusion
-
Yang, Daebong | 2015. 08.11 | # 29Computer Graphics @ Korea University
5. Conclusion
• Linear Strain Measure 를 적용했음에도 불구하고, Large Rotational Deformations 이발생하여도, 안정적이고, 빠른 시뮬레이션을 수행할 수 있는 기법 제안
• 본 논문의 Deformable Body Simulation 를 근간으로, Fracture Simulation 적용을Future Work로 남김
Fracture 발생 시, Stiffness Matrix의 전체를 업데이트 하는 것이 아니라, 일부분만업데이트 하므로, 성능 하락에 크게 영향을 안 미칠 것이라고 기대
Interactive Virtual Materials
• [Matthias Muller et al / GI '04 Proceedings of Graphics Interface 2004 ]
-
Appendix A
-
Yang, Daebong | 2015. 08.11 | # 31Computer Graphics @ Korea University
2D Element Stiffness Matrix 𝒌𝒆(using Minimum Potential Energy Principle)
𝑥
𝑦
• Internal force & displacement Relationship
f𝒆𝒍𝒂𝒔𝒕𝒊𝒄 𝟔 𝒙 𝟏 = 𝒌𝒆𝟔 𝒙 𝟔 𝒖 𝟔 𝒙 𝟏 (※ 𝒖 = x − x𝟎)
f𝒆𝒍𝒂𝒔𝒕𝒊𝒄 𝟐𝒏 𝒙 𝟏 = 𝑲 𝟐𝒏 𝒙 𝟐𝒏 𝒖 𝟐𝒏 𝒙 𝟏 (※ 𝒖 = x − x𝟎)
-
Yang, Daebong | 2015. 08.11 | # 32Computer Graphics @ Korea University
Displacement field {u}
f1x
f1y
f2x
f2y
f3x
f3y
{𝒖} =𝑢(𝑥, 𝑦)𝑣(𝑥, 𝑦) 𝒖𝟐 =
𝑢(𝑥3, 𝑦3)𝑣(𝑥3, 𝑦3)
𝒖𝟑 =𝑢(𝑥3, 𝑦3)𝑣(𝑥3, 𝑦3)
𝒖𝟏 =𝑢(𝑥1, 𝑦1)𝑣(𝑥2, 𝑦2)
-
Yang, Daebong | 2015. 08.11 | # 33Computer Graphics @ Korea University
Linear shape function
• 요소 내부 임의의 한 점에서의 변위
※ linear shape function
※
-
Yang, Daebong | 2015. 08.11 | # 34Computer Graphics @ Korea University
Linear shape function (cont)
-
Yang, Daebong | 2015. 08.11 | # 35Computer Graphics @ Korea University
Linear shape function (cont)
-
Yang, Daebong | 2015. 08.11 | # 36Computer Graphics @ Korea University
Displacement field {u}
-
Yang, Daebong | 2015. 08.11 | # 37Computer Graphics @ Korea University
Displacement field {u}
{𝒖} =𝑢(𝑥, 𝑦)𝑣(𝑥, 𝑦)
-
Yang, Daebong | 2015. 08.11 | # 38Computer Graphics @ Korea University
Strain – Displacement relationship
-
Yang, Daebong | 2015. 08.11 | # 39Computer Graphics @ Korea University
Minimum Potential Energy Principle
• Total potential energy
-
Yang, Daebong | 2015. 08.11 | # 40Computer Graphics @ Korea University
Minimum Potential Energy Principle
• Total potential energy
-
Yang, Daebong | 2015. 08.11 | # 41Computer Graphics @ Korea University
2D Element Stiffness Matrix 𝒌𝒆
• Minimum Potential Energy Principle