# Interactive Cutting of Thin Deformable Objects

^{*}

## Abstract

**:**

## 1. Introduction

## 2. Related Works

#### 2.1. Simulation of Deformable Bodies

#### 2.2. Collision Handling for Thin Deformable Bodies

#### 2.3. Cutting for Deformable Objects

#### 2.3.1. Cutting of Conformal Mesh

#### 2.3.2. Cutting of Multi-Resolution Mesh

## 3. Research Hypothesis and Overview

- Cutting of collision mesh. The cutting blade is intersected with the collision mesh. The triangles are split along the path of the blade.
- Cutting of visual mesh. Based on the visual-collision binding, the visual mesh is cut in the rest configuration using local 2D coordinates. Then, the visual-collision binding is updated.
- Simulation mesh adapting to the cut. The branches of the collision mesh contained in the elements of the simulation mesh are analyzed. The elements are duplicated for each branch. The collision-simulation embedding is updated.
- Updating the visual-simulation embedding. According to the visual-collision binding, the visual-simulation embedding is updated.

## 4. Method

#### 4.1. Pre-Processing Phase

#### 4.1.1. Bind Visual Vertices to Collision Vertices

#### 4.1.2. Calculate Geodesic Paths between the Bound Visual Vertices

#### 4.1.3. Re-Meshing of the Visual Mesh

#### 4.1.4. Assigning Local Parameters to the Visual Vertices

#### 4.2. Simulation Phase

#### 4.2.1. Cutting the Collision Mesh and Updating the Collision-Simulation Embedding

#### 4.2.2. Cutting the Visual Mesh

#### 4.2.3. Updating the Visual-Collision Binding

#### 4.2.4. Handling the Cut Surface Mesh

#### 4.2.5. Updating the Visual-Simulation Embedding

## 5. Experimental Results

#### 5.1. Cutting of a Steak

#### 5.2. Cutting of a Thin Object

#### 5.3. Meniscus Lesion Handling in a Prototype Simulator

## 6. Conclusions

## Supplementary Materials

## Acknowledgments

## Author Contributions

## Conflicts of Interest

## References

