Abstract
Many scientific and engineering problems involve interconnected surfaces meeting at junctions. For example, understanding the dynamics of a soap bubble foam can require modelling the fluid mechanics of liquid inside an intricate network of thin-film membranes. If a mesh of these surfaces is needed, the use of standard meshing algorithms often leads to voids, overlapping elements, or other artefacts near the junctions. Here, we present an algorithm to generate high-quality triangulated meshes of a set of interconnected surfaces with high surface accuracy. By capitalising on mathematical aspects of a geometric construction known as the “Voronoi interface”, the algorithm first creates a topologically consistent mesh automatically, without making heuristic or complex decisions about surface topology. In particular, elements that meet at a junction do so by sharing a common edge, leading to simplifications in finite element calculations. In the second stage of the algorithm, mesh quality is improved by applying a short sequence of force-based smoothing, projection, and edge-flipping steps. Efficiency is further enhanced by using a locally adaptive time stepping scheme that prevents inversion of mesh elements, and we also comment on how the algorithm can be parallelised. Results are shown using a variety of examples arising from multiphase curvature flow, geometrically defined objects, surface reconstruction from volumetric point clouds, and a simulation of the multiscale dynamics of a cluster of soap bubbles. In this last example, generating high-quality meshes of evolving interconnected surfaces is crucial in determining thin-film liquid dynamics via finite element methods.











