<figure><img src="image_1.png" /></figure>

HAL
open science

# Feature Based Hole Filling Algorithm on Triangular Mesh

Bin Xu, Zhongke Li, Ying Tan

<figure><img src="image_2.png" /></figure>

► To cite this version:

Bin Xu, Zhongke Li, Ying Tan. Feature Based Hole Filling Algorithm on Triangular Mesh. 7th International Conference on Computer and Computing Technologies in Agriculture (CCTA), Sep 2013, Beijing, China. pp.90-101, 10.1007/978-3-642-54344-9_11. hal-01220900

HAL Id: hal-01220900

https://inria.hal.science/hal-01220900

Submitted on 27 Oct 2015

HAL is a multi-disciplinary open access
archive for the deposit and dissemination of sci-
entific research documents, whether they are pub-
lished or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.

L'archive ouverte pluridisciplinaire HAL, est
destinée au dépôt et à la diffusion de documents
scientifiques de niveau recherche, publiés ou non,
émanant des établissements d'enseignement et de
recherche français ou étrangers, des laboratoires
publics ou privés.

<figure><img src="image_3.png" /></figure>

Distributed under a Creative Commons Attribution 4.0 International License
# Feature Based Hole Filling Algorithm on
Triangular Mesh

Bin xu¹, Zhongke li², Ying³ tan

1.Teaching and Research Section of computer, The Second Artillery Engineering University, Xi'an, 710025, China Email:xubinliuxia@sina.com

**Abstract:** Aiming at the problem of triangular mesh hole repairing, a new geometric feature based hole filling algorithm was presented. The holes boundary were extracted and pretreated, and the advancing front mesh technique is used to cover the hole with newly created triangles; The Eucliden-coordinate and laplacian of mesh points near the hole boundary were chosen as training sample for support vector machines and deduced laplacian of filling points; calculated coordinate of filling point throw possession equations based on deduced laplacian of filling points to file the hole precisely. Examples proved that this algorithm furbished geometric details to missing area of triangular mesh surface very good.

**Keywords:** Triangular mesh model; hole repairing; Laplacian; least-squares support vector machines; possession equation

## 1 Introduction

Polygonal representations of 3D objects, and particular triangular meshes, have become prevalent in numerous application domains. As 3D optical scanners become widespread, triangle meshes can be easier created and widely applied in the fields of CAD and reverse engineering. Even with high-fidelity scanners, the data obtained is often incomplete. The existence of holes makes it difficult for many operations based on meshes, such as model rebuilding, rapid prototyping and finite element analysis. Therefore, certain repairs must be done before taking incomplete mesh models into actual applications, and hole-filling is the most important one among them. In many computer-aided engineering applications, detailed geometric features are very important, so how to make patched surface to match the missing geometry well is an core problem. Surround this center various mesh hole-filling approaches have been proposed in recent years.

