Delaunay Triangulation Approach

In document On some interactive mesh deformations (Page 40-43)

2.4 Volume-Preserving Deformations

3.1.1 Delaunay Triangulation Approach

The first idea we studied was to perform a Delaunay Triangulation. Given the point p of the model

and the control points V = {v1, . . . , vn}, the Delaunay Triangulation Approach (DTA) firstly

projects the control points over the unit sphereSp centered on p. Then, a Delaunay Triangulation

is performed, so we get a triangular mesh projected on the surface ofSp. The reader can imagine

it as the star constellations on the celestial dome viewed from p.

This Delaunay Triangulation is the supporting structure to compute the DTA coordinates, which are completely based on the premises and development of the MVC as explained in the introduction of this section.

The DTA coordinates inherit the simplicity of the MVC. Moreover, the DTA does not need the control points to be located in a convex hull, so the user has complete freedom to locate the handles wherever he or she considers more suitable. However, the DTA triangulates these control points depending on their projection over the sphere of a particular point p. This means that the

triangulation is not constant for all the points of the model: two neighbouring points p1 and p2

can produce two different Delaunay Triangulations because of the flips on certain edges, as shown in Figure 3.4.

Figure 3.4: Example of flips appearing on adjacent Delaunay Triangulations. This example shows the projection of the control points over a sphere and their Delaunay Triangulation for different points of the model. The model is composed of a line of points and the reader can observe the evolution of the Delaunay Triangulation and how edges flip when we travel through the points of the model.

Previously, we have explained that the MVC computation totally depends on the triangulation defined over the control points. As the DTA coordinates are completely based on the MVC, they also inherit this dependency. This means that the functions of the coordinates show discontinuities

whenever a flip occurs between adjacent triangulations2. Note that this situation can be com-

pared with the technique presented in [LKCOL07]. Positive Mean Value Coordinates also present discontinuities in the vicinity of the concave parts of the cages.

1

Notice that the region the user wants to deform must be enclosed inside the convex hull of the control points. 2

Adjacent triangulations are those that correspond to two different model points p1 and p2 that are very close

The discontinuities on our functions also arise during the deformation process, resulting in artifacts and rough or unpleasant deformations of the models. Figure 3.5 shows that the DTA coordinates are not suitable to use in spatial deformation techniques.

(a) (b) (c)

Figure 3.5: Example of a deformation of the Armadillo model by means of the DTA coordinates. In the initial situation, the Armadillo is enclosed in a cubic convex hull with three control points inside it, as shown in (a). Then, (b) shows the heat map that corresponds to the red deformation handle. The area in red is the most influenced by the control point. In contrast, the area in blue remains almost constant when this control point is dragged. Finally, (c) shows a deformation caused by the translation of the selected handle.

When facing this problem, we needed to think of some solution to correct the discontinuities caused by the flips on the triangulations. The idea we considered was to apply a blending function over the coordinate functions. This blending function would be applied whenever we dealt with different adjacent triangulations in order to smooth the resulting coordinates.

B´ezier Blending

Given two adjacent triangles T1 and T2, we can detect when a flip is about to take place analysing

the angles γ and δ corresponding to the nonadjacent vertices between them (see Figure 3.6). While γ + δ≤ 180◦, the triangulation is balanced and the created triangles T10 = [a, b, c] and T20 = [a, b, d]

keep constant. However, once the sum γ + δ = 180◦ is reached, the flip takes place and the two

triangles become T100= [a, c, d] and T200 = [b, c, d].

We want to relax the discontinuities caused by flips by applying a blending function whenever a

particular triangulation approaches a flip, that is, when γ + δ = 180◦ − . The constant  allows

us to control the area of the model whose points will have coordinates affected by the blending function. The bigger the value of  is, the bigger the impact of the blending function over the coordinates will be.

Then, given a point p, we test if any pair of adjacent triangles T1 and T2 of the induced Delaunay

Triangulation is near a flip. If so, we compute two sets of DTA coordinates A0 =0

1, . . . , α02} and

A00={α00

1, . . . , α002}. We use the triangles T10 and T20 to compute the coordinates A0 and the triangles

a b c d α β γ δ

Figure 3.6: Two adjacent triangles and their angles.

interpolation between A0 and A00

A = (1− µ)A0+ µA00.

We studied the use of a cubic B´ezier curveB to compute the blending weight µ. The control points

forB are P0= (−, 1), P1= (1− , 1), P2 = (− 1, ) and P3= (, 0), so µ is given by

µ =−(1 − x)3+ 3(1− )(1 − x)2x + 3(− 1)(1 − x)x2+ x3.

Figure 3.7 shows the cubic B´ezier used.

− 

γ + δ− 180

1

0.5

µ

Figure 3.7: B´ezier curve used to blend two consecutive Delaunay Triangulations with flips between their triangles.

Although the blending function allows us to reduce and smooth the effect of flips between adjacent Delaunay Triangulations, the deformations performed by means of these DTA coordinates are still rough and present sharp features. The coordinate functions are completely continuous. However, the blending area emerges during the deformation process and results in unpleasant distortions. Thus, neither are the blended DTA coordinates suitable enough for use in spatial deformation techniques.

In document On some interactive mesh deformations (Page 40-43)