Keywords

1 Introduction

Mesh simplification is a very important research in many domains, such as virtual reality, computer graphics, medical simulation, and scientific visualization. It reduces the number of mesh and allows fast rendering of large-scale models, which approximate the original ones, to make the compromise between realism and rendering speed. Mesh simplification is a fundamental method for the large amount of triangle surface models.

Many impressive mesh simplification algorithms have been developed for mesh simplification. All the algorithms can approximately address the different aspects of large amount of triangles and get different objectives based on vertex merging [1], edge collapse [2], and triangle decimation [3], and the key issue of them is simplification metric [4, 5], such as distance metric [1, 6], area metric [7, 8], volume metric [9, 10], normal vector [11], and discrete curvature [12], but these metrics always a single one, not retaining the important feature information after simplification. In recent years, multi-feature metric has received increasing attention as an alternative feature-preserving metric for mesh simplification [13]. To determine the performance of simplification algorithm and the quality of simplification result is following fundamental criteria: visual quality, running time, and memory requirement. Different prior algorithms have different advantage and disadvantage in terms of the three factors. Some algorithms can simply estimate error metric by computing the distance of the vertex to the average plane, or the normal angle metric of vertex, so fast to simplify the original model in running times, but produce poor approximated models [14]; some methods pursue better quality simplification results to improve precise error control and generate good quality approximated models, but perform poorly in execution times [15]; many of the algorithms are fast and generate good quality simplification result, but need larger memory overhead [16]. According to our analysis, most of the above algorithms mainly aim to reduce the quantity of polygons,get low level of detail simplification model while maintaining the shape characteristics of the original model with fast running time.

In this paper, we present a novel approach to preserve shape feature of the model. Our algorithm combines geometric error and visual characteristic based on QSlim, which is driven by half-edge collapse. The error metrics include quadric error metrics, weighted by normal information, and the visual feature of torsion metric, weighted by shape of triangle, to retain the shape and detail characteristics. To verify the conclusion, we make comparison with the several published algorithms on visual image result and error detection; experimental results show our algorithm can effectively get high-quality simplified models and reduce error in the simplification process.

2 Multi-Feature Metric Algorithm

2.1 Geometrical Feature Metric

Quadric error metric [6] associates an error to a vertex according to its distance to a quadratic surface. Quadric error metric is an area-weighted metric, that is, the simplification algorithm based on quadric error metric easily preserves large triangles and eliminates small triangles. However, the features of the model generally require many small triangles to represent them. Therefore, if one vertex pair with some large triangles is present on a flat surface and another with some small triangles is present on the feature parts of the model, the QSlim is likely to choose the vertex pair on the feature parts to contract and preserve the vertex pair on the flat surface.

Normal field of a surface model plays fundamental role in its appearance, and it has been used for the metric of the geometric distortion in some geometry analysis and simplification processing [17]. Normal field variation truly represents the importance of a vertex. In view of this evidence in support of the strength of normal field, we use the normal field variation across one-ring neighborhood of a vertex to define its importance. So we make use of normal information to describe the features of the mesh surface:

$$ C_{\text{norm}} (v) = \frac{{\sum\nolimits_{i = 1}^{k} {(1 - {\mathbf{n}}\cdot{\mathbf{n}}_{{\mathbf{i}}} )} }}{k} $$
(1)

where \( {\mathbf{n}}_{{\mathbf{0}}} \) is the normal vector of vertex, \( v,\{ {\mathbf{n}}_{{\mathbf{1}}} ,{\mathbf{n}}_{{\mathbf{2}}} , \ldots ,{\mathbf{n}}_{{\mathbf{k}}} \} \) is the set of one-ring neighborhood of vertex \( v \), the included angle between vertex \( v \), and \( \{ {\mathbf{n}}_{{\mathbf{1}}} ,{\mathbf{n}}_{{\mathbf{2}}} , \ldots ,{\mathbf{n}}_{{\mathbf{k}}} \} \) is \( {\mathbf{n}}\cdot{\mathbf{n}}_{{\mathbf{1}}} ,{\mathbf{n}}\cdot{\mathbf{n}}_{{\mathbf{2}}} , \ldots ,{\mathbf{n}}\cdot{\mathbf{n}}_{{\mathbf{k}}} \), and they are monotonically decreasing functions for weighting the difference of two normal vectors. \( C_{\text{norm}} (v) \) is a higher value in high-curvature areas and small triangles. We use normal information weight quadric error metric for geometrical feature metric as \( CA(v) = C_{\text{norm}} (v) \cdot Q(v) \).