Davis [1] apply a volumetric diffusion process to extend a signed distance function through this volumetric representation until its zero set bridges whatever holes may be present. Guo[2] employed space carving and iso-surface extraction to fill holes. Ju [3] constructed an inside or outside volume using an octree grid and re-constructed the surface by contouring. Joshua and Szymon [4] used a min-cut algorithm to split space
into inside and outside portions, and patched the holes simultaneously in a globally
sensitive manner. Holes with regular boundary over a relatively planar region can be
easily patched via planar triangulation, which has been described in detail by a
number of textbooks and papers [5, 6, 7]. However, filling a complex hole over an
irregular region is much more difficult. To solve this problem, Carr [8] used radial
basis function to construct an implicit surface to cover the hole. This method works
well for convex surfaces and can handle irregular holes. But difficulties arise when
the underlying surface is too complex to be described by a single-value function.
Liepa [9] presented an umbrella operator to fair the triangulation over the hole to
estimate the underlying geometry. However, the $O(n^3)$ performance of the
triangulation method limits this method from being used widely. Jun [10] proposed a
hole-filling method based on a piecewise scheme. His method divides a complex hole
into several simple holes and all sub-holes are sequentially filled with planar
triangulation; sub-division and refinement are then employed to smooth the new
triangles. Chen [11] proposed a hole-filling method which can fill the hole and
recover its sharp feature involved in the hole area. With this method, holes are filled
using a radial basis function; a feature enhancement process based on Bayesian
classification [12] and sharpness dependent filter [13] is then applied if there exists
any sharp feature on the hole boundary. Some hole-filling algorithms for parametric
surfaces have been presented [14, 15, 16]. Since the boundaries of the holes handled
are usually made up of a B-spline curve, conserving continuity is more important for
these holefilling algorithms. Ideally, hole-filling algorithm should possess the
following properties: (1) able to cover an arbitrary hole for any model
(robustness), (2) capable of filling large holes in a reasonable amount of time
(efficiency), (3) enable the patched surface to match the missing geometry well
(precision). Unfortunately, due to the complexity and diversity of the holes, no
existing hole-filling methods satisfy all the above desirable properties. In this thesis,
we present a novel hole-filling algorithm for mesh models. The advancing front mesh
technique is employed first to generate a new triangular mesh to cover the existing
hole. Then we utilize the Poisson equation to optimize the new mesh. The algorithm
is intended to be simple, fast and robust. The main advantage of algorithm in this
thesis is can preserve geometric features to certain extent. Moreover, the hole-filling
mesh models are of excellent quality for engineering.

## 2 Main Mathematical Tool

There is three important mathematical tools in this thesis, one is least-squares support vector machines, another is laplacian on triangular mesh surface and the last one is discrete position equation. As mentioned above, keeping geometric features is very important to hole filling algorithm in many applications. Therefore, how to enable the patched surface to match the missing geometry well (precision) is core problem in this thesis.
## 2.1 Laplacian on triangular mesh surface

Laplacian is the most popular mathmatic tool to describe geomatic features on triangular mesh surface. A local film of one vertex on triangular mesh model surface comprised by vertex $V_i$ and vertexs on one edge. Fig1 is a local film of vertex $V_i$.

<figure><img src="image_4.png" /><figcaption>Fig.1: Local film of $V_i$</figcaption></figure>

Eq (1) is Laplacian of vertex $V_i$, $w_{ij}$ is weight coefficient. Eq (2) and Eq (3) is calculating formulas for weight coefficient.

$$ \delta_i = \sum_{v_j \in N(i)} w_{ij}(v_j - v_i) \qquad (1) $$

$$ w_{ij} = \frac{\omega_{ij}}{\sum_{v_j \in N(i)} \omega_{ij}} \qquad (2) $$

$$ \omega_{ij} = \cot \alpha_{ij} + \cot \beta_{ij} \qquad (3) $$

$\delta_i$ is cotangent laplacian of $V_i$ calculating by Eq (1)、Eq (2) and Eq (3).

$$ \bar{k} \cdot n i = \delta_{ci} = \frac{1}{4A(v_i)} \sum_{v_j \in N(i)} (\cot \alpha_{ij} + \cot \beta_{ij})(v_i - v_j) \qquad (4) $$

As Eq (4), cotangent laplacian linear approximate mean curvature in value and approximate principal curvature in direction, therefore cotangent laplacian is perfect mathmatic tools to describe geometrical details of triangular mesh. $A(v_i)$ in Eq (4) is Voronoi graph (Shaded area in Fig1).

$$ L = \begin{bmatrix} L_{11} & \cdots & L_{1n} \\ \vdots & L_{ij} & \vdots \\ L_{n1} & \cdots & L_{nn} \end{bmatrix} \qquad (5) $$

$$ L_{ij} = \begin{cases} -1 & i = j \\ w_{ij} & v_j \in N(i) \\ 0 & \text{otherwise} \end{cases} \qquad (6) $$