- Spillmann, J.; Harders, M. Robust Interactive Collision Handling between Tools and Thin Volumetric Objects. IEEE Trans. Vis. Comput. Graph.
**2012**, 18, 1241–1254. [Google Scholar] [CrossRef] [PubMed] - Wu, J.; Westermann, R.; Dick, C. A Survey of Physically Based Simulation of Cuts in Deformable Bodies. Comput. Graph. Forum
**2015**, 18, 161–187. [Google Scholar] [CrossRef] - Terzopoulos, D.; Platt, J.; Barr, A.; Fleischer, K. Elastically deformable models. ACM Siggraph Comput. Graph.
**1987**, 21, 205–214. [Google Scholar] [CrossRef] - Maciej, K.; Hiroshi, N. Mass spring models with adjustable Poisson’s ratio. Vis. Comput.
**2017**, 33, 283–291. [Google Scholar] - Yeung, Y.H.; Crouch, J.; Pothen, A. Interactively Cutting and Constraining Vertices in Meshes Using Augmented Matrices. ACM Trans. Graph.
**2016**, 35, 1–17. [Google Scholar] [CrossRef] - Fihai, F.; Florica, M. Position based simulation of solids with accurate contact handling. Comput. Graph.
**2017**, 69, 12–23. [Google Scholar] - Berndt, I.; Torchelsen, R.; Maciel, A. Efficient Surgical Cutting with Position-Based Dynamics. IEEE Comput. Graph. Appl.
**2017**, 38, 24–31. [Google Scholar] [CrossRef] [PubMed] - Sifakis, E.; Barbic, J. FEM simulation of 3D deformable solids: A practitioner’s guide to theory, discretization and model reduction. In Proceedings of the ACM SIGGRAPH 2012 Courses, Los Angeles, CA, USA, 5–9 August 2012; ACM: New York, NY, USA, 2012; pp. 1–50. [Google Scholar]
- Teschner, M.; Kimmerle, S.; Heidelberger, B. Collision Detection for Deformable Objects. Comput. Graph. Forum
**2005**, 24, 61–81. [Google Scholar] [CrossRef] - Cotin, S.; Delingette, H.; Ayache, N. A hybrid elastic model for real-time cutting, deformations, and force feedback for surgery training and simulation. Vis. Comput.
**2000**, 16, 437–452. [Google Scholar] [CrossRef] - Courtecuisse, H.; Allard, J.; Kerfriden, P. Real-time simulation of contact and cutting of heterogeneous soft-tissues. Med. Image Anal.
**2014**, 18, 394–410. [Google Scholar] [CrossRef] [PubMed] - Bielser, D.; Maiwald, V.A.; Gross, M.H. Interactive Cuts through 3-Dimensional Soft Tissue. Comput. Graph. Forum
**1999**, 18, 31–38. [Google Scholar] [CrossRef] - Nienhuys, H.W.; Frank van der Stappen, A. A Surgery Simulation Supporting Cuts and Finite Element Deformation. In Proceedings of the International Conference on Medical Image Computing and Computer-Assisted Intervention—MICCAI 2001, Utrecht, The Netherlands, 14–17 October 2001; Niessen, W., Viergever, M., Eds.; Springer: Berlin/Heidelberg, Germany, 2001; pp. 145–152. [Google Scholar]
- Muller, M.; Gross, M. Interactive virtual materials. Proc. Graph. Interface
**2004**, 2004, 239–246. [Google Scholar] - Lindblad, A.; Turkiyyah, G. A physically-based framework for real-time haptic cutting and interaction with 3D continuum models. In Proceedings of the 2007 ACM Symposium on Solid and Physical Modeling, Beijing, China, 4–6 June 2007; ACM: Beijing, China, 2007; pp. 421–429. [Google Scholar]
- Lim, Y.J.; Jin, W.; De, S. On Some Recent Advances in Multimodal Surgery Simulation: A Hybrid Approach to Surgical Cutting and the Use of Video Images for Enhanced Realism. Presence
**2007**, 16, 563–583. [Google Scholar] [CrossRef] - Steiemann, D.; Harders, M.; Gross, M.; Szekely, G. Hybrid Cutting of Deformable Solids. In Proceedings of the Virtual Reality Conference, Alexandria, VA, USA, 25–29 March 2006; Volume 2006, pp. 35–42. [Google Scholar]
- Paulus, C.J.; Untereiner, L.; Courtecuisse, H.; Cotin, S. Virtual cutting of deformable objects based on efficient topological operations. Vis. Comput.
**2015**, 31, 831–841. [Google Scholar] [CrossRef] - Molno, N.; Bao, Z.; Fedkiw, R. A virtual node algorithm for changing mesh topology during simulation. ACM Trans. Graph.
**2004**, 23, 385–392. [Google Scholar] [CrossRef] - Sifakis, E.; Der, K.G.; Fedkiw, R. Arbitrary cutting of deformable tetrahedralized objects. In Proceedings of the 2007 ACM SIGGRAPH/Eurographics Symposium on Computer Animation, San Diego, CA, USA, 2–4 August 2007; Eurographics Association: San Diego, CA, USA, 2007; pp. 73–80. [Google Scholar]
- Jia, S.; Zhang, W.; Yu, X. CPU–GPU mixed implementation of virtual node method for real-time interactive cutting of deformable objects using OpenCL. Int. J. Comput. Assist. Radiol. Surg.
**2015**, 10, 1477–1491. [Google Scholar] [CrossRef] [PubMed] - Nesme, M.; Kry, P.G.; Jerábková, L.; Faure, F. Preserving topology and elasticity for embedded deformable models. ACM Trans. Graph.
**2009**, 28, 1–9. [Google Scholar] [CrossRef] - Jeřábková, L.; Bousquet, G.; Barbier, S.; Faure, F. Volumetric modeling and interactive cutting of deformable bodies. Prog. Biophys. Mol. Biol.
**2010**, 103, 217–224. [Google Scholar] [CrossRef] [PubMed] [Green Version] - Dick, C.; Georgii, J.; Westermann, R. A Hexahedral Multigrid Approach for Simulating Cuts in Deformable Objects. IEEE Trans. Vis. Comput. Graph.
**2011**, 17, 1663–1675. [Google Scholar] [CrossRef] [PubMed] - Wu, J.; Dick, C.; Westermann, R. Interactive High-Resolution Boundary Surfaces for Deformable Bodies with Changing Topology. In Proceedings of the Workshop on Virtual Reality Interaction and Physical Simulation, Lyon, France, 5–6 December 2011; The Eurographics Association: Lyon, France, 2011; pp. 29–38. [Google Scholar]
- Wu, J.; Dick, C.; Westermann, R. Efficient Collision Detection for Composite Finite Element Simulation of Cuts in Deformable Bodies. Vis. Comput.
**2013**, 29, 739–749. [Google Scholar] [CrossRef] - Jia, S.; Zhang, W.; Yu, X. CPU–GPU Parallel Framework for Real-Time Interactive Cutting of Adaptive Octree-Based Deformable Objects. Comput. Graph. Forum
**2017**, in press. [Google Scholar] [CrossRef] - Seiler, M.; Spillmann, J.; Harders, M. A Threefold Representation for the Adaptive Simulation of Embedded Deformable Objects in Contact. J. WSCG
**2010**, 18, 89–96. [Google Scholar] - Seiler, M.; Steinemann, D.; Spillmann, J.; Harders, M. Robust interactive cutting based on an adaptive octree simulation mesh. Vis. Comput.
**2011**, 27, 519–529. [Google Scholar] [CrossRef] - Seiler, M.; Spillmann, J.; Harders, M. Data-Driven Simulation of Detailed Surface Deformations for Surgery Training Simulators. IEEE Trans. Vis. Comput. Graph.
**2014**, 20, 1379–1391. [Google Scholar] [CrossRef] [PubMed] - Pan, J.; Yan, S.; Qin, H. Real-time dissection of organs via hybrid coupling of geometric metaballs and physics-centric mesh-free method. Vis. Comput.
**2016**, 32, 1–12. [Google Scholar] [CrossRef] - Manteaux, P.L.; Sun, W.L.; Faure, F. Interactive detailed cutting of thin sheets. In Proceedings of the 8th ACM SIGGRAPH Conference on Motion in Games, Paris, France, 16–18 November 2015; ACM: Paris, France, 2015; pp. 125–132. [Google Scholar] [Green Version]
- Faure, F.; Duriez, C.; Delingette, H.; Allard, J.; Gilles, B.; Marchesseau, S.; Talbot, H.; Courtecuisse, H.; Bousquet, G.; Peterlik, I.; et al. SOFA: A Multi-Model Framework for Interactive Physical Simulation. In Soft Tissue Biomechanical Modeling for Computer Assisted Surgery; Payan, Y., Ed.; Springer: Berlin/Heidelberg, Germany, 2012; pp. 283–321. [Google Scholar]
- Xin, S.Q.; Wang, G.J. Improving Chen and Han’s algorithm on the discrete geodesic problem. ACM Trans. Graph.
**2009**, 28, 104. [Google Scholar] [CrossRef] - Floater, M.S. Mean value coordinates. Comput. Aided Geom. Des.
**2003**, 20, 19–27. [Google Scholar] [CrossRef] - Schneider, P.J.; Eberly, D.H. Intersection In 2D. In Geometric Tools for Computer Graphics; Morgan Kaufmann: San Francisco, CA, USA, 2007; pp. 241–284. [Google Scholar]
- Yang, C.; Li, S.; Wang, L. Real-time physical deformation and cutting of heterogeneous objects via hybrid coupling of meshless approach and finite element method. Comput. Anim. Virtual Worlds
**2014**, 25, 423–435. [Google Scholar] [CrossRef] - Virtamed ArthroS. Available online: https://www.virtamed.com/en/medical-training-simulators/arthros/ (accessed on 17 November 2017).

