Stable Real-Time Deformations - Korea...

41
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 / Eurographics Symposium on Computer Animation

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