$$ \Delta_d = LV_d = [\delta_{1d}, \delta_{2d}, \delta_{3d}, \cdots, \delta_{nd}]^T, \quad d \in \{x, y, z\} \qquad (7) $$
$$V_d = [v_{d1}, v_{d2}, v_{d3}, \dots, v_{dn}]^T, \quad d \in \{x, y, z\} \qquad (8)$$

For the purpose to calculate lapacian on vertex, lapacian matrix (as Eq (5)) has been introduced in this thesis. As Eq (5), $L$ is lapacian matrix of order $n \times n$, $n$ is the number of vertexes in computational domain.

Form of $L_{ij}$ in Eq (5) such as Eq (6), and $V_d$ is component of the vertex coordinates in a coordinate axis, $\Delta_d$ is component of the lapacian in a coordinate axis.

## 2.2 least-squares support vector machines

least-squares support vector machines is introduced by Suykens first, in this method the least square linear system be used as loss function, thus outstanding advantages of this method is high speed and robustness. The application of least-squares support vector in this thesis is a typical regression problem, regression purpose is optimize function $f(x)$. The training sample set in this thesis is components of spatial coordinate around the hole area mesh vertices in the same coordinate axis.

$$S = \{(V_{id}, \delta_{id}), V_{id} \in R, \delta_{id} \in R\}_{i=1}^{l} \qquad (9)$$

As in Eq (9), $d \in \{x, y, z\}$, $l$ is the number of samples in training sample set. Based on the structural risk minimization principle, and considering the complexity and the fitting error function, the regression problem can be described as the following optimization problem (as Eq (10) and Eq (11)).

$$\delta_{id} = w^T \varphi(V_{id}) + b + e_i \qquad (10)$$

$$\min Q(w, b, e) = \frac{1}{2} \|w\|^2 + \frac{\gamma}{2} \sum_{i=1}^{l} e_i^2 \qquad (11)$$

As in Eq (11), $w$ is weighting vector, $e_i$ is slack variable, $\gamma$ is regularization parameter, deviation variable, in the purpose to solve above optimization problem, Lagrange function need to be established. (As Eq (12)).