Similar content being viewed by others
Notes
For simplicity, in the following, interfaces are assumed to contain no holes. However, holes could be made by creating additional phases in the multiphase system whose purposes are to implement void regions, by using additional ϕ i functions. In a simple implementation, the meshing algorithm may then proceed unaltered and any surface meshes of the void phases may be ignored or discarded upon completion. Alternatively, to improve efficiency, one could make minor modifications to the algorithm such that surface elements of void phases are never created.
Note that ϕ i − ϕ j is a continuous piecewise linear function defined on \(\Upomega\), and so its zero level set must necessarily be piecewise planar. In particular, because ϕ i − ϕ j is linear on each tetrahedron, it follows that its zero level set in each tetrahedron, if it exists, is either a triangle or a planar quadrilateral.
With mild assumptions on the functions ϕ i , it is possible to show that the vertex snapping procedure guarantees that if two vertices on a surface are within a distance \(\epsilon\) from each other, such that \(\epsilon \ll h\) (where h is the tetrahedron length), then they are in fact the same vertex. In this work, a tolerance of \(\epsilon = 10^{-14}\) was used (corresponding to double precision and unit-length domains). Extensive tests analysing separation distance of vertices found that this tolerance correctly uniquified vertices in all cases.
The scaling factor of 1.2 was determined empirically, and is the same as that used in [29]. It forces mesh vertices to spread apart across the whole surface and leads to a smoothing behaviour that performs consistently well.
In the projection step, the original, unperturbed functions ϕ i are used, i.e. they have not been altered by the vertex snapping procedure used in creating the initial mesh.
References
Saye RI, Sethian JA (2013) Multiscale modeling of membrane rearrangement, drainage, and rupture in evolving foams. Science 340(6133):720–724. doi:10.1126/science.1230623
Saye RI, Sethian JA (2011) The Voronoi Implicit Interface Method for computing multiphase physics. Proceedings of the National Academy of Sciences 108(49):19,498–19,503. doi:10.1073/pnas.1111557108
Osher S, Sethian JA (1988) Fronts propagating with curvature-dependent speed: Algorithms based on Hamilton-Jacobi formulations. Journal of Computational Physics 79(1):12–49. doi:10.1016/0021-9991(88)90002-2
Saye RI, Sethian JA (2012) Analysis and applications of the Voronoi Implicit Interface Method. Journal of Computational Physics 231(18):6051–6085. doi:10.1016/j.jcp.2012.04.004
Lorensen WE, Cline HE (1987) Marching cubes: A high resolution 3d surface construction algorithm. Computer Graphics 21(4):163–169. doi:10.1145/37402.37422
Guéziec A, Hummel R (1995) Exploiting triangulated surface extraction using tetrahedral decomposition. IEEE Trans Visual Comput Graph 1(4):328–342. doi:10.1109/2945.485620
Payne BA, Toga AW (1990) Surface mapping brain function on 3d models. IEEE Comput Graph Appl 10(5):33–41. doi:10.1109/38.59034
Chan SL, Purisima EO (1998) A new tetrahedral tesselation scheme for isosurface generation. Computers and Graphics 22(1):83–90. doi:10.1016/S0097-8493(97)00085-X
Bloomenthal J, Ferguson K (1995) Polygonization of non-manifold implicit surfaces. In: proceedings of the 22nd annual conference on computer graphics and interactive techniques, SIGGRAPH ’95, pp. 309–316. ACM. doi:10.1145/218380.218462
Suzuki H, Fujimori T, Michikawa T, Miwata Y, Sadaoka N (2007) Skeleton surface generation from volumetric models of thin plate structures for industrial applications. In: Martin R, Sabin M, Winkler J (eds.) Mathematics of Surfaces XII, lecture notes in computer science 4647:442–464. Springer Berlin Heidelberg. doi:10.1007/978-3-540-73843-5_27
Shammaa MH, Suzuki H, Ohtake Y (2008) Extraction of isosurfaces from multi-material CT volumetric data of mechanical parts. In: Proceedings of the 2008 ACM symposium on solid and physical modeling, pp. 213–220. ACM. doi:10.1145/1364901.1364931
Hege HC, Seebass M, Stalling D, Zöckler M (1997) A generalized marching cubes algorithm based on non-binary classifications. Tech. rep., Konrad-Zuse-Zentrum für Informationstechnik Berlin
Yamazaki S, Kase K, Ikeuchi K (2002) Non-manifold implicit surfaces based on discontinuous implicitization and polygonization. In: proceedings of geometric modeling and processing 2002, pp. 138–146. doi:10.1109/GMAP.2002.1027505
Pons JP, Ségonne F, Boissonnat JD, Rineau L, Yvinec M, Keriven R (2007) High-quality consistent meshing of multi-label datasets. In: Karssemeijer N, Lelieveldt B (eds.) Information Processing in Medical Imaging, IPMI’07, pp. 198–210. Springer Berlin Heidelberg. doi:10.1007/978-3-540-73273-0_17
Dey TK, Janoos F, Levine JA (2012) Meshing interfaces of multi-label data with Delaunay refinement. Eng Comput 28:71–82. doi:10.1007/s00366-011-0217-y
Boltcheva D, Yvinec M, Boissonnat JD (2009) Mesh generation from 3d multi-material images. In: Medical Image Computing and Computer-Assisted Intervention, MICCAI ’09, pp. 283–290. Springer-Verlag. doi:10.1007/978-3-642-04271-3_35
Shimada K, Gossard DC (1995) Bubble mesh: automated triangular meshing of non-manifold geometry by sphere packing. In: Proceedings of the third ACM symposium on solid modeling and applications, SMA ’95, pp. 409–419. ACM. doi:10.1145/218013.218095
Meyer M, Whitaker R, Kirby RM, Ledergerber C, Pfister H (2008) Particle-based sampling and meshing of surfaces in multimaterial volumes. IEEE Trans Visual Comput Graph 14(6):1539–1546. doi:10.1109/TVCG.2008.154
Bronson JR, Levine JA, Whitaker RT (2013) Lattice cleaving: Conforming tetrahedral meshes of multimaterial domains with bounded quality. In: Jiao X, Weill JC (eds.) Proceedings of the 21st International Meshing Roundtable, pp. 191–209. Springer Berlin Heidelberg. doi:10.1007/978-3-642-33573-0_12
Labelle F, Shewchuk JR (2007) Isosurface stuffing: Fast tetrahedral meshes with good dihedral angles. In: ACM SIGGRAPH 2007 papers, SIGGRAPH ’07, vol.~26. ACM, New York doi:10.1145/1275808.1276448
Chernikov AN, Chrisochoides NP (2011) Multitissue tetrahedral image-to-mesh conversion with guaranteed quality and fidelity. SIAM J Sci Comput 33(6):3491–3508. doi:10.1137/100815256
Reitinger B, Bornik E, Beichel R (2005) Constructing smooth non-manifold meshes of multi-labeled volumetric datasets. In: Proceedings of WSCG 2005, pp. 227–234. UNION Agency Science Press
Zhang Y, Qian J (2012) Resolving topology ambiguity for multiple-material domains. Comput Method Appl Mech Eng 247:166–178. doi:10.1016/j.cma.2012.07.022
Zhang Y, Hughes TJR, Bajaj CL (2008) Automatic 3d mesh generation for a domain with multiple materials. In: M.L. Brewer, D.Marcum (eds.) Proceedings of the 16th International Meshing Roundtable, pp. 367–386. Springer Berlin Heidelberg. doi:10.1007/978-3-540-75103-8_21
Liu Y, Foteinos P, Chernikov A, Chrisochoides N (2010) Multi-tissue mesh generation for brain images. In: Shontz S (ed.) Proceedings of the 19th International Meshing Roundtable, pp. 367–384. Springer Berlin Heidelberg. doi:10.1007/978-3-642-15414-0_22
Bloomfield MO, Richards DF, Cale TS (2005) The use of conformal voxels for consistent extractions from multiple level-set fields. In: Sunderam VS, van Albada GD, Sloot PA, Dongarra J (eds.) Computational Science - ICCS 2005, Lecture Notes in Computer Science, Vol. 3516, pp. 49–56. Springer Berlin Heidelberg. doi:10.1007/11428862_7
d’Otreppe V, Boman R, Ponthot JP (2012) Generating smooth surface meshes from multi-region medical images. Int J Numerical Methods Biomed Eng 28(6-7):642–660. doi:10.1002/cnm.1471
Anderson JC, Garth C, Duchaineau MA, Joy KI (2010) Smooth, volume-accurate material interface reconstruction. IEEE Trans Visual Comput Graph 16(5):802–814. doi:10.1109/TVCG.2010.17
Persson PO, Strang G (2004) A simple mesh generator in Matlab. SIAM Rev 46(2):329–345. doi:10.1137/S0036144503429121
Sethian JA (1996) A fast marching level set method for monotonically advancing fronts. Proceedings of the National Academy of Sciences 93:1591–1595. doi:10.1073/pnas.93.4.1591
Chopp DL (2001) Some improvements of the Fast Marching Method. SIAM J Sci Comput 23(1):230–244. doi:10.1137/S106482750037617X
Tsitsiklis JN (1995) Efficient algorithms for globally optimal trajectories. IEEE Transactions on Automatic Control 40(9):1528–1538. doi:10.1109/9.412624
Adalsteinsson D, Sethian JA (1995) A fast level set method for propagating interfaces. J Comput Phys 118(2):269–277. doi:10.1006/jcph.1995.1098
Carr H, Möller T, Snoeyink J (2006) Artifacts caused by simplicial subdivision. IEEE Transactions on Visualization and Computer Graphics 12(2):231–242. doi:10.1109/TVCG.2006.22
Leng J, Zhang Y, Xu G (2012) A novel geometric flow-driven approach for quality improvement of segmented tetrahedral meshes. In: Quadros WR (ed.) Proceedings of the 20th International Meshing Roundtable, pp. 347–364. Springer Berlin Heidelberg. doi:10.1007/978-3-642-24734-7_19
Desbrun M, Meyer M, Schröder P, Barr AH (1999) Implicit fairing of irregular meshes using diffusion and curvature flow. In: Proceedings of the 26th annual conference on computer graphics and interactive techniques, SIGGRAPH ’99, pp. 317–324. ACM Press/Addison-Wesley Publishing Co., New York, NY, USA. doi:10.1145/311535.311576
Persson PO (2005) Mesh generation for implicit geometries. Ph.D. thesis, Massachusetts Institute of Technology
Bern M, Plassmann P (1999) Mesh generation. In: Sack JR, Urutia J (eds.) Handbook of Computational Geometry. Elsevier Science, Amsterdam
Field DA (2000) Qualitative measures for initial meshes. Int J Numer Methods Eng 47(4):887–906. doi:10.1002/(SICI)1097-0207(20000210)47:4<887::AID-NME804>3.0.CO;2-H
Freitag LA, Jones MT, Plassmann PE (1999) The scalability of mesh improvement algorithms. In: Heath MT, Ranade A, Schreiber RS (eds.) Algorithms for parallel processing, The IMA volumes in mathematics and its applications, vol. 105, pp. 185–211. Springer New York. doi:10.1007/978-1-4612-1516-5_9
Acknowledgments
This research was supported in part by the Applied Mathematical Sciences subprogram of the Office of Energy Research, US Department of Energy, under contract number DE-AC02-05CH11231, by the Division of Mathematical Sciences of the National Science Foundation, and by an American Australian Association Sir Keith Murdoch Fellowship.
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Saye, R.I. An algorithm to mesh interconnected surfaces via the Voronoi interface. Engineering with Computers 31, 123–139 (2015). https://doi.org/10.1007/s00366-013-0335-9
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00366-013-0335-9