**Figure 1.**Framework of the cutting simulation. (

**a**) three different meshes and their relations; (

**b**) an example of a steak model in wireframe mode. A low-resolution triangle mesh is used as a collision mesh (orange), a high-resolution triangle mesh is used for visualization (black), while a low-resolution hexahedral mesh is used as a simulation mesh. The hexahedra are visualized by different colors on their faces.

**Figure 2.**Visual vertices are bound to collision vertices. The visual mesh is black, while the orange one is the collision mesh. The red vertices are collision vertices, the blue vertices are visual vertices, and the green lines indicate their connections. Each collision vertex on the border is paired with one visual vertex. Each inside collision vertex is paired with two visual vertices: one is on the positive normal direction while another one is on the negative normal direction.

**Figure 3.**Geodesic paths are calculated between the visual vertices that are bound to collision vertices. (

**a**) the orange lines are the edges on the collision mesh, while blue lines are its relevant geodesic paths. The red points are the intersections between the geodesic paths and the visual mesh. The green arrows indicate the binding direction. Each collision edge is related with one or two geodesic paths; (

**b**) the geodesic paths for all the collision edges are visualized on top of the original visual mesh.

**Figure 4.**The visual triangles intersected by the geodesic paths are split. (

**a**) some of the visual triangles are intersected by the geodesic paths. The light blue lines are geodesic paths, while the red points are the intersections points between the geodesic paths and the visual edges; (

**b**) all the visual triangles intersected by the geodesic paths are split, and a new visual mesh is generated.