$$L(w, b, e, a) = Q(w, b, e) - \sum_{i=1}^{l} a_i [w^T \varphi(x_i) + b + e_i - y_i] \qquad (12)$$
$$
\left\{
\begin{array}{l}
\displaystyle \frac{\partial L}{\partial w} = 0 \Rightarrow w - \sum_{i=1}^{l} a_i \phi(x_i) = 0 \\[2ex]
\displaystyle \frac{\partial L}{\partial b} = 0 \Rightarrow \sum_{i=1}^{l} a_i = 0 \\[2ex]
\displaystyle \frac{\partial L}{\partial e_i} = 0 \Rightarrow C e_i - a_i = 0 \\[2ex]
\displaystyle \frac{\partial L}{\partial a_i} = 0 \Rightarrow w^T \phi(x_i) + b + e_i - y_i = 0
\end{array}
\right.
\qquad (13)
$$

Write Eq (13) into matrix form , and expunction w and e can get Eq (12) .

$$
\begin{bmatrix} 0 & \bar{I}^T \\ \bar{I} & \Omega + \gamma^{-1}I \end{bmatrix} \begin{bmatrix} b \\ a \end{bmatrix} = \begin{bmatrix} 0 \\ y \end{bmatrix} \qquad (14)
$$

In Eq (14) $\Omega_{ij} = K(x_i, x_j)$, and Solve formula(12) to get regression function as Eq (15).

$$
f(x) = \sum_{i=1}^{l} a_i K(x, x_i) + b \qquad (15)
$$

2.3 Discrete possion equation

In our implementation, we choose the Poisson equation with Dirichlet boundary
conditions to refine the patch mesh. The Poisson equation with the Dirichlet boundary
is formulated as $\Delta f = \text{div } h$, $f |_{\partial \Omega} = f^* |_{\partial \Omega}$, where $f$ is unknown scalar
function $h$ is the guidance vector field, $\text{div } h$ is the divergence of $h$, and $f^*$ is a
known scalar function providing the boundary condition. It can be verified that the
Poisson equation is the equivalent to the minimization problem as Eq (16).

$$
\min_f \int |\nabla f - h|^2, \text{ with } \mathcal{F} |_{\partial \Omega} = f^* |_{\partial \Omega} \quad (16)
$$

The discrete Poisson equation is actually a sparse linear system Ax = b, where the
unknown vector x represents special coordinates of all vertices on the reconstructed
patch mesh, the coefficient matrix A is determined by Eq (5), and the vector b is a
known vector field obtained from the collection of divergence values at all boundary
vertices formulated by Eq (1), which is taken as the boundary condition. The
Poisson equation implies that in order to reconstruct the patch mesh we need a
guidance vector field defined on the triangles of the patch mesh.
## 3 Hole-Filling Algorithm

Algorithm in this thesis can be divided into three following parts. (1) The hole boundary pretreatment: Include a hole boundary indentification and boundary edge pre-trement. (2) Initial patch mesh generation: Include initialize the front using the boundary vertices of the hole; Calculate the angle between two adjacent boundary edges; Starting create new triangles on the plane determined by two adjacent edge until the whole hole has been patched by all newly created triangles. (3) Filling patch refinement based on Poisson equation: Include gather train sample and regression function's solving of least-squares support vector machine; re-positioned vertices of filling patch by solving poisson equation in order to make the patch mesh connect the boundary vertices smoothly and approximate the missing geometry more accurately is employed to refine the patch mesh.

### 3.1 Hole boundary pretreatment

There is two steps in this section : hole boundary indentification and boundary edge pretrement. Since a vertex-based topological structure is used in this work, all boundary vertices can be easily identified by checking the numbers of their 1-ring triangles and 1-ring edges, in this thesis octree be used in this to increase indentification speed. The concrete step of boundary indentification as follows:

Step1: Compute center of each triangle patch and contaction betwween the center and its vertices;

Step2: Generate octree based on triangle patch centers;

Step3: Searching octree, and detecting topology connection between its edges, if one edge belong to one triangle patch, the edge is boundary edge;

Step4: Distinguishing different boundary loop by vertex geometric connectivity, showing different holes.

The second step in this section is boundray edge pretrement. Because data information of hole area in not complete, shape of reconstructed triangle patch is not always good, some patch is long and narrow triangle. In propose to reduce influence of bad shape triangle patch, edge pre-treatment must do before filling the mesh hole. The concrete step as follows:

$v_i(i=1,2,\cdots,n)$ is $n$ vertices on hole boundary, $\varepsilon$ is edges on hole boundary.

Step1: Compute average length of edges on hole boundary $L_{ave}$.

Step2: Traversal all edge on hole boundary, if length of one edge $(\varepsilon_{ij}=(v_i,v_j)) L_{\varepsilon_{ij}} > k\Box L_{ave}$, compute middle point $V_{new}$ of $\varepsilon_{ij}$.

Step3: Take $V_{new}$ as new boundary point, and delete $\varepsilon_{ij}$ and triangle patch $VV_iV_j$, add edge $VV_{new}$, $V_iV_{new}$ and triangle patch $VV_{new}$, $V_{new}VV_j$, as shown in Fig2.
At last iterate step3, until boundary edge didn't change.
<figure><img src="image_5.png" /><figcaption>Fig.2:Hole boundary Pretreatment</figcaption></figure>

## 3.2 Initial patch mesh generation

In this thesis, we adopt the advancing front mesh (AFM) technique to generate an initial patch mesh over the hole. The method consists of the following six steps:

Step 1: Initialize the front using the boundary vertices of the hole.

Step 2: Calculate the angle $\theta_i$ between two adjacent boundary edges ($e_i$ and $e_{i+1}$) at each vertex $V_i$ on the front.

Step 3: Starting from the vertex $V_i$ with the smallest angle $\theta_i$, create new triangles on the plane determined by $e_i$ and $e_{i+1}$ with the three rules shown in Fig. 3.

Step 4: Compute the distance between each newly created vertex and every related boundary vertex; if the distance between them is less than the given threshold, they are merged.

Step 5: Update the front.

Step 6: Repeat Steps 2 through 5 until the whole region has been patched by all newly created triangles.

<figure><img src="image_6.png" /><figcaption>Fig.3: Rules for creating triangles:
a $0^\circ \le \theta_i \le 75^\circ$; b $75^\circ < \theta_i \le 135^\circ$; c $\theta_i > 135^\circ$</figcaption></figure>

## 3.3 Establish the training sample set

Up to the present all mesh hole filling algorithm deduce geometric characteristic of filling patch depend on geometric characteristic on initial mesh surface surrounding the hole. In this thesis we take laplacian and euclidean coordinate on vertices surrounding the hole boundary as training sample set to least-squares support vector machines.
In case of $V_e$ is vertex set on hole boundray $B$, $SV_j(j=0,1,\cdots,k)$ is $j$ layer of vertex around hole boundary, in practice there is four step in the training sample collection method.

Step1: Take vertex $V_i$ on hole boundary, search vertex in same triangle patch with $V_i$, if that vertex does not in $V_e$, put it in $SV_1$.

Step2: Traversing every vertex in arrays $V_e$, repeat step1, than gathered vertices on the first layer from hole boundary and put these vertices in $SV_1$.

Step3: To vertices in $SV_j(j=1,2,\cdots,k-1)$ search vertex in same triangle patch with them, then put vertices not in $SV_j$ and $SV_{j-1}$ into $SV_{j+1}$.

Step4: Iterate step3, until the setted up layer number of $SV_j(j=0,1,\cdots,k)$ attained. Under this circumstances all vertices and its lapacian consist training samples set, the set of sample points as Fig4.

<figure><img src="image_7.png" /><figcaption>Fig.4: Training sample set for least-squares support vector machines</figcaption></figure>

## 3.4 Filling patch refinement based on Poisson equation

According to method mentioned in section 2.2, Put training sample set in least-squares support vector machines, get three regression function: $f_x(x), f_y(x), f_z(x)$. By three regression function we can get new laplacian field that the poisson equation requires. Once a discrete laplacian field is given, we consider the new laplacian field as the laplacian field in the Poisson equation, a piecewise continuous scalar function, a connected mesh, can be reconstructed, which computes euclidean coordinate of vertices on filling patch in the least squares sense.

In this thesis, process of computing new coordinates of vertices on filling patch is solution of $n \times n$ linear equations as (18).

$$V'_{d} = [v'_{d1}, v'_{d2}, v'_{d3}, \cdots, v'_{dn}]^T, \quad d \in \{x, y, z\} \qquad (17)$$

$$L_{Vn} V'_{nd} = \Delta'_{dn} \qquad (18)$$

$$\Delta'_{dn} = L_{Vn} V_d = [f_d(v'_1 d), f_d(v'_2 d), \cdots, f_d(v'_n d)]^T, \quad d \in \{x, y, z\} \qquad (19)$$

