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 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 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 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 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 is bound to on the collision triangle.
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 is bound to 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 (, ), its parameters in collision triangle (, , ) and (, , ) are different.
Figure 6.
The definition of local parameters for the visual vertices bound to collision edges. Visual vertex v is bound to collision edge (, ), its parameters in collision triangle (, , ) and (, , ) 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 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 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 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 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 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 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 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 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 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 16.
The numbers of vertices and elements in six consecutive cuts. (a) the number of vertices; (b) the number of elements.
Figure 17.
Comparison of the number of collision vertices and triangles in our method with the best scenario, which could be found in [
31,
37]. Data is displayed in logarithmic scale of 10.
Figure 17.
Comparison of the number of collision vertices and triangles in our method with the best scenario, which could be found in [
31,
37]. Data is displayed in logarithmic scale of 10.
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 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 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 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 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 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 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.
Figure 24.
Contouring the edge of the meniscus. The red circle highlights the edge of the meniscus before and after contouring.
Table 1.
Performance of the pre-process phase of cutting a steak.
Table 1.
Performance of the pre-process phase of cutting a steak.
# | 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 |
Table 2.
Performance of the simulation phase of cutting a steak.
Table 2.
Performance of the simulation phase of cutting a steak.
# | 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 |
Table 3.
Performance of the pre-processing phase in the first experiment of cutting a thin sheet.
Table 3.
Performance of the pre-processing phase in the first experiment of cutting a thin sheet.
# | 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 |
Table 4.
Performance of the simulation phase in the first experiment of cutting a thin sheet.
Table 4.
Performance of the simulation phase in the first experiment of cutting a thin sheet.
# | 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 |
Table 5.
Performance of the pre-processing phase in the second experiment of cutting a thin sheet.
Table 5.
Performance of the pre-processing phase in the second experiment of cutting a thin sheet.
# | 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 |
Table 6.
Performance of the simulation phase in the second experiment of cutting a thin sheet.
Table 6.
Performance of the simulation phase in the second experiment of cutting a thin sheet.
# | 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 |