C#, literature reading - A smooth surface interpolation to 3D triangulations based on Clough-Tocher segmentation triangular domain surface interpolation algorithm

Shaoming Wang 

Abstract

We present a general method for automatic reconstruction of accurate, concise surface models from scattered range data in R3 based on Clough–Tocher split scheme. The method can be used in a variety of applications such as reverse engineering—the automatic generation of CAD models from physical objects. An advantage of the method is its ability to model surfaces of arbitrary topological type and it is easy to implement, and it can be fit to scattered range data effectively. An algorithm is presented. Some examples are given.

Keywords

Interpolation,Clough–Tocher split,Triangulation,Geometric continuity,Reverse engineering

1. Introduction

Surface reconstruction occurs in diverse scientific and engineering domains, including medical imaging, interactive surface sketching and 3D scanning. The development of inexpensive, automatic 3D scanners opens up a vast range of applications, and also makes it essential to develop general, efficient and robust algorithm for converting range data into useful digital models. The potential areas of applications include: reverse engineering, industrial design, and 3D photography.

Reverse engineering of a 3D object is the process of constructing a computer model of the object from sensed data. The general procedure consists of scanning an object, usually with a range sensor, merging multiple views into a single registered data set, and representing the data set in a compact computer representation, such as a mesh or a set of surfaces. The final result should be an accurate model of the object that can be used in manufacturing or design modification. Reverse engineering ordinarily uses laser scanners since they can sample 3D data quickly and accurately relative to other systems. These laser scanner systems, however, yield an enormous amount of irregular and scattered digitized point data that requires intensive reconstruction processing. Reconstruction of freeform objects consists of two main stages: (1) parameterization and (2) surface fitting. Selection of an appropriate parameterization is essential for topology reconstruction as well as surface fitness.

Techniques for acquiring, registering, and fitting 3D data have been thoroughly explored in the last few years. The typical 3D reconstruction system uses range data, generally from a laser scanner or light striping system, to acquire data from a single object and then produces a 3D computer model of the object. Because the data are limited to a single object and the model is a surface model of the object as a whole, problems of scene segmentation and image understanding have been avoided.

Many techniques of surface reconstruction have been developed. For example, A-patches method approximates a manifold triangulation in R3 using smooth implicit algebraic surface patches; Subdivision methods based on a recursive subdivision process that refines the mesh into a piecewise linear approximation of a smooth surface. The rules that govern the mesh refinement are based on well known properties of B-spline curves as well as multivariate spline theory.

1.1. The Clough–Tocher interpolant

The Clough–Tocher interpolant was developed initially in the area of finite element analysis, and it is considered one of the simplest of the split-triangle interpolation techniques. The Clough–Tocher method constructs a piecewise polynomial, C1 surface that interpolates the positions and derivatives of a function above a triangulation of the plane. To do so, the Clough–Tocher method subdivides a macro-triangle T, into three mini-triangles by adding an interior extra mesh point, S, that refines the mesh, as it is shown in Fig. 1. The method assumes that for every point (x,y) in the triangulation with corresponding data values f, we also have the corresponding value of the derivatives to the underlying function (fx,fy) and the required cross-boundary derivatives ∂f/∂n at the edge midpoints.

Fig. 1. Standard Clough–Tocher split in 2D.

The Clough–Tocher interpolant will produce a cubic Bernstein–Bézier patch that meets the interpolation and continuity conditions. The interpolant has quadratic precision.

Next, we will introduce the relevant background on functional Bernstein–Bézier patches. We will present the barycentric form of Bernstein–Bézier patches, and treat the control points as if they are points in R3.

The main attraction of Bernstein–Bézier patches is that they lend themselves easily to a geometric understanding of mathematical concepts that are involved.

A triangular Bernstein–Bézier patch of degree n specified in barycentric coordinates relative to a domain triangle △D0D1D2 is given by

P(t)=∑i,j,k⩾0;i+j+k=nPijkBi,j,kn(t),

where

Bi,j,kn(t)=n!i!j!k!uivjwk

is called Bernstein polynomials of degree n (see Fig. 2). Here (u,v,w) are the barycentric coordinates of t relative to the domain triangle. The points Pijk are the control points of the patch. The x and y coordinates of these points are given by

Pijk[x,y]=iD0+jD1+kD2n,

where P[x,y] refers to the x,y coordinates of the three space point P. Thus, the only degrees of freedom are the z-coordinates of the control points.

Fig. 2. A triangular Bézier domain triangle for a patch of degree 3.

Bernstein polynomials are terms of the trinomial expansion of 1=|τ|n, thus

∑i,j,k⩾0;i+j+k=nBi,j,kn(τ)=1.

Clough–Tocher method constructs networks of patches that meet with C1 continuity. To achieve C1 continuity, we must first have C0 continuity, which is easily obtained by constructing neighboring patches to have the same boundary control points. For C1 continuity, consider Fig. 3. Two cubics meet with C1 continuity if each pair of shaded panels in this figure are coplanar.

Fig. 3. A triangular Bézier patch associated with the mesh in Fig. 2.

Farin [1] used the degrees of freedom in the Clough–Tocher method to minimize the C2 discontinuity across the macro-triangle boundaries by solving a small linear system of equations for each boundary. Kashyap [3] further analyzed the Clough–Tocher interpolant and considered several variations of the method.

In [2], Farin also gave the following interesting result.

Lemma