2.2 Visual Feature Metric

Visual feature is a very important characteristic for model [1820]. Although several algorithms, curvature metric, and normal metric can describe the visual feature of the mesh model, the curvature metrics are time-consuming for simplification process, and normal field always does not get good quality approximations because of losing volume. According to the Frenet-Serret formulas, they denote that there is some fixed relationship between curvature and torsion [21]. This illustrates that the torsion is a very important visual feature if with reasonable designing form. To retain the important shape characteristics and not destroy crucial features of original model, the torsion of the model should be considered during the simplification process. Our algorithm reforms the edge contraction based on the foregoing reasons with the torsion error metric; the shape feature cost of edge collapse is defined as follows:

$$T(v) = \frac{{\sum\limits_{{{v}_{i} \in\,{\text{planes}(v)}}} {\left\| {\mathbf{B}_{{_{i} }} - \mathbf{B}} \right\|} }}{{\sum\limits_{{{v}_{i} \, \in\,{\text{planes}(v)}}} {\left\| {v_{i} - v} \right\|} }},\;\mathbf{B}_{v} = \upsilon \sum\limits_{{{v}_{i} \,\in\, {\text{planes}(v)}}} {h_{{_{i} }} \mathbf{n}_{{_{i} }} } ,\;h_{i} = \left\{ {\begin{array}{*{20}l} {(\mathbf{n} \cdot \mathbf{n}_{i} - \varepsilon )^{2} } & {{\text{if}\;} \mathbf{n} \cdot \mathbf{n}_{i} > \varepsilon } \\ 0 & {{\text{if}\;} \mathbf{n} \cdot \mathbf{n}_{i} \le \varepsilon } \\ \end{array} } \right. $$
(2)

The torsion error metric of vertex, edge, or plane is some approximation to curvatures. In fact, for the same torsion error metric with some big and flat triangles and another with some small and high torsion triangles, the simplification algorithm should likely choose the vertex pair of small and flat triangles to contract and to preserve the vertex pair on the large and high torsion one.

One common measure of surface area is edge length, for example, the area of one triangle is \( a = \sqrt {s(s - l_{1} )(s - l_{2} )(s - l_{3} )} \), and \( s = {1 \mathord{\left/ {\vphantom {1 2}} \right. \kern-0pt} 2}(l_{1} + l_{2} + l_{3} ) \). However, this measure is very complex and takes more computing time. For geometry theory, given a fixed-length edge \( e \), the larger the area of the triangle \( e \), the better the quality is , for example, equiangular triangle is best; the obtuse triangle is poor. This method is same as with angle, e.g., equiangular triangle is best, obtuse triangle, the opposite angle of \( e \)is smaller, it is worse. To improve computing efficiency, one such approximation can be defined as length ratio in the triangles of vertex pair as follows:

$$ \varsigma_{\text{length}} = \left\{ {\begin{array}{*{20}l} {\frac{{l_{i} }}{{l_{i + 1} + l_{i + 2} + l_{i + 3} + l_{i + 4} }},} & {l_{i}\, {\text{is inner edge}}} \\ {\frac{{l_{i} }}{{l_{i + 1} + l_{i + 2} }},} & {l_{i}\, {\text{is boundary edge}}} \\ \end{array} } \right. $$
(3)

\( l_{i} \) is one edge of triangles; \( \{ l_{i + 1} ,l_{i + 2} ,l_{i + 3} ,l_{i + 4} \} \) is the other edges in the triangles, which include \( l_{i} \). So, the visual feature can be obtained as \( CB(v) = \varsigma_{\text{length}} \cdot T(v) \)

3 Simplification Algorithm Summary

The paper develops an improved method for the surface simplification, combining two parts; one is geometrical feature metric that derives from quadric error metric, weighted by vertex normal information, and the other is visual feature metric that is torsion metric, weighted by edge length ratio of triangles. According to the foregoing analysis, the total error metric function is defined as \( {\text{Cost}}_{\text{total}} = CA + CB \).

The proposed algorithm refers to and amends half-edge contraction methods and QSlim algorithm. Our algorithm is summarized in the five major steps described as follows:

  1. Step 1:

    Compute the quadric error metric \( Q(v) \), normal information \( C_{\text{norm}} (v) \), torsion metric \( T(v) \), and edge length ratio \( \varsigma_{\text{length}} \)for all the initial vertices in section two.

  2. Step 2:

    Select the valid vertex-pair \( (v_{i} ,v_{j} ) \) as QSlim.

  3. Step 3:

    Calculate the total cost of the valid vertex-pair from \( {\text{Cost}}_{\text{total}} \); construct the priority queue in increasing sequences.

  4. Step 4:

    Iteratively remove the lowest-cost edge from the data sequence based on half-edge contraction, and then update all occurrences of related edges and triangles for the simplification one.

  5. Step 5:

    Repeat the previous steps until there are no candidate or the error is up to threshold.

4 Experimental Results

The experimental hardware environment is Windows XP with Core E6400, 4G memory, and NVIDIA 9600GT, and the software programming development tool is Visual C++ with DirectX. The experimental models in this work are dog, ox, hand, and raptor. Their detailed information is presented in Table 1.

Table 1 Information of the original models

In the experiments, we also compared our results with those methods by Discrete Curvature Norm (DCN) [12], Visual Feature-Preserving (VFP) [7], QSlim [6], and our algorithm.

Figure 1 shows the simplification results for the dog model using DCN, VFP, QSlim, and our algorithm. The number of triangles of the simplified model is 913 (30 % triangle optimization). The results show that the DCN degenerates the dog model because its curvature characteristics is weaker to lose the details and shape features, while the VFP, QSlim, and our algorithm get a good quality simplified result.

Fig. 1
figure 1

Simplified model of dog model with different algorithms a DCN, b VFP, c QSlim, and d our algorithm

Figure 2 shows the simplification results for the OX model using DCN, VFP, QSlim, and our algorithm. The number of triangles of the simplified model is 11,409(8 % triangle optimization). The results show that the DCM, QSlim, VFP, and our algorithm all can get a good simplification with some shape feature information because simplification ratio is small; however, QSlim and our algorithm are better than the other two methods.

Fig. 2
figure 2

Simplified model of OX model with different algorithms a DCN, b VFP, c QSlim, and d our algorithm

Besides comparison the visual simplification results, the error assessment between the original model and the simplified one, with a percentage of the number of faces in the approximation, is calculated by maximum and mean geometrical errors of Metro tools under Metro detection. In the experiments, we compare the results with those methods by VFP, QSlim, and our algorithm, in which the running time is close. These data show that there is no significant difference between our algorithm and the other algorithms in terms of the high-resolution models, with a small number of triangles simplified; however, these methods differ significantly when a large number of triangles are simplified. Figure 3 shows the experimental results. For the dog model, the proposed algorithm gets respectively, less 6–28 %, 6–36 % than Qslim, VFP in mean geometric error, and less 2–11 % than QSlim in maximum geometric error. For the OX model, the proposed algorithm gets respectively, less 19–25 %, 16–37 % than QSlim, VFP in mean geometric error, and less 6–20 % than QSlim in maximum geometric error.

Fig. 3
figure 3

Error comparison between the simplified model and the original one. a Dog model. b OX model

We can obtain from the experiments that the results in terms of maximum geometrical error are not as clear as the mean geometrical error; the development tendency and conclusions can be get from these data; our algorithm gives a better simplification quality than QSlim and VFP. The data show the proposed method can achieve a 2–72 % improvement in quality, or error reduction.

5 Conclusions

This paper proposed a novel mesh simplification algorithm with improvements to surface simplification for complex models. The algorithm combines geometrical error metric with quadric-error-metric-weighted normal information and visual feature metric with torsion-metric-weighted edge length ratio. With these metrics, our algorithm preserves the shape feature of its input mesh model in the simplification process. The experiment demonstrated that our algorithm can get efficient effects with the more error parameter for the mesh simplification.