**Figure 5.**All the visual vertices are bound to the collision triangles. (

**a**) the orange triangle is the collision triangle, while the blue triangles are visual triangles. The arrows indicate the binding direction: green for the visual vertices bound to the collision vertices, blue for the visual vertices bound to the collision edges, and red for the visual vertices bound to the collision triangles; (

**b**) the calculation of the binding parameters for the visual vertices bound to the collision edges; (

**c**) visual vertex ${p}_{c}$ is bound to ${v}_{c}$ on the collision triangle.

**Figure 6.**The definition of local parameters for the visual vertices bound to collision edges. Visual vertex v is bound to collision edge (${v}_{1}$, ${v}_{2}$), its parameters in collision triangle (${v}_{1}$, ${v}_{6}$, ${v}_{2}$) and (${v}_{1}$, ${v}_{2}$, ${v}_{3}$) are different.

**Figure 7.**Local parameterization of the visual vertices. (

**a**) blue visual vertices are bound to the orange collision triangle, including the visual vertices on the positive and negative normal directions of this triangle. The green arrows indicate the binding direction; (

**b**) each visual vertex on the positive normal direction is parameterized. The parameterization is visualized by overlapping with the collision triangle; (

**c**) each visual vertex on the negative normal direction is parameterized.

**Figure 8.**The process of cutting the collision mesh. The hexahedra are illustrated in 2D as the quadrangles with black edges; the orange edges are the collision edges; the orange points are the collision vertices; the red points and lines are the cutting points and paths respectfully; the dark blue points are the visual vertices bound to the collision triangle. (

**a**) the mesh before cut; (

**b**) a triangle is cut by two intersection points and split into three triangles. Since the first hexahedron still has only one branch, the hexahedron remains unchanged; (

**c**) the second triangle is cut. The first hexahedron needs to be duplicated because it has two branches.

**Figure 9.**Duplication of the hexahedron. The red points and lines are the new added collision vertices and edges as the result of the cut. (

**a**) duplication of the hexahedron such that each copy has one branch of the collision vertices; (

**b**) each copy of the hexahedron is connected with its surrounding hexahedra according to the topology of the collision mesh; and (

**c**) snapshot of simulation of cutting the collision mesh.