$L_{Vn}$ in (18) is contangent laplacian matrix established by method mentioned in section 2.1 of filling patch, $\Delta'_{dn}$ in (19) is one component of laplacian of vertices on reconstructed filling patch. $f_d(v'_n d)$ in (19) is one regression function.
# 4 Implementation and Analysis

The proposed hole-filling algorithm has been implemented with VisualC++2010 and OpenGL. All experimental results in this paper were obtained on a 2.0 GHz Pentium IV personal computer with 1024MB memory. Many examples have been used to test the robustness, efficiency and accuracy of the method.

Figure5a shows head model, there are a large number of geometric details on this mesh model. Figure5b shows head model with hole in the part of hair. In this section the hole-filling result on head model by direct filling algorithm, algorithm in reference[17]and algorithm in this thesis. The reason of taking algorithm in reference[17]compare to algorithm in this thesis is the algorithm in reference[17]is based on solution of position equation same to algorithm in this thesis, the difference between them is least-squares support vector machine has been used in algorithm in this thesis to estimate geometric details of filling patch, so the comparison of two algorithms show the advantage of algorithm in this thesis at keeping geometric style between filling patch and other part of mesh model.

Figure6 depicts filling result by direct filling algorithm, obviously very rough. Figure7 depicts filling result by filling algorithm in reference[17], as shown in figure7, filling result is very good, mesh quality of filling patch is well two, the only disfigurement is filling patch and other part of model is not coincident in geometric style at all. Figure8 depicts filling result by algorithm in this thesis, from the picture we can see that mesh quality is as good as in Figure7, and keeping geometric style between filling patch and other part of mesh very well.