Cpiecewise quadratics over a Clough–Tocher triangle split are also C2, i.e.they are one global quadratic.

Theorem

The Clough–Tocher interpolant is Cat the centroid of the macro-triangle.

Since the Clough–Tocher method is a local method, it has the advantage of speed. Even very large scatter point sets can be interpolated quickly. It also tends to give a smooth interpolating surface that brings out local trends in the data set quite accurately.

2. The proposed algorithm

In this paper, an efficient 3D smooth surfacing algorithm based on the Clough–Tocher split is presented.

In summary, one has 12 data per macro-triangle. It is easily seen that interpolation to this data produces a global C1 surface if cubic polynomials are employed over each mini-triangle. We shall now turn to the description of the actual interpolant in Fig. 4. The nine given data are position and gradient at each triangle vertex, i.e.,

Da,βr,sf(ε1);r+s⩽1with α=ε2−ε1,β=ε3−ε1 

and analogous data for the remaining two vertices ε2,ε3. The computation of the nine boundary Bézier ordinates reduces to univariate cubic Hermite interpolation to each boundary edge. We have

P0[2]=f(ε1),T01[2]=13Dαf(ε1)+P0[2]

and the remaining Bézier ordinates by symmetry. The Ii1 value can be obtained by the average of Pi,Tij and Tik, where ijk∈{012,120,201}. The next ‘layer’ of ordinates Ci and Ii2 is determined if we enforce interpolation to the cross-boundary derivatives. The cross-boundary derivative, evaluated along an edge, is a univariate quadratic polynomial. The last ordinate S must be the symmetric average of three Ii2,i=0,1,2.

 

Fig. 4. C1 continuity for two patches: the shade panels must be coplanar.

In many applications, we will not be given the required cross-boundary derivatives at the edge midpoints. The most obvious method to estimate these derivatives can be computed at its two endpoints. The midpoint cross-boundary derivative is simply set to be the average of those values.

So far, the results we mentioned are only applied to 2D triangulations [5]. Next, we extend the results from 2D triangulations to 3D space triangulations as follows.

In 3D space triangulation, we need both the position P and the normal N at each vertex. Our algorithm is based on the following steps:

Step A: Getting an initial triangle mesh M in R3 that interpolates all data point.

Step B: From the triangle mesh M, we can estimate normal at smooth vertices by averaging the normals of incident triangles and to detect sharp features by looking at the dihedral angle formed by two adjacent triangles.

Step C: For each triangle △P0P1P2 with normals N0, N1 and N2 from mesh M, label the control points as shown in Fig. 5, using the Clough–Tocher construction fits three patches to the data as follows.

Fig. 5. Two triangles subdivided using Clough–Tocher split.

For ijk∈{012,120,201},

1. set  V i  two  P i ,

2. set Tij to lie in tangent plane perpendicular to Ni at Vi,

3. set Ii1 to lie in tangent plane perpendicular to Ni at Vi, or Ii1=(Vi+Tij+Tik)/3,

4. set Ci to be coplanar with TjkTkj and the corresponding C point on the other side of the VjVk boundary,

5. set Ii2 to lie in the plane spanned by CjCk, and Ii1, or Ii2=(Cj+Ck+Ii1)/3,

6. set S to (I02+I12+I22)/3.

The first three steps are needed to interpolate the positions and normals. Step 4 creates a GC1 join across the external boundaries, steps 3–6 produce C1 continuity across the interior boundaries. The only degrees of freedom in this construction are in step 4.

The standard Clough–Tocher scheme sets each Ci by placing it in the plane spanned by TjkTkj and the vector Ij1−Ij1+Ik1−Ik1, where Ij1 and Ik1 are the corresponding points on the other side of the boundary. This creates a cross-boundary tangent vector field that is linearly varying in one domain direction, and quadratically varying in the remaining directions. This choice of direction is not unique; we can choose any direction (other than the one parallel to the boundary) in which to have linear variation; we just have to ensure that the same direction is chosen for both patches.

The proposed algorithm guarantees the geometric smoothness of the surface patches.

3. Conclusions and examples

We will present an example to construct geometric smoothness of 3D space triangulations using Clough–Tocher split method as described above. The example is a model of icosahedrons that has regular 20 face polyhedron as a discretization of sphere (see Fig. 6). We estimate normals at vertices by averaging the normals of incident triangles from the icosahedron. Compare with A-patches method [6], this method is faster (see Fig. 7). Compare with subdivision method [4], this method use much less dense mesh to produce accurate result and is a local method.


References
[1]
G. Farin
A modified Clough–Tocher interpolant
Comput. Aided Geom. Des., 2 (1985), pp. 19-27

[2]
G. Farin
Triangular Bernstein–Bézier patches
Comput. Aided Geom. Des., 3 (1986), pp. 83-127

[3]
P. Kashyap
Improving Clough–Tocher interpolants
Comput. Aided Geom. Des., 13 (1996), pp. 629-651

[4]
C.T. Loop, Smooth subdivision surface based on triangles, Master Thesis, August 1987.

[5]
S. Mann, Cubic precision Clough–Tocher interpolation, Technical Report CS-98-15, 1998.

[6]
G. Xu, H. Huang, C. Bajaj
C1 modeling with A-patched from rational trivariate functions
Comput. Aided Geom. Des., 18 (2001), pp. 221-243
 

Guess you like

Origin blog.csdn.net/beijinghorn/article/details/131569952