**Figure 10.**The process of cutting the visual mesh. The dark blue points are the visual points; while the orange points are their parameters on the collision triangle in rest configuration. (

**a**) the visual vertices have already been bound to the collision triangle in the pre-processing phase. The green arrow shows the binding direction; (

**b**) the collision triangle is cut by the blade surface; (

**c**) the intersection points are calculated; (

**d**) new visual vertices are added according to the intersection points on the collision triangle. The green arrow shows the mapping direction; (

**e**) The visual triangles are re-meshed to adapt to the new visual vertices.

**Figure 11.**Calculation of the intersection points on the plane defined by the collision triangle in the rest configuration. The orange points are the parameters of the visual vertices, while the red points are the intersection points. (

**a**) the 2D coordinates are assigned for the visual vertices bound to the collision triangle that is cut; (

**b**) the cut points are transformed to the rest configuration and assigned 2D coordinates; (

**c**) the intersection points are calculated.

**Figure 12.**Generating the cut surface mesh. The dark blue points are the visual vertices; the orange triangle is the collision triangle; the green arrows show the binding directions; the red points are the cut surface vertices. (

**a**) before the generation, the positive and negative visual vertices are bound to the cut collision edge; (

**b**) up-sampling the positive and negative visual vertices and connecting these vertices to form a cut surface; (

**c**) different resolutions of cut surface can be generated by adding different resolutions of in-between visual vertices.

**Figure 13.**Cutting of the surface mesh. (

**a**) the orange triangle is the collision triangle, while the black dash line is the cut path on it. The red mesh is the cut surface mesh; (

**b**) the blue points are the new added vertices on the cut surface.

**Figure 14.**Collision meshes with different resolutions and the visual collision binding after pre-processing. (

**a**) the orange meshes are the collision meshes. From left to right, the resolution of collision is increased while the resolutions of visual and simulation meshes are fixed; (

**b**) the close-up view of visual collision binding for different collision meshes, respectively, after the pre-processing.

**Figure 15.**Cutting of a steak with different collision meshes. (

**a**) the visual mesh after cut; (

**b**) the collision mesh after cut. There are 85 vertices and 137 triangles for the collision mesh of this model; (

**c**) there are 50 vertices and 67 triangles for the collision mesh of this model.

**Figure 16.**The numbers of vertices and elements in six consecutive cuts. (

**a**) the number of vertices; (

**b**) the number of elements.

**Figure 18.**Simulation of cutting a thin sheet. (

**a**) the visual and simulation meshes before cutting; (

**b**) the visual and simulation meshes after cutting; (

**c**) the collision and simulation meshes after cutting; (

**d**) the visual, collision and simulation meshes after cutting.

**Figure 19.**The visual mesh overlapped with the collision mesh before and after cutting. From left to right, the resolution of the visual mesh is increased while the resolution of the collision mesh remains unchanged. (

**a**) the close-up view of the visual and collision bindings after the pre-processing; (

**b**) the collision mesh is overlapped with the visual mesh before cutting; (

**c**) the collision mesh is overlapped with the visual mesh after cutting.

**Figure 20.**All the four models are cut and collide with the same environments. From left to right, the resolution of the collision mesh is increased. (

**a**) visual meshes; (

**b**) collision meshes.

**Figure 21.**The simulation of punching out the torn parts of a meniscus. The left images are our simulations while the right ones are the snapshots from real surgical videos. (

**a**) the meniscus after several punches; (

**b**) the meniscus after several punches on some other area.

**Figure 22.**The meniscus model. (

**a**) the visual, collision and simulation meshes before cutting. The white wireframe mesh is the visual mesh, the orange mesh is the collision mesh, and the hexahedral mesh is the simulation mesh; (

**b**) the close-up view of the visual and collision bindings after the pre-processing. The red points and lines are the visual vertices and edges bound to the collision mesh respectfully. The blue lines show the links between the collision vertices and their paired visual vertices.