Table 1 is error evaluation for algorithm in reference[17]and in thesis. Table 2 is running time of two algorithms states above.

<figure><img src="image_8.png" /><figcaption>Fig.5: Preliminary head model and head model with hole</figcaption></figure>
<figure><img src="image_9.png" /><figcaption>Fig.6: Filling result by direct filling algorithm</figcaption></figure>

<figure><img src="image_10.png" /><figcaption>Fig.7: Filling result by filling algorithm in reference 17</figcaption></figure>

<figure><img src="image_11.png" /><figcaption>Fig.8: Filling result by filling algorithm in this thesis</figcaption></figure>

<figure><img src="image_12.png" /><figcaption>Fig.9: Filling result on happyvrip model by filling algorithm in this thesis</figcaption></figure>

<table><caption>Table1.error evaluation</caption><thead><tr><th>Algorithm</th><th>Vertices num on filling patch</th><th>Triangle num on filling patch</th><th>Average distance</th><th>Average error</th></tr></thead><tbody><tr><td>In reference 17</td><td>28</td><td>69</td><td>0.05 (mm)</td><td>0.0015</td></tr><tr><td>In this thesis</td><td>31</td><td>75</td><td>0.042 (mm)</td><td>0.00142</td></tr></tbody></table>

<table><caption>Table2.computing time</caption><thead><tr><th>Algorithm</th><th>Vertices num on filling patch</th><th>Triangle num on filling patch</th><th>Time of Initial patch mesh generation</th><th>Time of solving possession equation</th></tr></thead><tbody><tr><td>In reference 17</td><td>28</td><td>69</td><td>10.6ms</td><td>15.7ms</td></tr><tr><td>In this thesis</td><td>31</td><td>75</td><td>10.4ms</td><td>15.9ms</td></tr></tbody></table>

In this thesis the distances between the vertices on the patch mesh and the original analytic surface are used to evaluate the precision of our algorithm. The quotient of
the average distance and the square root of analytic surface area is considered as the error of our algorithm. From table 1 and table 2 we can see that by algorithm in this thesis we can gen higher precision while spend similar time.

Fig9 depicts filling result by algorithm in this thesis on big hole, from the picture we can see that the algorithm work very well in keeping geomatric style between filling patch and other part when the hole need to fill is compared bigger.

## 5 Conclusion

The innovation point of this thesis is taking lapacian of vertices on filling patch as output of regression fuction and reconstruction filling patch by solving possion equation. The advantage of this algorithm is use lapacian to depict geomatric details of mesh surface model, thereforce makeing filling mesh patch and original mesh surface inosculated more naturally.

Limitation of algorithm in this thesis is filling result may lose some geomatric details when the hole is too big, this limitation is existing in all popular mesh surface filling algorithms. The method dealing with this problem is taking whole geometric characteristic of mesh modle as reference while filling the mesh surface hole, this is also research area of this thesis.

## References

