1 Introduction

Molecular surface meshing and molecular modeling are an interesting research direction used in many fields including computer graphics, mathematics, molecular biology, biophysics, and chemistry. It plays a vital role in various phenomena such as protein folding, docking, implicit-solvent modeling, structure prediction, interaction of molecules, and measuring their areas/volumes [1, 2]. However, meshes generated directly from molecular data have several defects including self-intersections, small and large angles, and redundant and irregular vertices. There are several methods to improve the mesh quality prior to its use in the downstream applications. Some of these defects such as self-intersections have been addressed in SMOPT [3]. However, SMOPT fails in maximal and minimal angle improvements. Similarly, small and large angles have been improved up to an acceptable level by a recently proposed cut-and-fill (CAF) method [1]. However, CAF fails to achieve a considerable improvement in valence optimization.

Fig. 1
figure 1

The main pipeline of the molecular surface mesh generation and surface remeshing. The red color boxes represent the protein files (PDB and PQR), the magenta color boxes are surface meshes, the brown box represents tetrahedral mesh, the green boxes are processes, and the blue boxes are examples of available tools for each particular process

Figure 1 shows the main steps in molecular surface remeshing. Protein Data Bank (PDB) files are downloadable from their online repository (https://www.rcsb.org/). PDB2PQR [4] is a tool used to convert these files from PDB format to PQR format. The next step is mesh generation, where the mesh generating tools such as TMSmesh [5] are used to generate surface mesh from a PQR file. Unfortunately, these meshes are generated in raw form, thereby containing low-quality elements including zero degree angles, large angles, and irregular vertices [1]. Such raw meshes with low-quality elements are difficult to be directly used in downstream applications such as TetGen [6] or visualization (Fig. 2).

Therefore, remeshing for quality enhancement is desired at this stage to refine the raw mesh. However, previous methods have no significant improvement in mesh quality. Figure 2 shows an example of the molecular surface mesh in the downstream applications, i.e., the electrostatic potentials calculated with AFMPB [7] mapped on the molecular surface.

Fig. 2
figure 2

Electrostatic potential on molecular surface, calculated with AFMPB [7]

Typically, a triangle with an angle smaller than \(30^{\circ }\) or obtuse angle (i.e., \(\ge 90^{\circ }\)) is called a bad triangle [8]. Similarly, it has been shown in the previous research that valence optimization can speed up the convergence. A vertex with valence (no. of adjacent edges) equal to four for a boundary vertex and valence 6 for an interior vertex is called optimal or regular vertex, while the others are non-optimal. Generally, valence 5, valence 6, and valence 7 vertices are treated as optimal valences and are found easy for surface remeshing [1, 8, 9].

In generic surface remeshing, the state-of-the-art methods have a significant improvement in the mesh quality. However, these methods from generic remeshing fail in molecular surface meshes due to additional issues of these meshes. Like generic meshes, it is challenging to preserve the area and volume as well as features and topology during molecular surface remeshing. Unlike the generic meshes, the meshes generated from molecular data have additional challenges including:

  • The existence of very small and large angles (the small angles are equal to or nearly to \(0^0\)).

  • High ratio of the defective elements such as isolated vertices, self-intersections, and redundant elements.

  • Complexity of the molecular surface meshes in their shapes and number of vertices.

In this paper, we present a simple method for valence optimization and angle improvement of molecular surface remeshing. We start with centroidal Voronoi tessellation (CVT) [10] initialization. The bad valence vertices are removed with their adjacent triangles in a careful way to create holes in regular structures. The holes are refilled with insertion of new vertices in the calculated feasible position which improves the vertices regularity and avoids the creation of small and large triangles. Then, we apply mesh segmentation to divide the mesh into random independent segments. Each segment is independently remeshed using real-time adaptive remeshing (RAR) [11]. After, the segment-wise remeshing, we remove small-angle triangles (\(\theta <30^{\circ }\)). Then, we apply a point insertion scheme that inserts a new point near each obtuse triangle to eliminate the obtuse triangle. In this manner, the ratio of obtuse triangles is significantly reduced. Finally, we apply Laplacian smooth and RAR method to the bad triangles and their neighbor triangles locally, with constraints to avoid the creation of new small triangles. We compared our results with four existing methods. Experimental results show that our method performs better than existing molecular surface remeshing methods in terms of angle improvements and valence optimization. In addition, there is no failure of the downstream applications for our output mesh. In summary, we have the following contributions in this paper.

  • We propose a novel mechanism for valence optimization of molecular surface remeshing that improves vertex regularity without losing the mesh quality.

  • A divide-and-conquer strategy is used for segment-based surface remeshing which improves the mesh quality without introducing self-intersections or other defects. It preserves the input area and volume.

  • Our method not only improves vertex regularity, but also achieves an angle bound of [\(30^{\circ }\;120^{\circ }\)], and improves other mesh quality parameters. It reduces the ratio of obtuse triangles significantly.

2 Related work

In generic surface remeshing, numerous methods have been proposed. These methods can be classified as mesh simplification-based methods [12], Delaunay insertion methods [13], advancing front-based method [14], field-based approaches [15], and local operators-based mesh optimization [11]. Recent methods have a significant improvement in minimal and maximal angles and meshing quality for graphical models. For example, Yan and Wonka [16] used additional operators with CVT to avoid short Voronoi edges and remove obtuse and small triangles (\(<30^{\circ }\)). However, their method does not work for noisy meshes.

The use of edge-based operators (edge split, edge collapse, vertex translation) [17] also has a significant achievement in meshing quality. These methods can improve the mesh quality for common graphical models, such as CAD models and human-made meshes. However, as molecular remeshing as additional challenges, these methods are often failed. The meshes generated from protein files have complex structures with many defects. Therefore, the generic meshing methods do not work to improve these meshes.

Researches reveal that small and large triangles badly affect the simulation results, and even a single bad triangle can affect the results [1, 8, 18]. To the best of our knowledge, a recent method of non-obtuse remeshing [8] in computer graphics better performs for angle improvement achieving an angle bound \([30^{\circ }\;90^{\circ }]\). However, for molecular surface remeshing, there is no significant achievement in angle improvement with consideration of their area and volume preservations, valence optimization, and features preservations. Irregular vertices are also problematic in remeshing algorithms [9, 19]. In this regard, Aghdaii et al. [9] introduced regular meshes called 567 meshes, which was recently improved with a low budget method [19], achieving comparatively higher geometric fidelity.

Molecular surfaces have different structures such as the van der Waals (VDWs) surface [20], the solvent accessible surface (SAS) [21], the solvent excluded surface (SES) [22], the minimal molecular surface [23], the molecular skin surface [24], and the Gaussian surface [25]. TMSmesh [2, 5] is an efficient tool used for generating the triangular mesh of the Gaussian surface of biomolecules. Similarly, SESs are efficiently generated using alpha-shapes [26], marching tetrahedra [27], and analytical expressions [28].

In the context of molecular surface remeshing, several methods have been proposed. For example, SMOPT [3] is a tool specially designed for molecular surface mesh refinement which eliminates all redundant elements and self-intersections from the raw mesh. However, mesh refined with SMOPT still contains small angles. Recently, Khan et al. [1] proposed a method that starts with initialization using real-time adaptive remeshing (RAR) [11] followed by aspect ratio enhancement and a cut-and-fill module to eliminate invalid regions and small triangles. These selected regions are further improved with edge splitting, edge collapsing, and vertex translation. The results show that this method [1] better performs than SMOPT and other previous methods and that this method is able to generate a good quality mesh with an angle bound of \([30^{\circ }, \; 120^{\circ }]\). However, it fails to achieve a significant improvement in vertices regularities and it has a high ratio of obtuse triangles. Valence optimization can speed up the convergence. Vertices regularity is also a quality parameter used in surface remeshing [29].

Decherchi and Rocchia [30] proposed a ray-casting method for the triangulation of complex manifold surfaces in the nano-bioscience field. They summarized various applications of molecular surfaces in implicit-solvent modeling and simulations using the boundary element method (BEM) and the finite element method (FEM). Ray-casting methods [31] can also be used for fixing facet orientations. ISO2mesh [32] is a free available MATLAB/octave-based toolbox used for mesh generation and processing. It is used to create tetrahedral meshes from surface meshes, and 3D binary and grayscale volumetric images such as segmented MRI/CT scans. However, it fails to handle self-intersecting triangle pairs and small-angle triangles.

Wang and Yu [33] proposed a mesh smoothing scheme based on surface fitting used for discrete, general-purpose mesh models. Initially, this smoothing scheme starts with the projection of each vertex onto the fitted surface. For a detailed study of molecular mesh generation and molecular visualization, please refer to the recent survey paper [34]. The curvature is used to label all the vertices into four categories. Finally, post-processing modules are used to improve mesh quality. The experimental results reveal that this method [33] can handle different types of meshes, including molecular meshes, imaging data, and industrial models with mesh quality improvement and removal of small angles and short edges. However, there is no specific limit for small or large angles that this method can achieve.

Fig. 3
figure 3

Results from the state-of-the-art methods in molecular surface remeshing. Blue color indicates triangles with angle(s) smaller than 30\(^{\circ }\). From left to right, the input mesh (i.e., the mesh generated by TMSmesh 2.0 [5]), ISO2mesh [32], the Taubin method [35], CVT [10], the SMOPT method [3], and CAF method [1]. (PDB ID/ Molecular name NaR1R4)

Similarly, Cheng and Shi [36] used the restricted union of balls to improve the quality of molecular surface meshes. The method is able to improve the quality of large molecular meshes; however, it has a comparatively lower efficiency than other alternative methods. Similarly, Quan and Stamm used the advancing front approach and proposed a patch-wise molecular surface remeshing method [37] which is based on another previous method [38]. In addition to quality improvement and handling self-intersections, their method [37] fills the holes in molecular surface meshes. However, it fails in complex molecular surfaces.

In summary, there is a significant work on angle improvement and obtuse triangle removal in generic graphical models. However, there is no such algorithm for molecular surface remeshing. To the best of our knowledge, CAF method is the latest method that is specifically focused on angle improvement (see Fig. 3). However, CAF also has a high ratio of obtuse triangles. Furthermore, it has no significant improvement in vertices regularity.

3 Our method

The main steps are given in Algorithm 1. Our method starts with CVT [10] initialization followed by valence optimization. Then, we segment the mesh into random patches and apply RAR [11] method to each patch independently. After this, we eliminate small angles (\(\theta < 30^{\circ }\)). Then, we use a point insertion strategy to minimize the number of obtuse angles. Finally, the segmentation is merged back to a single mesh and local refinements are applied using RAR and Laplacian method. The submodules are described in more detail as follows.

figure g

3.1 Initialization

The mesh generated from the PQR file is typically found with different issues including zero degree angles, redundant vertices, and self-intersection, which makes the failure of different remeshing operators. Therefore, we apply CVT [10] as initialization (42 iterations as a default value). We select CVT for initialization since it provides a smooth distribution of the vertices in an efficient manner avoiding the major defects. Various methods including [1, 39,40,41] have used CVT either for initializations or to improve it.

3.2 Valence optimization

The valence optimization method is presented in Algorithm 2. For valence optimization, first, we apply two operators including edge flip and edge collapse operators (Fig. 4) with condition that it does not create an angle smaller than \(30^{\circ }\).

Fig. 4
figure 4

Valence optimization with edge flip and collapse

figure h
Fig. 5
figure 5

Vertices removal and filling strategy. From left to right: holes with 5, 6, and 7 boundary vertices

In addition, we apply a vertex removal and refilling strategy for further valence optimization. We remove all vertices having non-optimal vertices (i.e., not v567). The holes created with vertices removal are filled in a careful manner to improve the regularity of the vertices (see Fig. 5). The vertices are removed in two phases (see Fig. 6). In the first phase, we remove the bad valence vertices with their adjacent edges. In the second phase, we remove vertices directly connected to the holes created in phase 1 and satisfying two conditions. (1) Vertex is a bad valence vertex (not V567). (2) The total of area triangles removed (in both phases) is lesser than \(9\times {\overline{A}}\), where \({\overline{A}}\) is the average area of a triangle. These holes are filled carefully as shown in Fig. 5. For the holes with five or six boundary vertices, we insert one vertex, whereas for holes with seven or more boundary vertices, we insert two vertices. In case of the two vertices insertion, if the valence of the vertices at the hole boundary is not optimal, it is optimized with edge collapse and edge flip operators.

Fig. 6
figure 6

Two phase vertices removal. First, bad valence vertices (not V567) are removed, and then, bad vertices directly connected to holes are removed. Making a hole with 5 (left) and 6 (right) boundary vertices

Fig. 7
figure 7

Hole filling with angle improvement

The new points are inserted carefully to maintain the angle quality, i.e., to avoid the creation of small or large angles. In this regard, for a single point insertion (i.e., v5 and v6 vertices) we draw circles/sphere around each boundary edge of the hole. The region outside all these circles/spheres is called feasible region for vertex insertion. Figure 7 shows a v5 vertex insertion in a calculated feasible region (the green color). Vertex insertion at this feasible position improves the regularity as well as the angles. For two vertices insertions, we also try to follow the same rules with an additional constraint that the edge between the two vertices must long enough that the opposite angles on both sides are \(30^{\circ }\) or above. In case, if these conditions are not satisfied, we filled the holes and apply the RAR method to the newly filled regions for angle improvements.

3.3 Mesh segmentation

The molecular meshes are typically generated with high complexity, where the common operations sometime either fail or create new issues such as self-intersections. Similarly, deformation and shrinkage are another issue which causes decreasing the area/volume of the input model (see results of the ISO2mesh [32] in Fig. 3). To solve these issues, we follow a divide-and-conquer approach [42] of segment-based surface remeshing. We divide the mesh into random patches and apply the remeshing operations (RAR method [11]) to each patch independently. The lines drawn for segmentations are locked during this patch-wise remeshing. We used RAR method [11] for the segment-based remeshing because this method is optimal for local modification. It is a simple method with easy implementation. More importantly, it is computationally efficient. RAR uses an adaptive module L(x) which calculates edge length L. Edges having a length longer \(\frac{4}{3} L \) are split, whereas edges shorter than \(\frac{4}{5} L\) are collapsed.

Fig. 8
figure 8

Mesh segmentation for patch-wise remeshing. The red lines are locked, and each segment is independently remeshed

Figure 8 shows the mesh segmentation used in our method. Segment-based surface remeshing on one side addresses the issue of mesh complexity by dividing the input mesh into segments. It preserves the area and volume of the input model, by locking the segmentation boundaries and thereby avoiding the possible deformation and shrinkage during surface remeshing. Furthermore, it helps in features and topology preservations. After remeshing each segment with RAR method, and angle improvements, the segmentation boundaries are unlocked and the mesh is further refined with local smoothing (Sect. 3.6).

3.4 Small angle improvement

Our method eliminates all angles smaller than \(30^{\circ }\). For small angle removal, we used edge-based operators including edge collapse, edge flip, and vertex translation. Initially, short edges having an opposite angle smaller than \(20^{\circ }\) are collapsed. Then, we locally apply the Laplace smoothing to the vertices having small angles (\(<30^{\circ }\)). Finally, we delete all vertices with small angles and refill the holes by directly connecting the boundary vertices of the holes. Then, we apply RAR and Laplace smooth to newly filled holes. Similarly, we apply vertex translation to each vertex of each small triangle. For vertex translation, we calculate the new position via Laplace operator. In case, if it improves the small angle, the translation is applied, otherwise the new position is calculated near the old position of the vertex. The translation is only applied if it improves the small angle and does not introduce a new small angle. This process is repeated until all small angles \((<30^{\circ })\) are removed.

Fig. 9
figure 9

Vertex translation

3.5 Maximal angle improvement

One of our research aims is to improve the maximal angle and minimize the ratio of obtuse triangles. The angles have been generally improved via RAR (Sect. 3.3) and further refined via small angle improvement (Sect. 3.4). With small angle improvement, the maximal angle is also improved, and all the triangles with angle \(\ge 120^{\circ }\) are removed. To further improve the maximal angle, we label the angles greater than the maximal angle threshold as bad angles. Similarly, the triangles with a bad angle are labeled as bad triangles. Then, we apply special operators (vertex translation and point insertion) to each bad triangle. The maximal angle threshold is changed dynamically. First, we set the maximal angle threshold as \(110^{\circ }\) and translate one vertex (i.e., the central vertex of the bad angle) of each bad triangle randomly around its old position to reach a feasible position where the triangle has no angle \(\ge 110^{\circ }\). The same process is repeated for maximal angle threshold of \(100^{\circ }\) and \(90^{\circ }\), respectively. Figure 9 shows the vertex translation, where the circle indicates the feasible region for vertex translation and red triangle is the bad triangle. For each bad triangle, the vertex is translated if it improves the maximal angles and does not introduce a small angle (\(<30^{\circ }\)), otherwise the translation is skipped. For each of these thresholds, the process is iterated 20 times.

Fig. 10
figure 10

Making a hole (to be refilled) for obtuse triangle (red color) removal

In addition to vertex translation, we also use hole-filling strategy in pentagonal structures to minimize the ratio of obtuse triangles. Inspired by a recent 2D non-obtuse remeshing method [40], we design pentagonal structures around each obtuse triangle [see Fig. 10 (left)]. The pentagon contains three triangles including an obtuse triangle, its adjacent triangle on the longest edge, and the next adjacent on the longest edge. The two inside edges of the pentagonal structure are removed, which makes a hole [see Fig. 10 (right)]. Like hole filling for valence optimization (see Fig. 7), the hole is filled with a new vertex insertion in a calculated feasible region. We draw circles/spheres around each boundary edge of the pentagon and calculate the feasible region where a new vertex is inserted. Figure 11 shows an example of pentagonal structure design and point insertions for obtuse removal. Unlike 2D meshing [40], we use surface normal to ensure the three triangles are on the same plane. Our method easily eliminates all angles greater than or equal to \(120^{\circ }\) and also significantly reduces the ratio of obtuse triangles. However, due to the complexity of molecular meshes and several other challenges, we are unable to eliminate all obtuse triangles. For example, if the obtuse triangle has no adjacent triangle on the same plane to make a pentagonal structure for point insertion. Similarly, if the pentagonal structure is not regular enough, the feasible region (see the green region in Fig.7) for new vertex insertion might be empty.

Fig. 11
figure 11

Pentagonal structures and obtuse triangle removal. Top: an example from a 2D non-obtuse meshing method [40]. Bottom: an example with a molecular surface mesh. Bottom left: before point insertion. Bottom right: after point insertion

Fig. 12
figure 12

Valence optimization results. The red color represents irregular vertices (i.e., not V567). From left to right: Top (1bl8): Input (V567: \(75.84\%\)), SMOPT (V567: \(76.19\%\)) [3], CAF (V567: \(79.27\%\)) [1], RAR (V567: \(72.88\%\)) [11], CVT (V567: \(99.57\%\)) [10], and Our (V567: \(99.81\%\)). Bottom (NaR1R4): Input (\(63.51\%\)), SMOPT (\(64.96\%\)), CAF (\(83.95\%\)), RAR (\(76.52\%\)), CVT (\(99.92\%\)), and Our (\(99.96\%\))

3.6 Local smoothing

We flag the obtuse angles and small angles (if any) and apply local smooth. The local smooth is applied to the obtuse triangle and the triangle directly adjacent to it. The vertices are translated with a Laplace operator if it improves the maximal/minimal angles and does not create small angles. We also apply the RAR with the same constraints of small angles.

4 Experiments and results

We implemented our algorithm using Graphite [43]. We performed the experiments using Intel Core i7 3.60 GHz with 32 GB RAM on a 64-bit Windows 10 operating system. We compared our results with relevant methods including SMOPT [3], CAF [1], RAR [11], and CVT [10].

4.1 Meshing quality parameters

For results analysis, we used different statistical parameters to measure the mesh quality. These parameters include the minimal and average quality of triangle(s) denoted by \(Q_\mathrm{min}\) and \(Q_\mathrm{avg.}\), respectively. The quality of a triangle t is calculated as: \(Q(t) = \frac{6}{ \sqrt{3}}\frac{A_t}{{p_th_t}}\), where \(A_t\) is the triangle area, \(p_t\) is half-perimeter, and \(h_t\) is length of the longest edge of triangle [44]. The percentage ratio of the regular vertices (vertices with valence 5, 6 or 7) is also calculated which is denoted by V567.

Similarly, minimal angles (\({\theta }_\mathrm{min}\)), the average value of minimal angles \(\overline{{\theta }}_\mathrm{min}\), maximal angle (\({\theta }_\mathrm{max}\)), and the aspect ratio (AR) of triangles (maximum and average) are noted. AR represents the ration of the circum-radius to the twice of the in-radius of a triangle. It is calculated as:

$$\begin{aligned} \mathrm{AR}= \dfrac{abc}{8(S-a)(S-b)(S-c)}; \end{aligned}$$

where a, b, and c are the lengths of three sides of a triangle and \(S=\dfrac{a+b+c}{2}\). An equilateral triangle has AR equal to 1. A high AR suggests low triangle quality. The smaller value indicates good quality unless AR = 1 [42].

In addition, the percentage ratios of the obtuse triangles (\(\ge {90}^{\circ }\)) and the triangles with small angle (\(< {30}^{\circ }\)) are also calculated. Furthermore, the number of atoms for each molecule, the area, volume, genus, self-intersections, and applicability in the downstream application (TetGen and AFMPB) are also recorded. In summary, our results are in three main categories including vertices regularity (valence optimization), mesh quality (Q(t), \({\theta }_\mathrm{min}\), \({\theta }_\mathrm{max}\), etc.), and applicability in the downstream applications.

4.2 Valence optimization results

The state-of-the-art methods often fail for molecular surface remeshing. To the best of our knowledge, a recent method called CAF [1] gives comparative good results achieving an output mesh with an angle bound of \([30^{\circ }\;120^{\circ }]\). However, this method has no significant improvement in valence optimization. Furthermore, the ratio of obtuse angles is also high. Our method attempts to handle these two issues with consideration of area and volume preservation and avoiding self-intersections. Figure 12 shows the valence optimization results where the bad valence vertices are highlighted in red. The results show that our method can achieve better results than CAF [1] with a considerable improvement in valence optimization. Similarly, Fig. 13 shows a chart of comparison of our method with existing methods in terms of the regular vertices (V567). The ratio of regular vertices is found higher than CVT. The quantitative results are shown in Table 1.

Fig. 13
figure 13

The \(\%\) value of regular vertices (V567), and comparison with the state-of-the-art methods using different molecular surface meshes

4.3 Mesh quality results

From the state-of-the-art, we found that some methods have improvements in angle quality, while others have significant improvements in vertex regularity. Some methods fail to remove self-intersections. Our method attempts to give an optimal output mesh having a significant improvement in all these parameters. Table 1 shows the quantitative results of our method and few existing methods including SMOPT, CAF, RAR, and CVT. Figure 14 shows the visual results in the form of different molecular meshes. The obtuse triangles are highlighted in red color. Our method not only maintains the angle bound of \([30^{\circ }\; 120^{\circ }]\) like CAF [1] but also has a significant improvement in obtuse angle removal and provides higher regularity than CVT.

Fig. 14
figure 14

Surface remeshing results. The red color represents obtuse triangles. From top to bottom, the protein ID or molecular names are: 1bl8, NaR1R4, Connexin, and AChE

Table 1 Comparative surface remeshing results. Our method shows a significant improvement in the mesh quality. The angles are measured in degree. The model names are the PDB IDs/molecular names
Table 2 Results concerned with area (unit: A\(^2\)) and volume (unit: A\(^3\)) preservation and applicability in the downstream applications (AFMPB (unit: kcal/mol) and TetGen). The model names are the PDB IDs/molecular names

4.4 Applicability in the downstream applications

Table 2 shows results concerned with area and volume preservation during remeshing, and the success/failure of the downstream applications on the output meshes. AFMPB (solvation energy calculation) and TetGen (volumetric meshing) are used as downstream applications. Furthermore, we noted the Genus and counted the number of self-intersecting triangles. We found our method has no self-intersection and always succeeds in the downstream applications. Furthermore, it has minor changes in the area and volume of the input mesh. However, RAR method preserves the input genus better than our method.

4.5 Discussion

The literature review reveals that molecular surface remeshing is an active research area with special challenges. For general graphical models, there are very good methods to improve mesh quality. However, these methods often fail for molecular surface remeshing. There are a number of methods specifically used for molecular surface remeshing. However, the molecular surface meshing has no significant improvements. For example, SMOPT is a recent molecular surface remeshing method that can remove all intersecting elements; however, it fails to remove small and large angles. Similarly, CAF is another recent method for molecular surface remeshing that improves the minimal and maximal angles; however, the valence optimization is not satisfactory.

The results reveal that our method improves the angles to an angle bound of [\(30^{\circ }\;120^{\circ }\)]. The ratio of the obtuse triangles is also significantly reduced. Furthermore, our method outperforms in terms of vertex regularities than existing methods including CVT. There was no defect found that causes the failure in the downstream applications.

Our method improves mesh quality in an optimal way and provides better mesh quality than CAF and other molecular surface remeshing methods. Furthermore, it gives a higher valence regularity than CVT and removes all defects that may cause the failure of the downstream applications. Similarly, the area and volume preservations are also significant. However, unlike RAR, the input genus is not preserved with our method. Furthermore, there are two main limitations of our current work. First, our method significantly reduces the number of obtuse triangles; however, it is unable to remove all obtuse triangles. Second, our method is strongly dependent on the previous methods including CVT (for initialization) and RAR.

5 Conclusion

We proposed a novel method for valence optimization and angle improvement of the molecular surface remeshing. Our method searches for bad valence vertices and removes it with its neighbor vertices making holes in the mesh. The holes are filled based on the boundary vertices of each hole. In addition, we segment the mesh into random patches and improve the minimal angle and maximal angles in a divide-and-conquer fashion. To minimize the ratio of the obtuse triangles, we extended a 2D non-obtuse meshing algorithm [40]. We found our method with better performance in terms of mesh quality, vertices regularity, area/volume preservation as well as applicable for the downstream applications.

In the future, we are planning for non-obtuse molecular surface remeshing to remove all obtuse triangles. We are also planning to develop a mesh extraction algorithm that extracts surface mesh from PQR files without any major issues.