**Figure 23.**The cutting process of the meniscus. (

**a**) the visual mesh of meniscus after each punch; (

**b**) the relevant collision mesh of the meniscus. The blue lines are the cutting paths, while the red points are the intersection points between the cutting triangles of the scissor and the collision edges of the meniscus.

**Figure 24.**Contouring the edge of the meniscus. The red circle highlights the edge of the meniscus before and after contouring.

# | Collision Vertices | Collision Triangles | Preprocessing Time (s) | Per Collision Triangle after Preprocessing | |
---|---|---|---|---|---|

Visual Vertices | Visual Triangles | ||||

1 | 50 | 67 | 5.1 | 105 | 137 |

2 | 85 | 137 | 10.2 | 50 | 70 |

# | Per Cut Time (ms) | ||||
---|---|---|---|---|---|

Cut and Update Collision-Visual Binding | Update Collision-Simulation and Visual-Simulation Embedding | Add Surface Mesh | Total Cut Time | Simulation Time | |

1 | 2.5 | 15.3 | 3.7 | 17.6 | 2.5–3.5 |

2 | 2.4 | 5.8 | 3.2 | 9.4 | 2.6–3.8 |

# | Visual Vertices | Visual Triangles | Preprocessing Time (s) | Per Collision Triangle after Preprocessing | |
---|---|---|---|---|---|

Visual Vertices | Visual Triangles | ||||

1 | 881 | 1664 | 0.8 | 26 | 31 |

2 | 3425 | 6656 | 7.1 | 73 | 102 |

3 | 13505 | 26624 | 57.5 | 214 | 337 |

4 | 53633 | 106496 | 422.2 | 688 | 1193 |

# | Per Cut Time (ms) | |||
---|---|---|---|---|

Cut and Update Collision-Visual Binding | Update Collision-Simulation and Visual-Simulation Embedding | Total Cut Time | Simulation Time | |

1 | 0.9 | 9.1 | 10.5 | 2.5–3.5 |

2 | 1.9 | 12.3 | 14.6 | 2.7–3.6 |

3 | 3.7 | 17.9 | 21.9 | 3.9–5.2 |

4 | 10.9 | 38.6 | 49.9 | 7.2–8.5 |

# | Collision Vertices | Collision Triangles | Preprocessing Time (s) | Per Collision Triangle after Preprocessing | |
---|---|---|---|---|---|

Visual Vertices | Visual Triangles | ||||

1 | 65 | 104 | 6.9 | 73 | 102 |

2 | 280 | 500 | 35.1 | 25 | 29 |

3 | 796 | 1500 | 105.9 | 11 | 10 |

# | Per Cut Time (ms) | FPS | |||
---|---|---|---|---|---|

Total Cut Time | Simulation without Collision Time | Simulation with Collision Time | Without Collision Time | With Collision Time | |

1 | 13.6 | 5.1–7.0 | 12.0–15.1 | 141.1 | 68.1 |

2 | 12.8 | 6.5–7.8 | 21.2–24.5 | 134.2 | 39.7 |

3 | 11.9 | 7.1–8.5 | 44.1–47.3 | 112.0 | 21.7 |

4 | 9.8 | 12.1–14.5 | 130.6–134.2 | 86.3 | 7.5 |

© 2018 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).

## Share and Cite

**MDPI and ACS Style**

Weng, B.; Sourin, A.
Interactive Cutting of Thin Deformable Objects. *Symmetry* **2018**, *10*, 17.
https://doi.org/10.3390/sym10010017

**AMA Style**

Weng B, Sourin A.
Interactive Cutting of Thin Deformable Objects. *Symmetry*. 2018; 10(1):17.
https://doi.org/10.3390/sym10010017

**Chicago/Turabian Style**

Weng, Bin, and Alexei Sourin.
2018. "Interactive Cutting of Thin Deformable Objects" *Symmetry* 10, no. 1: 17.
https://doi.org/10.3390/sym10010017