1. J. Davis, S.R. Marschner, M. Garr and M. Levoy, "Filling holes in complex surfaces using volumetric diffusion" In:First International Symposium on 3D Data Processing Visualization and Transmission, Padova, pp. 428-438, 2002.

2. T.-Q. Guo, J.-J. Li, J.-G. Weng and Y.-T. Zhuang, "Filling holes in complex surfaces using oriented voxel diffusion" In: 2006 International Conference on Machine Learning and Cybernetics, IEEE, Los Alamitos, pp. 4370-4375, 2006.

3. Ju, T: Robust repair of polygonal models. In: Processing of SIGGRAPH, Los Angeles, CA, USA, 8-12 August 2004 pp. 888-895. ACM Press, New York (2004).

4. Joshua, P, Szymon, R: Atomic volumes for mesh completion. In: Proceedings Eurographics Symposium on Geometry Processing, Dublin, Ireland. 29 August-2 September 2005, pp. 33-41. Blackwell Press (2005).

5. A. Brunton, S. Wuhrer, C. Shu, P. Bose and E.D. Demaine, "Filling holes in triangular meshes by curve unfolding" In:IEEE International Conference on Shape Modeling and Applications, pp. 66-72, 2009.

6. B.J. Li, X.K. Zhang P. Zhou and P. Hu, "Mesh parameterization based on one-step inverse forming," Comput. Aided Des. 42(7), pp. 633-640, 2010.

7. S. Gao, W. Zhao, H. Lin, F.Yang and X. Chen, "Feature suppression based cad mesh model simplification" Computer-Aided Design, 42(12), pp. 1178-1188, 2010.

8. Carr.J. Beatson, R., Cherrie, J.,Mitchell, T., Fright, W., McCallum, B: Reconstruction and representation of 3D objects with radial basis functions. In: Processing of SIGGRAPH, Los Angeles, CA, 12-17 August 2001, pp. 67-76. ACM Press, New York (2001).
9. Liepa, P: Filling hole in meshes. In:Proceedings Eurographics Symposium on Geometric Processing, Granada, Spain, 1–6 September 2003, pp. 200–207. Blackwell Press (2003).

10. Jun, Y.: A piecewise hole-filling algorithm in reverse engineering. Comput. Aided Des. 22(8), 263–270 (2005).

11. Chen, C.Y., Cheng, K.Y., Liao, H.Y.M.: A sharpness dependent approach to 3D polygon mesh hole filling. In: Proceedings of Eurographic, Trinity College, Dublin, Ireland, 29 August–2 September 2005, pp. 13–16. Blackwell Press (2005).

12. Chen, C.Y., Cheng, K.Y.: A sharpness dependent filter for mesh smoothing. Comput. Aided Geom. Des. 22(5), 376–391 (2005).

13. Chen, C.Y., Cheng, K.Y., Liao, H.Y.M.:Fairing of polygon meshes via Bayesian discriminate analysis. The 12th International Conference in Central Europe on Computer Graphics, Visualization and Computer Vision, Plzen-Bory, Czech Republic, pp. 175–182. UNION Agency-Science Press (2004).

14. R. Lou, J.-P. Pernot, A. Mikchevitch and P. Véron, "Merging enriched finite element triangle meshes for fast prototyping of alternate solutions in the context of industrial maintenance," *Comput. Aided Des.* 42(8), pp. 670-681, 2010.

15. T. Ju, "Fixing geometric errors on polygonal models: a survey," Journal of Computer Science and Technology, 24(1), pp. 19-29, 2009.

16. Z. Li, D.S. Meek and D.J. Walton, "Polynomial blending in a mesh hole-filling application," Computer-Aided Design, 42, pp. 340-349, 2010.

17. W. Zhao, S.M. Gao and H.W. Lin, "A robust hole-filling algorithm for triangular mesh," The Visual Computer:International Journal of Computer Graphics, 23(12), pp.987-997, 2007.